Software development has to deal with many challenges-increasing system complexity, requests for better quality, the burden of maintenance operations, distributed production, and high staff turnover, to name just a few. Increasingly, software companies that strive to reduce their products' maintenance costs demand flexible, easy-to-maintain designs. Software architecture constitutes the cornerstone of software design, key for facing these challenges. Several years after the "software crisis" began in the mid-1970s, software architecture practice emerged as a mature (although still growing) discipline, capable of addressing the increasing complexity of new software systems.
No takes yet. Share an insight, caveat, or question.
Kruchten et al. (2009) studied this question.
Synapse has enriched 3 closely related papers on similar clinical questions. Consider them for comparative context: