Old solution | New solution |
---|---|
Sequential waterfall style development process in software code design and testing phases | Incremental and iterative development process in software code design and testing phases |
In order to avoid surprises, proof of concept prototypes are occasionally constructed and performance tests are carried out to confirm architecture functionality already during concept development | Proof of concept prototypes are developed in separate agile research projects Feasibility studies are conducted on integrating existing SPL solutions and complex features in the release backlog |
Technical infrastructure is common nominator for projects Separate architecture support groups can be established to support project realisation, should significant issues require | Architecture support group and system inspection group are formed to carry out compulsory modification needs Project team architects are responsible for architectural modifying and designing more detailed architectural solutions for sprints Individual project teams are not allowed to modify architecture design |
Designers find it difficult to understand requirements documents as they have been prepared from business perspective | Trials with minimal functionality Feature analysis during release development Sprint preplanning sessions preparing workload estimates and pre-planned and clear features for implementation |
Designers concentrate on their tasks without a view to surroundings System product concept and architectural guidelines are frozen for designers | Architectural communication between project teams, team architects, architecture support group and system inspection group |
Designers are expected to maintain an application log, its quality is, however, not controlled | Architecture support group reviews and accepts the software architecture description document |
Development projects encounter challenges relating to costs, project division, communication, and interaction | To avoid communication problems, split development is favoured wherever possible using prioritised roadmaps. A large release backlog may be split into several projects. Each project can also be split into several sub-projects |