Software quality has both exogenous and endogenous perspectives. The exogenous perspective is experienced by the user as she uses the software. This perception is enhanced by the functional richness and the usability of the software. Usability incorporates both the visual and performance aspects of the software. The user would quickly loose appetite for the product if it looked good but was too slow in response, take the case of financial product that provided derivative prices, slow response means loosing the window of opportunity to invest in time.The exogenous quality will increase revenue if shared by a large enough user base.
Endogenous quality perspective becomes far more important when the software is audited for due diligence or any other valid reason. Such an audit can highlight far more issues with the software than are apparent merely from its usability or functional richness. These short comings are injected into the software by an undisciplined development process, irrespective of the process being agile or otherwise.
One of the techniques advocated and implemented in the past was code walk-throughs or code inspection. This task repeated at regular intervals of the development process not only improved code quality but also created better development teams who were more likely to produce better code quality in the future. Agile processes have unwittingly reversed these gains. Shorter sprints with the added pressure to cater for continuous change has meant that code walk-throughs have taken a back seat to feature delivery, providing a false gain in exogenous perspective of quality, but potentially loosing out on endogenous quality. When the internal perspective of quality finally becomes important it is often too late and too costly to mend. This scenario can often be avoided by building more mature agile teams (aka XP) with experienced developers, where this is not done the endogenous quality problems build-up in the system. Product owners should be coerced into appreciating the need for some of these extra tasks to ensure that both perspectives of quality are delivered.