Architecture-Centric Software Producibility Analysis
Software Engineering significantly matured in the last decades, but still many projects suffer from delays, exceed their budget, do not reach their quality goals, or even fail. We experienced that many industrial projects suffer from a misalignment of software architecture and software project plan. Other engineering disciplines like manufacturing put specific focus on aligning product design and production plan to prevent problems during production. In this thesis, we introduce the alignment of software architecture and software project plan as a new quality property of software called producibility and propose a method to analyze the producibility of a software product. The producibility analysis method semi-automatically detects critical architectural elements and project planning elements like work activities, iterations, or assigned resources that are supposed to cause delays or effort overhead during realization of a software product. In an industrial case study, we identified more than 90% of critical elements up-front. We determined based on estimates of the project team that we could have saved 29% of time in the first of two iterations.