“Things should be made as simple as possible, but not any simpler.”
- Albert Einstein

This is very true for software development.

A powerful software architecture provides a flexible and scalable system, allowing for rapidly changing business requirements.

Unfortunately, too many software systems today lack simple and clear structures, or appropriate abstractions. And some software engineers seem to be “in love” with a software system, instead of focussing on the business that software should support. Both can lead to overly complicated systems that are hard to maintain, unnecessarily expensive and not delivering the promised business flexibility.

Instead, we stick with Albert Einstein, and see the value and the power of the right level of simplicity.

Mission: Design systems as simple as reasonable and as complex as necessary to ensure the power and flexibility that successful businesses need. Use agile, low-risk approaches to deliver high quality solutions in time and in budget.