approach / Strategy



Architecture is a decision you make early on when starting work on a product. A well-thought-out architecture reduces the risk of delivering product on time, reduces risk of security issues and enables developer's to productively work on functionality.

Good architecture allows the team to "start small" while maintaining key charactertics to support future growth and scale.

Architecture should be "good enough" to support the vision, yet not overcomplicated for current stage of work.

Good architecture sets and communicates a vector for a change in the future. Provides guiderails to evolutionary develop and scale to support larger number of users and enables organization to scale delivery teams. It allows developers to set high quality that helps them quickly implement new features.

Some of the key questions to ask:

  • How easy it is to introduce a change?
  • How do we communicate architecture to new team members?