‘Keeping it simple’ is extremely difficult to do, partly because software is so flexible and powerful, partly because engineers often pride themselves on their cleverness and partly because the simplest and most elegant approach is often difficult to find. Complexity is the bane of many software projects; failure is the result of building an excessively complex product that supports features that most customers do not value as well as infrastructure for features that no one has requested.
As you will see from the Approach page, simplicity is at the heart of many of our tenets. We believe in Just-in-Time architecture and planning so that we’re only building enough to implement the features for the next iteration and we focus on lean design and documentation to build the simplest system that gets the job done. Whether we are building a customer feature or an internal development system, we stick to the ethos: keep it simple.