A Coordination Perspective on Agile Software Development

Author(s):  
Diane E. Strode ◽  
Sid L. Huff

Achieving success in software development projects is a perennial challenge, and agile software development methods emerged to tackle this challenge. Agile software development provides a way to organise complex multi-participant software development projects while achieving fast delivery of quality software, meeting customer requirements, and coping effectively with project change. There is little understanding, however, of how such projects achieve effective coordination, which is a critical factor in successful software projects. Based on evidence from four cases, this chapter presents a theory explaining coordination in agile software projects. This theory defines the concepts of coordination strategy and coordination effectiveness and propositions explaining their relationship. This theory contributes to coordination literature by presenting clearly delineated concepts and their relationships in the form of a variance theory. For IT project management, this theory contributes to knowledge of coordination and coordination effectiveness in the context of agile software development.

2021 ◽  
Author(s):  
◽  
Diane Elizabeth Strode

<p>Agile software development offers a deceptively simple means to organise complex multi-participant software development while achieving fast delivery of quality software, meeting customer requirements, and coping effectively with project change. There is little understanding, however, of how agile software development projects achieve effective coordination, a critical factor in successful software projects. Agile software development provides a unique set of practices for organising the work of software projects, and these practices seem to achieve effective project coordination. Therefore, this thesis takes a coordination perspective to explore how agile software projects work, and why they are effective. The outcome of this research is a theory of coordination in co-located agile software development projects. To build a coordination theory, evidence was drawn from a multi-case study following the positivist tradition in information systems. Three cases of agile software development contributed to the theory, along with one additional non-agile project that contributed contrasting evidence. The findings show that agile software development practices form a coordination strategy addressing three broad categories of dependency: knowledge dependencies, task dependencies, and resource dependencies. Most coordination is for managing requirement, expertise, historical, and task allocation dependencies; all forms of knowledge dependency. Also present are task dependencies, which include activity or business process dependencies, and resource dependencies, which include technical or entity dependencies. The theory of coordination explains that an agile coordination strategy consists of coordination mechanisms for synchronising the project team, for structuring their relations, and for boundary spanning. A coordination strategy contributes to coordination effectiveness, which has explicit and implicit components. The primary contribution of this theory is an explanation of how agile software development practices act together to achieve effective project coordination. The coordination strategy concept can be used to select practices from agile methods to ensure software projects achieve effective coordination. In addition, once operationalised in future work, the well-grounded theoretical concepts developed in this research will provide valuable tools for measuring the coordination effectiveness of agile method adoption and adaptation.</p>


2021 ◽  
Author(s):  
◽  
Diane Elizabeth Strode

<p>Agile software development offers a deceptively simple means to organise complex multi-participant software development while achieving fast delivery of quality software, meeting customer requirements, and coping effectively with project change. There is little understanding, however, of how agile software development projects achieve effective coordination, a critical factor in successful software projects. Agile software development provides a unique set of practices for organising the work of software projects, and these practices seem to achieve effective project coordination. Therefore, this thesis takes a coordination perspective to explore how agile software projects work, and why they are effective. The outcome of this research is a theory of coordination in co-located agile software development projects. To build a coordination theory, evidence was drawn from a multi-case study following the positivist tradition in information systems. Three cases of agile software development contributed to the theory, along with one additional non-agile project that contributed contrasting evidence. The findings show that agile software development practices form a coordination strategy addressing three broad categories of dependency: knowledge dependencies, task dependencies, and resource dependencies. Most coordination is for managing requirement, expertise, historical, and task allocation dependencies; all forms of knowledge dependency. Also present are task dependencies, which include activity or business process dependencies, and resource dependencies, which include technical or entity dependencies. The theory of coordination explains that an agile coordination strategy consists of coordination mechanisms for synchronising the project team, for structuring their relations, and for boundary spanning. A coordination strategy contributes to coordination effectiveness, which has explicit and implicit components. The primary contribution of this theory is an explanation of how agile software development practices act together to achieve effective project coordination. The coordination strategy concept can be used to select practices from agile methods to ensure software projects achieve effective coordination. In addition, once operationalised in future work, the well-grounded theoretical concepts developed in this research will provide valuable tools for measuring the coordination effectiveness of agile method adoption and adaptation.</p>


2020 ◽  
Vol 25 (2) ◽  
pp. 105-116
Author(s):  
Oksana Ņikiforova ◽  
Kristaps Babris ◽  
Jānis Kristapsons

AbstractSoftware development method, which does not have any faults or gaps in project implementation, has not been elaborated so far. Due to this reason, the authors have decided to perform this study to make it easier for the companies, which use one of the agile development methods, to better foresee potential risks and to deal with their consequences. The aim of the research is to identify and classify risks in agile software development methods and the related projects based on the obtained survey data. To achieve the goal, the authors have developed evaluation criteria, as well as implemented practical questionnaire in various software development companies. From the obtained survey data, the risks are classified according to various factors, i.e., the changing highest and lowest priorities and needs in various projects. Thus, the obtained research results can be applied in various areas of project development, changing the order of priority factors.


2022 ◽  
pp. 929-946
Author(s):  
Kalle Rindell ◽  
Sami Hyrynsalmi ◽  
Ville Leppänen

Agile software development was introduced in the beginning of the 2000s to increase the visibility and efficiency software projects. Since then it has become as an industry standard. However, fitting sequential security engineering development models into iterative and incremental development practices in agile methods has caused difficulties in defining, implementing, and verifying the security properties of software. In addition, agile methods have also been criticized for decreased quality of documentation, resulting in decreased security assurance necessary for regulative purposes and security measurement. As a consequence, lack of security assurance can complicate security incident management, thus increasing the software's potential lifetime cost. This chapter clarifies the requirements for software security assurance by using an evaluation framework to analyze the compatibility of established agile security development methods: XP, Scrum, and Kanban. The results show that the agile methods are not inherently incompatible with security engineering requirements.


Author(s):  
Kalle Rindell ◽  
Sami Hyrynsalmi ◽  
Ville Leppänen

Agile software development was introduced in the beginning of the 2000s to increase the visibility and efficiency software projects. Since then it has become as an industry standard. However, fitting sequential security engineering development models into iterative and incremental development practices in agile methods has caused difficulties in defining, implementing, and verifying the security properties of software. In addition, agile methods have also been criticized for decreased quality of documentation, resulting in decreased security assurance necessary for regulative purposes and security measurement. As a consequence, lack of security assurance can complicate security incident management, thus increasing the software's potential lifetime cost. This chapter clarifies the requirements for software security assurance by using an evaluation framework to analyze the compatibility of established agile security development methods: XP, Scrum, and Kanban. The results show that the agile methods are not inherently incompatible with security engineering requirements.


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):  
Michal Dolezel ◽  
Alena Buchalcevova

People rely on structures to make their worlds orderly. This chapter conceptually probes into the problem of the differences between organizational structures deployed in traditional and agile environments. The authors develop an argument that all common forms of organizational entities can be classified by involving a two-dimensional classification scheme. Specifically, they constructed a typology to examine the issues of formal vs. informal authority, and disciplinarity vs. cross-functionality in terms of their significance for traditional and agile software development workplaces. Some examples of concrete organizational forms—including traditional project team, independent test team, self-organizing agile team and developers' community of practice—are discussed. In sum, they argue that by employing this classification scheme, they can theorize the nature of the on-going structural shift observed in conjunction with deploying agile software development methods. They acknowledge that the structures have fundamentally changed, terming the move “democratization” in the software development workplace.


Sign in / Sign up

Export Citation Format

Share Document