Architecture and Flow Measures for Modernization and DevOps Pipelines
CISQ is forming a Workgroup to develop international standards for a new generation of software measures, targeted at DevOps and modernization including:
- Productivity measures based on efficiency of flow through a DevOps pipeline into operations, and
- Architecture measures for preparedness to enter microservices and cloud environments
Traditional software productivity measures evaluate the amount of software produced per unit of labor effort (e.g., lines of code or function points per person-year). With automated development and delivery pipelines becoming common, the focus of productivity must shift to the amount of capability made operational in a timeboxed period compared to the effort involved. This project will borrow concepts from flow measures in lean manufacturing such as cycle time, work in progress, waiting time, and blockages, to assess software productivity from commitment to operational capability. Such measures will involve aggregation across small batches in a continuous delivery process.
Architecture measures will be defined that identify key aspects of readiness for microservices, containerization, and cloud migration. Some architectural attributes improve flow efficiency and migration readiness, such as modularity, layer integrity, scalability, and technical debt as they relate to modernizing applications. Such measures should be capable of quantification at the system level as well as being decomposed to characterize lower levels of the architectural system. Some measures should be capable of inclusion in methods for guiding modernization decisions and activities.
The objectives of this project are to:
- Characterize the automated Agile/DevOps workflow to reveal elements and effects that should be represented in productivity and efficiency measurement frameworks at the work item, project, team, system, IT, and business levels.
- Develop a measurement framework consisting of measures at multiple levels of analysis for characterizing the productivity of work and efficiency of product flows in an Agile/DevOps environment covering the period from development commitment to operational capability.
- Characterize technical challenges to modernization to reveal architectural characteristics that determine readiness for such actions as microservice refactoring, containerization, and cloud migration.
- Develop a measurement framework consisting of measures at multiple levels of analysis for quantifying architectural attributes that affect the efficiency with which software components can flow through a DevOps pipeline and the effectiveness with which applications can be migrated to the cloud.
- Validate and adjust both flow and architectural measurement frameworks and associated measures through use in an Agile/DevOps/Continuous Deployment environment.
- Specify the measurement framework and associated measures in OMG metamodels for submission to the OMG standards approval process.
- Develop guidelines for implementing the measurement framework.
This project began in January 2021. Initial project activities include:
- Scoping the project – Selecting the scope of activities to be measured and breaking the project into phases based on levels of granularity in the measures to be developed.
- Definition of concepts – Clarifying definitions of the elements in the Agile/DevOps process that will be the objects of measurement.
- Delineation of measurement framework – Construction of the initial measurement framework from which the first set of measures will be specified. The initial framework will focus on the efficiency of software flow down a DevOps pipeline and quantifying the architectural elements that affect this efficiency, as well as migration to the cloud.