Saturday, 4 June 2016

Architecture - Questions to Consider

Consider the following high level concerns when thinking about software architecture.

  • How will the users be using the application?
  • How will the application be deployed into production and managed.
  • What were the quality attribute requirements for the application, such as security, performance, concurrency, internationalization, and configuration.
  • How can the application be designed to be flexible and maintainable over time?
  • What are the architectural trends that might impact your application now or after it has been deployed?
Consider the following questions as you create an architectural design
  • What are the foundational parts of the architecture that represent the greatest risk if you get them wrong?
  • What are the parts of the architecture that most likely to changes, or whose design you can delay until later with little impact?
  • What are the key assumptions and how will you test them?
  • What conditions may require you to refactor the design?
When testing your architecture, consider the following questions
  • What assumptions have I made in this architecture?
  • What explicit or implied requirements is this architecture meeting?
  • What are the key risks with this architectural approach?
  • What countermeasures are in place to migrate key risks?

No comments:

Post a Comment