Simple Design

Business Agility Office

A team adopting the “simple design” practice bases its software design strategy on the following principles:

  • design is an ongoing activity, which includes refactoring and heuristics such as YAGNI
  • design quality is evaluated based on the rules of code simplicity
  • all design elements such as “design patterns”, plugin-based architectures, etc. are seen as having costs as well as benefits, and design costs must be justified;
  • design decisions should be deferred until the “last responsible moment”, so as to collect as much information as possible on the benefits of the chosen option before incurring its costs.
« Back to Glossary Index