Part of the TechLab_Report19

Back to overview

Simple solutions and declarative programming

Simplicity matters. When designing systems, complexity should be reduced to the absolute minimum. There are essentially no tools to manage growing complexity, software systems tend to grow orders of magnitude more complex than a single human can understand, and simplifying an existing complex system takes huge amounts of focused effort.

The best way to reduce complexity is to start small and iterate quickly, composing systems from small building blocks that do one thing and do it well. This involves making intentions as explicit as possible at every stage. The approach we favour is declarative programming, focused on outcomes. We describe the goal state and let our tools work out the way to achieve it. When evaluating tools, the ability to declare intent simply and explicitly is the main design feature we look for.

Back to overview
Enjoyed our report? Sign up now to our upcoming event on May 16th - “Moving at light speed with continuous delivery”