scholarly journals An architecture governance approach for Agile development by tailoring the Spotify model

AI & Society ◽  
2021 ◽  
Author(s):  
Abdallah Salameh ◽  
Julian M. Bass

AbstractThe role of software architecture in large-scale Agile development is important because several teams need to work together to release a single software product while helping to maximise teams’ autonomy. Governing and aligning Agile architecture across autonomous squads (i.e., teams), when using the Spotify model, is a challenge because the Spotify model lacks practices for addressing Agile architecture governance. To explore how software architecture can be governed and aligned by scaling the Spotify model, we conducted a longitudinal embedded case study in a multinational FinTech organisation. Then, we developed and evaluated an approach for architectural governance by conducting an embedded case study. The collected data was analysed using Thematic Analysis and informed by selected Grounded Theory techniques such as memoing, open coding, constant comparison, and sorting. Our approach for architectural governance comprises an organisational structure change and an architecture change management process. The benefits reported by the practitioners include devolving architectural decision-making to the operational level (i.e., Architecture Owners), enhancing architectural knowledge sharing among squads, minimising wasted effort in architectural refactoring, and other benefits. The practitioners in our case study realised an improved squad autonomy by the ability to govern and align architectural decisions. We provide two key contributions in this paper. First, we present the characteristics of our proposed architectural governance approach, its evaluation, benefits, and challenges. Second, we present how the novel Heterogeneous Tailoring model was enhanced to accommodate our architectural governance approach.

2012 ◽  
pp. 201-222
Author(s):  
Yujian Fu ◽  
Zhijang Dong ◽  
Xudong He

The approach aims at solving the above problems by including the analysis and verification of two different levels of software development process–design level and implementation level-and bridging the gap between software architecture analysis and verification and the software product. In the architecture design level, to make sure the design correctness and attack the large scale of complex systems, the compositional verification is used by dividing and verifying each component individually and synthesizing them based on the driving theory. Then for those properties that cannot be verified on the design level, the design model is translated to implementation and runtime verification technique is adapted to the program. This approach can highly reduce the work on the design verification and avoid the state-explosion problem using model checking. Moreover, this approach can ensure both design and implementation correctness, and can further provide a high confident final software product. This approach is based on Software Architecture Model (SAM) that was proposed by Florida International University in 1999. SAM is a formal specification and built on the pair of component-connector with two formalisms – Petri nets and temporal logic. The ACV approach places strong demands on an organization to articulate those quality attributes of primary importance. It also requires a selection of benchmark combination points with which to verify integrated properties. The purpose of the ACV is not to commend particular architectures, but to provide a method for verification and analysis of large scale software systems in architecture level. The future research works fall in two directions. In the compositional verification of SAM model, it is possible that there is circular waiting of certain data among different component and connectors. This problem was not discussed in the current work. The translation of SAM to implementation is based on the restricted Petri nets due to the undecidable issue of high level Petri nets. In the runtime analysis of implementation, extraction of the execution trace of the program is still needed to get a white box view, and further analysis of execution can provide more information of the product correctness.


2017 ◽  
Vol 22 (6) ◽  
pp. 2892-2936 ◽  
Author(s):  
Ville T. Heikkilä ◽  
Maria Paasivaara ◽  
Casper Lasssenius ◽  
Daniela Damian ◽  
Christian Engblom

2014 ◽  
Vol 998-999 ◽  
pp. 1085-1091 ◽  
Author(s):  
Ni Yun Jia ◽  
Guan Zhong Yang

Feature modeling is a main stream technology in domain requirement analysis of software product line engineering. Establishing the traceability between feature model and software architecture plays the essential role in improving software quality. Based on Formal Concept Analysis technology, we proposed a method to verify traceability between feature model and software architecture. The method analyzed the constitution of the feature, defined feature model and software architecture function expression, constructed a concept lattice and presented several mapping criteria to analysis it. It is more applicable for higher complexity model, comparing to the other model traceability method. A case study is used to demonstrate the feasibility of the method.


Author(s):  
Yongrui Xu ◽  
Peng Liang

To reuse successful experience in software architecture design, architects use architectural patterns as reusable architectural knowledge for architectural synthesis. However, it has been observed that the resulting architecture does not always conform to the initial architectural patterns employed. Architectural synthesis using architectural patterns is also recognized as a challenging task, especially for novice architects due to lack of experience. In this paper, we propose a cooperative coevolution approach to automate architectural synthesis using architectural patterns. We first analyze several common architectural patterns and the constraints when using them. We then extend existing architectural synthesis activity with patterns based on the results of this analysis. Finally, we map the extended architectural synthesis to a cooperative coevolution model, which can optimize the resulting architectural solutions and avoid the violations to the pattern constraints automatically. We evaluate the proposed approach through a case study: architecture design of a cinema booking system. The results show that the proposed approach can generate architectural solutions which are closer to the expert design.


