With the world of software and technology changing constantly, the need for fast, adaptable deliverables has emerged. For this reason, adoption of Agile software development is rapidly increasing in the world of software development and project management. The Agile methodology focuses on releasing functioning technology as fast as possible by breaking the process down into quick iterations known as sprints. Each sprint is a complete loop in a continuous process that promotes user feedback, constant team coordination, and customer input. At the end of each sprint, the team has a deliverable piece of the project to share with stakeholders. The speed at which this software is released is clearly beneficial to business practices in a world reliant on the latest technology.
The problem is that the focus on velocity and continuous delivery can lead to issues later in the project. One of the issues that Agile critics frequently bring up is an idea known as technical debt (Behutiye et al., 2017; Cunningham, 1992). Technical debt is the term used to describe the increase in future costs associated with short term design adjustments made to keep up with Agile’s continuous delivery concept. Technical debt also stems from investing inadequate time and effort in ensuring a technology is designed to integrate into high demand work system operations. It is easy to focus on meeting functional requirements and verifying functionality in routine conditions. When development teams do so, there is high risk that the technology will interfere with work system resilience during high-demand and nonroutine events, something Woods (2017) has termed “dark debt”.
To combat the technical debt problem, we developed a resilience engineering framework to introduce into the Agile methodology. This framework is called the Transform with Resilience during Upgrades to Socio-Technical Systems (TRUSTS) Framework (Neville et al., 2021). It specifies characteristics of complex work systems that enable them to respond to threats and high demands adaptively and resiliently. We posit that technical debt can be reduced during Agile software development by augmenting the Agile methodology with TRUSTS, i.e., with considerations, additions, and adjustments that help development teams attend to a technology’s alignment with the resilience requirements of work system’s real-world operations.
We are conducting an interview-based study of Agile engineering as practiced. We will use the results of our interview-based research to guide our augmentation of Agile methodology, its artifacts, and its activities. Semi-structured interviews are being conducted with Agile subject matter experts (SMEs) who have worked on at least three software development projects using Agile. The interviewees represent three categories: Agile coach or instructor, project manager, or software developer. Interviewees are asked to recount personal experiences using Agile development, what aspects of Agile were easier to practice than others, and where the limitations of Agile lie. Interview data are being translated into representations of Agile development-as-practiced. The representations are being assessed to identify leverage points in Agile-as-practiced, where work system resilience factors could be introduced into the development process.
The accumulation of technical debt, particularly debt that develops from misalignment with real-world operations, is a factor that has contributed to failed software development projects and transitions across a wide variety of industries (Behutiye et al., 2017; Cunningham, 1992). We expect our additions to Agile methodology will lead to the improved rate of successful transition of artificial intelligence, machine learning and assistive automation technologies, especially into high-consequence systems that cannot afford periods of disruption and heightened risk caused by the revelation and resolution of technology misalignments with work operations.
This presentation will benefit an INCOSE audience in multiple ways. These include:
- Describing the TRUSTS framework of factors that give work systems their ability to be responsive, adaptive, and resilient
- Contributing to the system engineering community’s work on reducing the risk of technical debt accumulation during Agile development.
- Providing an empirical view of Agile-as-practiced as opposed to the textbook definition of Agile
- Share initial ideas of how to imbed the TRUSTS framework into Agile-as-practiced to reduce technical debt associated with a disconnect between design and real-world operations
- Contributing to system engineering community efforts to improve systems thinking during software development.
This presentation also will benefit the quality of our contributions to the systems engineering community by enabling community members to provide inputs and share relevant experience and expertise.
BIOGRAPHY
Emily Barrett has a BS in Data Analytics and an MS in Cognitive Systems Engineering from The Ohio State University. Her personal research during graduate school included modeling distributed work systems to analyze decision making and coordination costs during contingency management operations. She is currently leading the work described above as well as working on projects involving resilience engineering, decision analysis, and human-machine teaming.
References
Behutiye, W. N., Rodríguez, P., Oivo, M., & Tosun, A. (2017). Analyzing the concept of technical debt in the context of agile software development: A systematic literature review. Information and Software Technology, 82, 139–158. https://doi.org/10.1016/j.infsof.2016.10.004
Cunningham W. (1992). The WyCash Portfolio Management System. OOPSLA'92 Object Oriented Programming Systems, Languages and Applications, Vancouver, B.C., Canada, October 18-22. NY: ACM, 29-30. doi: 10.1145/157710.157715.
Neville, K.J., Rosso, H., Pires, B. (2021). A systems-resilience approach to technology transition in high-consequence work systems. Proceedings of the 9th Symposium on Resilience Engineering, June 21-24, Toulouse, France
Woods, D.D. (2017). STELLA: Report from the SNAFUcatchers Workshop on Coping With Complexity. Columbus, OH: The Ohio State University. https://snafucatchers.github.io/
Approved for Public Release; Distribution Unlimited. Public Release Case Number 22-0416. ©2022 The MITRE Corporation. ALL RIGHTS RESERVED.