Premium
Anticipatory development processes for reducing total ownership costs and schedules
Author(s) -
Boehm Barry,
Behnamghader Pooyan
Publication year - 2019
Publication title -
systems engineering
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.474
H-Index - 50
eISSN - 1520-6858
pISSN - 1098-1241
DOI - 10.1002/sys.21490
Subject(s) - agile software development , maintainability , waterfall model , systems development life cycle , software development , computer science , software development process , commit , scrum , process management , process (computing) , team software process , technical debt , risk analysis (engineering) , software , software engineering , engineering , business , database , programming language , operating system
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.