Derivation of an Agile Method Construction Set to Optimize the Software Development Process

Derivation of an Agile Method Construction Set to Optimize the Software Development Process

Jerome Vogel, Rainer Telesko
Copyright: © 2020 |Pages: 16
DOI: 10.4018/JCIT.2020070102
Article PDF Download
Open access articles are freely available for download

Abstract

Today, IT and especially the development of customer-focused software, has become one of the most important elements for a company to remain competitive. The primary purpose of this article is to determine whether it is possible to improve the agile development of a company by adjusting its software development process in terms of cultural, technical, and managerial dimensions. Based on a literature analysis and practical experience in the company, different influencing factors and parameters, which affect the value creation throughout the software development process of a company were derived and clustered. Out of these clusters, a framework (Agile Method Construction Set) based on a Microsoft Excel questionnaire was created in order to analyze and identify optimization potential in the development process of a company. This construction set was adapted to meet the requirements of the development department of a large Swiss insurance company in order to validate and test the framework with real data.
Article Preview
Top

Introduction

Using agile methods in software engineering is a hot topic nowadays. Agile methods are usually the first choice especially when the scope of a task is unknown at the very beginning or requirements are likely to change all the time. However, there are some pitfalls when applying agile methods, which may lead to either success or failure. The main challenges are the following:

  • What agile method should be selected? Most projects select Scrum. However, there are also alternatives. Scrum focuses only on management practices. When it comes to prescribing or recommending technical practices as well, it is necessary to enrich Scrum with elements of another agile method.

  • How can a selected method be tailored in order to create maximum benefit?

  • How can this benefit be expressed in terms of Key Performance Indicators (KPIs)?

  • How can the agile software development process of a company be optimized?

  • Given the fact that an agile method has already been implemented, what are possible optimization sources? What would be a good starting point regarding the maturity of the company? And how could it be measured?

Summarizing the points above in one problem statement one can say: “How can a software development company be supported with regards to identifying a proper agile method, tailoring it and assisting with its continuous improvement?

The primary purpose of this paper is to determine whether it is possible to improve the agile development of a company by adjusting its software development process in terms of cultural, technical and managerial dimensions as well as current development trends.

The paper is organized as follows: First, current well-known approaches (Scrum, Extreme Programming and Feature Driven Development) are briefly presented and their approach-specific specialties are emphasized. Based on a literature analysis there is a strong indication that there are different influencing factors and parameters, which somehow have an impact on the value creation throughout the development process of a company. These different influencing factors and parameters from the literature analysis and additional sources are clustered. Based on these clusters, a framework (the so-called Agile Method Construction Set) based on a Microsoft® Excel questionnaire was created to analyze and identify optimization potential in the development process.

The second part introduces related approaches to Software Process Improvement (SPI). This includes the presentation and brief explanation of the well-known maturity model CMMI® with its process areas and maturity levels. The main challenges of CMMI® are pointed out, such as its generic structure as well as the necessity to produce many (maybe regarding the company context unnecessary) artefacts. The proper way to integrate with agile methods is still ongoing research. The desire to rate and measure maturity has led to the Agile Maturity Models. Although they share many similarities with the Agile Method Construction Set described in this paper, they focus heavily on the Scrum methodology and have therefore many references and dependencies. While most “heavyweight” models scale well and are easy understandable “out of the box”, many managers fear that they would lose this scalability when they switch to an agile model. Accordingly, the approaches Scrum of Scrum (SoS) and Scaled Agile Framework show attempts to deal with this.

In the third part, the Agile Method Construction Set was adapted to a development department of a large Swiss insurance company in order to validate and test the framework with real data. The validation was performed with sample KPIs using existing data from the insurance company. The results support the claim that there are general metrics, which affect the development process.

Based on the results, we show that it is possible to improve the agile development of a company by adjusting the software development process in terms of cultural, technical and managerial dimensions as well as current trends. The underlying assumption of this paper is that development processes are regarded as “normal” business processes and can be treated with the whole “arsenal” of modern Business Process Management. Therefore, the focus is on development issues and not on the examination of specific engineering practices.

Complete Article List

Search this Journal:
Reset
Volume 26: 1 Issue (2024)
Volume 25: 1 Issue (2023)
Volume 24: 5 Issues (2022)
Volume 23: 4 Issues (2021)
Volume 22: 4 Issues (2020)
Volume 21: 4 Issues (2019)
Volume 20: 4 Issues (2018)
Volume 19: 4 Issues (2017)
Volume 18: 4 Issues (2016)
Volume 17: 4 Issues (2015)
Volume 16: 4 Issues (2014)
Volume 15: 4 Issues (2013)
Volume 14: 4 Issues (2012)
Volume 13: 4 Issues (2011)
Volume 12: 4 Issues (2010)
Volume 11: 4 Issues (2009)
Volume 10: 4 Issues (2008)
Volume 9: 4 Issues (2007)
Volume 8: 4 Issues (2006)
Volume 7: 4 Issues (2005)
Volume 6: 1 Issue (2004)
Volume 5: 1 Issue (2003)
Volume 4: 1 Issue (2002)
Volume 3: 1 Issue (2001)
Volume 2: 1 Issue (2000)
Volume 1: 1 Issue (1999)
View Complete Journal Contents Listing