scholarly journals Reconciling agility and architecture: a theory of agile architecture

2021 ◽  
Author(s):  
◽  
Michael Grant Waterman

<p>The purpose of agile software development is to enable the software development team to respond to change and learn from change so that it can better deliver value to its customer. If an agile software development team spends too much time planning and designing architecture up-front then the delivery of value to the customer is delayed or otherwise compromised, and responding to change can become extremely difficult. Not doing enough architecture design increases exposure to risk and increases the chance of failure. The balance between architecture and agility is not well understood by agile practitioners or researchers.  This thesis is based on grounded theory research involving 44 participants from 36 organisations, all working in agile software development and who are either experienced in architecture design or are closely involved with architecture. The thesis presents a theory that describes how agile software teams design an agile architecture with reduced up-front design and which is able to respond to change, helping teams find a balance between architecture and agility.  The theory describes six forces that affect the agility of the architecture and up-front design, and five strategies that teams use in response to those forces to determine how much effort they put into up-front design. Understanding these forces and strategies helps agile teams to determine how much up-front design is appropriate in their contexts.</p>

2021 ◽  
Author(s):  
◽  
Michael Grant Waterman

<p>The purpose of agile software development is to enable the software development team to respond to change and learn from change so that it can better deliver value to its customer. If an agile software development team spends too much time planning and designing architecture up-front then the delivery of value to the customer is delayed or otherwise compromised, and responding to change can become extremely difficult. Not doing enough architecture design increases exposure to risk and increases the chance of failure. The balance between architecture and agility is not well understood by agile practitioners or researchers.  This thesis is based on grounded theory research involving 44 participants from 36 organisations, all working in agile software development and who are either experienced in architecture design or are closely involved with architecture. The thesis presents a theory that describes how agile software teams design an agile architecture with reduced up-front design and which is able to respond to change, helping teams find a balance between architecture and agility.  The theory describes six forces that affect the agility of the architecture and up-front design, and five strategies that teams use in response to those forces to determine how much effort they put into up-front design. Understanding these forces and strategies helps agile teams to determine how much up-front design is appropriate in their contexts.</p>


2021 ◽  
Author(s):  
◽  
Rashina Hoda

<p>Self-organizing teams are a hallmark of Agile software development, directly a ecting team e ectiveness and project success. Agile software development, and in particular the Scrum method, emphasizes self-organizing teams but does not provide clear guidelines on how teams should become and remain self-organizing. Based on Grounded Theory research involving 58 Agile prac- titioners from 23 di erent software organizations in New Zealand and In- dia, this thesis presents a grounded theory of self-organizing Agile teams. The theory of self-organizing Agile teams explains how software development teams take on informal, implicit, transient, and spontaneous roles and per- form balanced practices while facing critical environmental factors, in order to become self-organizing. The roles are: Mentor, Co-ordinator, Translator, Champion, Promoter, and Terminator. The practices involve balancing free- dom and responsibility, cross-functionality and specialization, and continuous learning and iteration pressure. The factors are senior management support and level of customer involvement. This thesis will help teams and their coaches better understand their roles and responsibilities as a self-organizing Agile team. This thesis will also serve to educate senior management and customers about the importance of supporting these teams</p>


2021 ◽  
Author(s):  
◽  
Rashina Hoda

<p>Self-organizing teams are a hallmark of Agile software development, directly a ecting team e ectiveness and project success. Agile software development, and in particular the Scrum method, emphasizes self-organizing teams but does not provide clear guidelines on how teams should become and remain self-organizing. Based on Grounded Theory research involving 58 Agile prac- titioners from 23 di erent software organizations in New Zealand and In- dia, this thesis presents a grounded theory of self-organizing Agile teams. The theory of self-organizing Agile teams explains how software development teams take on informal, implicit, transient, and spontaneous roles and per- form balanced practices while facing critical environmental factors, in order to become self-organizing. The roles are: Mentor, Co-ordinator, Translator, Champion, Promoter, and Terminator. The practices involve balancing free- dom and responsibility, cross-functionality and specialization, and continuous learning and iteration pressure. The factors are senior management support and level of customer involvement. This thesis will help teams and their coaches better understand their roles and responsibilities as a self-organizing Agile team. This thesis will also serve to educate senior management and customers about the importance of supporting these teams</p>


ACTA IMEKO ◽  
2019 ◽  
Vol 7 (4) ◽  
pp. 3
Author(s):  
Ionut Andrei Sandu ◽  
Alexandru Salceanu

<p class="Abstract"><span lang="EN-US">In an ideal Agile Development Team, defects should not exist. But in reality and especially in Automotive Agile Software Development, we need to have a mechanism for defects handling and tracking to closure. In this paper we describe the benefits and principles for measuring the defects handling metrics in automotive programs and organizations which adopted Agile SW Development. We are presenting the Iteration Containment Effectiveness, Program Increment Containment Effectiveness and Defect Debt Trend metrics. The acquired advantages are demonstrated by a detailed example of real application on how to measure the classical Phase Containment Effectiveness metric on Iteration (Sprint) and Program Increment (Scum of Scrums / Scaled Agile) Level. This paper is an extended version of the original contribution to the IMEKO TC 4 2017 symposium in Iasi, Romania.</span></p>


