Enabling autonomous teams in large-scale agile through architectural principles
Chapter, Peer reviewed
Accepted version
Date
2018Metadata
Show full item recordCollections
- SINTEF Digital [2585]
Original version
XP '18: Proceedings of the 19th International Conference on Agile Software Development: Companion, 17. 10.1145/3234152.3234183Abstract
Teams in large-scale projects and programs need to reach agreement on many decisions with experts, managers and other stakeholders. The need for aligning the work and the process with the rest of the organization reduces team autonomy. Coordination by architecture is one strategy to handle this challenge. Consequently, we did a case study of a large-scale software program consisting of nine teams, to understand how the architecture can enable team autonomy. Initially teams had limited autonomy, because of high task dependencies with other teams and experts. By introducing an architecture based on business domains and APIs, teams got full responsibility for a set of components, and solved the alignment problem by letting other teams access the resources through an API. The new architectural strategy can be understood as structuring by business domains and APIs, instead of features that span the whole code base.