In developing agile software, the attention is strongly focused on functionality that is visible to the (end) user. Attention to the longevity of software is limited even in the best of cases to improving source code based on the findings of statistical code analysis.
Conversely, maintenance and usability for the long term are strongly determined by the quality of the software’s architecture. The degree to which the architecture has been implemented in the code will have a greater impact on product quality than the quantifiable quality of the source code.
Get the article: