Anticipatory development processes for reducing total ownership costs and schedules. Issue 5 (7th May 2019) - Boehm, Barry; Behnamghader, Pooyan
Abstract: Many systems and software processes overfocus on getting a project and product from an initial set of requirements to an Initial Operational Capability (IOC). Examples are most waterfall and V models. Projects following such processes may pass acceptance tests for functionality and performance, but may leave the product with serious maintainability shortfalls. Many agile processes focus on users' initial usage priorities, but often make development commitments for earlier needs that are incompatible with achieving later critical needs (eg, security, safety). Incremental development process models can do better, but often later increments may find that the earlier increments have not prepared them for ease of modification and repair. Besides increasing Total Ownership Costs (TOCs), long mean times to repair result in long downtimes, which can be critical to an organization's income and reputation. Furthermore, many of these shortfalls take the form of Technical Debt (TD), in that the later they are fixed, the more slow and expensive will be the fixes. This paper summarizes three process frameworks and tools providing more anticipatory ways to improve systems and software maintainability and life‐cycle cost‐effectiveness. The first framework is an Opportunity Tree for identifying and anticipating such ways. The second framework, Software Quality Understanding by Analysis of Abundant Data (SQUAAD), is a toolset for tracking a software project's incremental code commits, and analyzing and visualizing each commit's incremental and cumulative TD. The third framework is a Software/Systems Maintenance Readiness Framework (SMRF), that identifies needed maintenance readiness levels at development decision reviews, similar to the Technology Readiness Levels (TRLs) framework.