Author(s):  
Anuradha Chaminda Gajanayaka

Agile software development has established as a reliable alternative to waterfall software development model. Unfortunately the use of agile software development has been limited to time based contracts and not for time limited contracts. The main reason for this limitation is the “Agile manifesto” itself. The forth value of the manifesto states that agile believers find more value in “Responding to change over following a plan”. This is the one of the main reasons why agile software development methods are not preferred for a fixed priced contract or time limited contract. The following case study provides an example on how the agile software development can be used for fixed priced software development contracts even when operating in offshore context. The agile software development concepts were used throughout to plan, execute, monitor, report, etc. for the project documented in this case study.


Author(s):  
Amir Mashmool ◽  
Samiyeh Khosravi ◽  
Javad Hassannataj Joloudari ◽  
Irum Inayat ◽  
Zulkefli Mansor ◽  
...  

Agile methods promise to achieve high productivity and provide high-quality software. Agile software development is the most important model that has spread through the world of software development over the past decade. Software productivity measurement is essential in agile teams to increase the performance of Software development. Due to the increasing competition of software development companies, software team productivity has become one of the crucial challenges for software companies and teams. Awareness of the level of team productivity can help them to achieve more accurate estimation results on the time and cost of the projects. However, to measure software productivity, there is no definitive solution or approach whether in traditional and agile software development teams that lead to the occurrence of many problems in achieving a reliable definition of software productivity. Hence, this study aims to evaluate the productivity of the software in an up-to-date view of software development and to present a model for computing software team productivity. A survey was conducted with forty software development organizations located in Iran and measured the impact of six factors of the team on productivity in these companies. The results show that team effectiveness factors including inter-team relationship, quality conformance by the team, team vision, team leader, and requirements handled by the team had an impact on productivity. Moreover, the results also state that inter-team relations affect the most on software teams’ productivity. Finally, using the model fit test, it found that 80% of productivity changes based on team effectiveness factors.


Author(s):  
Nuno António Santos ◽  
Nuno Ferreira ◽  
Ricardo J. Machado

Software architecture design, when performed in context of agile software development (ASD), sometimes referred to as “agile architecting,” promotes the emerging and incremental design of the architectural artifact in a sense of avoiding “big design upfront” (BDUF). This chapter presents the Agile Modeling Process for Logical Architectures (AMPLA) method, an approach for supporting the emergence of a candidate (logical) architecture, rather than BDUF, the architecture in an early phase. The architecture then emerges throughout agile iterations, where AMPLA plays a key contribution for providing traceability between models, from the business need to service specifications, ranging from design stages to deployment, hence covering a software development life cycle (SDLC).


2021 ◽  
Author(s):  
◽  
Mawarny Md. Rejab

<p>Agile software development projects rely on the diversity of team members’ expertise. This expertise, however, is not adequate on its own: it is important to leverage available expertise through expertise coordination. Expertise coordination requires team members to rely on each other for recognizing who has particular expertise, when and where they are needed, and how to access the expertise effectively. Agile teams also need to rely on outside expertise such as user experience designers, architects, and database administrators. This thesis presents a theory of expertise coordination in Agile Software Development projects. We employed semi-structured interviews, observations, and document analysis in a Grounded Theory study involving 48 Agile practitioners and external specialists. This study discovered three main categories of expertise coordination: processes of expertise coordination, strategies of managing external expertise, and management roles in supporting expertise coordination. The theory provides a new insight into how Agile teams coordinate internal and external expertise, how they utilize external specialists and outsourcers’ expertise, and how management can support expertise coordination.</p>


Author(s):  
Mawarny Md. Rejab ◽  
Mazni Omar ◽  
Mazida Ahmad ◽  
Syahida Hassan

This paper presents principles of reforming an Agile-compliant performance appraisal. In this study, several semi-structured interviews have been carried out and discovered eight principles for reforming an Agile-compliant performance appraisal for Agile teams. Performance appraisal for software engineers in an Agile software development environment is complex and different from the traditional software development.  Performance appraisal should be aligned to Agile values, principles, and practices, which advocate interactions, collaborations, teamwork, and knowledge transfer among Agile team members. Therefore, a transition to Agile Software Development requires the implementation of Agile-compliant performance appraisal. These principles embark the proper practices and guidance to support management and Agile teams in deriving and implementing an Agile-compliant performance appraisal. Therefore, the emerged principles can be a baseline in generating an Agile-compliant performance appraisal to assess Agile team members in a fair and consistent manner. This indirectly increases motivation amongst team members and tends to produce capable workforce to perform at a higher level.


Sign in / Sign up

Export Citation Format

Share Document