Software Architecture Defined
This is a nice article outlining the concept of software architecture. It is not complete, but it is on the money when it comes to describing the current state of the art.
As the Johnson quote clearly points out, it’s not feasible to design (or should I say architect?) an infinitely flexible system. Therefore, it’s imperative that we recognize where flexibility is necessary to reduce the impact and cost of change. The challenge is that we don’t always know early in the project what might eventually change, so it’s impossible to create a flexible solution to something we can’t know about. This is the problem with Big Architecture Up Front (BAUF), and it’s why we must make architectural decisions temporally. It’s also why we must take great care in insulating and isolating decisions we’re unsure of, and ensuring that these initial decisions are easy to change as answers to the unknown emerge. For this, modularity is a missing component that helps minimize the impact and cost of change, and it’s why agile architecture requires modularity.
link: Eliminate Architecture : Software & Technology @kirkk.com
About this entry
You’re currently reading “Software Architecture Defined,” an entry on _mindMeld
- Published:
- 9.9.09 / 10am
- Category:
- General, Software, Software Engineering
- Tags:










View Comments
Jump to comment form | comments rss [?] | trackback uri [?]