2018 ◽  
Vol 49 (6) ◽  
pp. 64-77 ◽  
Author(s):  
Torgeir Dingsøyr ◽  
Nils Brede Moe ◽  
Eva Amdahl Seim

Software development projects have undergone remarkable changes with the arrival of agile development approaches. Although intended for small, self-managing teams, these approaches are used today for large development programs. A major challenge of such programs is coordinating many teams. This case study describes the coordination of knowledge work in a large-scale agile development program with 12 teams. The findings highlight coordination modes based on feedback, the use of a number of mechanisms, and how coordination practices change over time. The findings can improve the outcomes of large knowledge-based development programs by tailoring coordination practices to needs over time.


Author(s):  
Abdallah Salameh ◽  
Julian M. Bass

Abstract Organisations usually tailor Agile methods to fit their needs best. Spotify has developed its own Agile culture to facilitate software development for hundreds of developers across multiple cities. The Spotify model has become influential among agile proponents and hence formed the basis of methods used in other organisations. We have identified a lack of research into agile architecture using the Spotify model. To explore How can architectural governance increase the autonomy of teams when using the Spotify model?, an intervention embedded case study was conducted in a multinational FinTech organisation, using the Spotify model. New processes were introduced by developing and evaluating an approach to Agile architectural governance. This approach incorporates a structural change and a change management process. We conducted 6 semi-structured open-ended interviews and direct observations of Agile practices. The collected data was analysed using Thematic Analysis and informed by some Grounded Theory techniques. The practitioners in our study report benefits of this evaluated approach. These benefits include transforming architectural based decision into decentralised based decision-making, strengthening the autonomy of squads through aligning architectural based decisions, sharing the architectural knowledge among the squads, and other benefits. We identify the characteristics and benefits of our evaluated approach to Agile architectural governance using the Spotify model. Also, we identify guidelines and challenges for those wishing to adopt this approach.


Author(s):  
Daniel Remta ◽  
Michal Doležel ◽  
Alena Buchalcevová

Abstract [Context] Agile development methods are highly popular across software organizations. To leverage benefits in larger enterprises, Agile development methods have to be scaled. Scaled Agile Framework (SAFe) is the most commonly used scaling framework. Performing of the Product Owner role has been identified as crucial in project success in large-scale environments. Staffing the right Product Owner is one of the challenges of adopting SAFe. [Motivation] Research papers focused on Product Owner in SAFe are scarce. Our study outcomes help enterprises to understand the Product Owner role in SAFe and therefore contribute to the removal of challenges with finding the right Product Owners. Additionally, we aim to improve the research community’s understanding of the Product Owner role within the context of SAFe. [Method] Qualitative data were collected through three semi-structured interviews and analyzed using deductive content analysis. [Results] This paper presents the initial results of a single case study. We found out that many activities identified for Product Owners in previous research are not carried out by Product Owners in this particular SAFe implementation.


Author(s):  
Marthe Berntzen ◽  
Viktoria Stray ◽  
Nils Brede Moe

AbstractInter-team coordination in large-scale software development can be challenging when relying on agile development methods that emphasize iterative and frequent delivery in autonomous teams. Previous research has introduced the concept of coordination strategies, which refer to a set of coordination mechanisms to manage dependencies. We report on a case study in a large-scale agile development program with 16 development teams. Through interviews, meeting observations, and supplemental document analyses, we explore the challenges to inter-team coordination and how dependencies are managed. We found four coordination strategies: 1) aligning autonomous teams, 2) maintaining overview in the large-scale setting, 3) managing prioritizations, and 4) managing architecture and technical dependencies. This study extends previous research on coordination strategies within teams to the inter-team level. We propose that large-scale organizations can use coordination strategies to understand how they coordinate across teams and manage their unique coordination situation.


Author(s):  
Finn Olav Bjørnson ◽  
Torgeir Dingsøyr

Abstract This paper reports our initial findings from a longitudinal case study within a large development project in a public organization in Scandinavia. We focus on changes in coordination practices as the development project moved from a 1st to a 2nd generation large-scale agile development methodology. Building on four theories of coordination from different fields, we investigate how each theory illuminates our case and what insight they might provide. We find that two of the theories are well suited to characterizing each phase, providing answer to how coordination was done. While two other theories can provide answers to why these changes occurred.


Sign in / Sign up

Export Citation Format

Share Document