Software development adapts itself as projects and conditions change
Rethinking Software Development as a Self-Adaptive Socio-Technical System
Software Engineering
Summary
Software development teams usually follow a set plan for who does what, but this plan can stop working well when things change. The authors suggest thinking about software development as a living system that changes both the software and how the team works as new goals, information, and risks appear. This means the people and their roles in the development can adjust alongside the software itself. They provide an initial example of how this idea could work and discuss challenges ahead.
What this means in practice
- •For software development managers: Adjust team roles and workflows dynamically as project goals and risks evolve to maintain efficiency and relevance.
- •For devops teams: Integrate adaptive configurations in development pipelines that modify responsibilities and verification steps automatically as conditions change.
A position paper. It proposes an approach and reports no results.
Authors
Javier Cámara
Abstract
Agentic AI is expanding across various software engineering activities, yet human-agent organization is typically treated as fixed, which is problematic because development configurations may become suboptimal as development context evolves. We propose viewing software development as a self-adaptive socio-technical system in which both the software project and the development configuration (participants, responsibilities, authority, information, and verification) adapt as goals, evidence, uncertainty, and risk evolve. This yields two coupled forms of adaptation: evolving the software and reconfiguring how subsequent engineering is performed. We illustrate the idea with a proof of concept, outlining challenges and future plans.