Abstract
In the agile software development, there are different factors behind the success and failure of projects. Paper represents the success, failure, and mitigation factors in agile development. A case study is presented depending on all of these factors after the completion of small projects. Each team grouped into 10 team members and developed the project with different approaches. Each group maintained the documentation from initial user stories and factors employed on the projects. Final outcomes are observed based on the analysis of efficiency, accuracy, time management, risk analysis, and product quality of the project. Final outcomes are identified using the different approaches.
Access provided by Autonomous University of Puebla. Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
Software development is the process whose success and failure depends upon the team, organization, and technical environment. Software project development is a teamwork where the delivery of the project depends upon different factors or circumstances. In the traditional development, the customer got the final product after the completion of development and testing that final product sometimes satisfied or unsatisfied the customer. According to the agile development, customer has the continuous involvement in the project through the daily meetings. Agile methodology has four agile manifesto and twelve principles [1].
Different methods such as scrum, XP, FDD, DSDM, lean are coming with agile development. Agile methodology overcomes the problems of the traditional development. Agile approach is driven by self-organizing teams that coordinate their tasks on their own. This enables the employee innovate, team work and increases the productivity and quality of the product. While different steps have been taken to understand the barriers occurred in software teams, and all these issues may be addressed by taking into the concerns of involved customer and stakeholders. In fact, due to various roles and their expectations, the software team may have perceptual differences on issues such as delivery time of software, risk factors, success and failure of the project [2]. Due to lack of knowledge and understanding about the project, it may directly affect the performance and delivery of the project. In the agile team, knowledge sharing is a challenging task to enlarge user’s motivation to share their knowledge with the developers and other team members; to handle the diversity of social identities and cross-functionally involved in the software development [3].
2 Literature Review
The software development process depends upon the interest of the project team and the other resources. One of the major problems with software development is causing during the change of project development technology and business environment [4]. During the survey of agile projects in government and private sectors in Brazil and UK, five sociological (such as experience of team members, domain expertise and specialization) and five projects (team size, estimation of project, delivery of the product, etc.) related factors were added [5].
Tore Dyba signifies a major departure from traditional approaches to agile software development by identifying the 1996 studies, out of which 36 were the empirical studies. The studies fell into four groups: introduction and adoption, human and social factors, perceptions on agile methods, and comparative studies [6]. A framework was proposed a conceptual framework on different factors and represents the link between various predictor variables and agile development success [7].
Mahanti [8] mentioned six critical factors in agile methodology, during the survey conducted in four projects. He discussed several factors such as an office environment, team mind-set, mind-set toward documentation. Harnsen [9] mentioned different factors focusing on culture, stability, time variations, technology, stability, etc. Different factors and barriers of agile implementation were considered those significantly affecting the agile methods [10].
3 Different Factors in the Agile Development
In an agile environment, different technical (requirement volatility, requirement quality, technical dependency, non-functional requirement, etc.) and non-technical factors (communication, documentation, domain, hardware, customer involvement, etc.) are continually impacting in the agile environment. Figure 1 represents the various success and failure factors that are impacting on software development.
-
A.
Success Factors:
There are certain success attributes which determine the overall observation of a particular project such as delivering a quality product and customer satisfaction, on-time delivery of product with the planned estimations. Ambler contends that in software development, the expert people are critical to make sure the success of the project while adopting the agile approaches [11]. In 2013 comparing software development paradigms, Ambler found the highest success rate of agile projects [12].
-
B.
Failure Factors:
Boehm and Turner focus on management challenges in implementing the agile projects [13], whereas in another research Nerur et al. focused on management, people, technical, and process dimensions in agile projects [14].
4 Strategies for Mitigating Factors Affecting Agile and Distributed Agile Development
There are different success factors on agile such as make training programs on higher priority, keep agile practices consistent, encourage team members, scale the infrastructure. Table 1 represents the different success, failure, and mitigation factors in agile software development.
5 Case Study
Case study is based on the software project implementation during the training period of the students. Projects were divided into 5 teams and each team had 10 team members. Projects were based on the application development and Web site development for the customer. Projects were related to social implications such as safe cab car facility, e-voting system, women security app. Table 2 represents the team configuration, where different development processes of each team are mentioned, with the total number of team members involved in the development of project. The project implementation was implemented by waterfall, spiral, and the scrum (agile methodology). In the spiral implementation, each builds focused especially on risk analysis, including the requirement gathering and evaluation part. Scrum principles were followed by the team members for the requirement elicitation, daily meetings, and frequent changes. Daily meetings were conducted in a classroom and there was a customer interaction between the team members in a laboratory after every sprint cycle.
6 Findings
Initially, user stories were created by the customers and team members. Figure 2 shows the different user stories of project 1 by the team 1. Like project 1, other team members also build their different user stories as per customer and project requirement.
But due to the lack of experience, different responsibilities and environmental restrictions, it is really tough for students to follow this process. An analysis report was maintained on the success and failure factors of the projects. This analysis was done with the help of questionnaire and personal interaction with the team members. On the basis of a questionnaire, different factors were analyzed as:
-
1.
Organization: Student had other responsibilities also and do not have a proper work environment; hence, there was a delay in delivery of the project.
-
2.
Team: Team had a good relationship and trust between them, but as the beginner’s team had a lack of experience about the methodology. Hence, they faced problems at the initial stage of development.
-
3.
Process: Team followed the agile development process in which there was a proper group discussion between team members and also set sprint meetings with the customer. Project planning and roles were clearly defined. Team roles were rotated for the constant change in task prioritization to maintain the quality of the final product.
-
4.
Technical: The team continuously tested the whole process with the strict TDD process. Students faced the technical issues such as new technical tool and techniques. Hence, free tools were used for the development of the project.
-
5.
Documentation: As documentation, students maintain a daily diary on the regular basis, and at the end, report was generated.
6.1 Outcomes
During the analysis, it was observed that there were differences in non-functional activities with the different methods. Analysis was based on the efficiency, accuracy, time management, risk analysis, and product quality of the project. In the waterfall approach, team members approached to the customer after the delivery of the project. Development with waterfall approach had low efficiency, medium accuracy; low time management and product quality were less without the customer’s involvement during the development. In the spiral method, students focused on risk analysis and quality of product. Projects had low accuracy in the spiral model as they created a prototype and did risk analysis. In the scrum methodology, results were better than waterfall and spiral model, where efficiency, product quality, and time management are high.
In Table 3, there is different parametric value that had major impact on success and failure of projects by using different approaches. Waterfall, spiral, and scrum methodology were used on different projects and all had different impacts. In Table 3, L represents the less/low value, M represents the medium value, and H represents the high value of different projects based on the usage of various approaches. Figure 3 represents the graphical representation of different factors using different methods, according to which agile methodologies have high performance rate and good quality of product on fixed time.
7 Conclusion
Paper is concluded with the success, failure, and mitigation factors in agile development projects. A case study was conducted based on the development of five projects. Projects were developed by the students as five different teams. It was observed that projects were developed using different development approaches such as waterfall, spiral, and agile approach and examined that there were differences in non-functional activities with different methods. Analysis was based on the efficiency, accuracy, time management, risk analysis, and product quality of the project. Finally, outcome was that in the scrum methodology results were better than waterfall and spiral model, where efficiency, product quality, and time management are high.
References
http://www.agilealliance.org/the-alliance/the-agile-manifesto/
Huisman, M., Iivari, J.: Deployment of systems development methodologies: perceptual congruence between IS managers and systems developers. Inf. Manag. 43, 29–49 (2006)
Conboy, K., Coyle, S., Wang, X., Pikkarainen, M.: People over process: key people challenges in agile development. IEEE Softw. 99, 47–57 (2010)
Williams, L.A., Cockburn, A.: Guest editors’ introduction: agile software development: it’s about feedback and change. IEEE Comput. 36(6), 39–43 (2003)
Danillo, S., Bassi, D., Bravo, M., Goldman, A., Kon, F.: Agile projects: an imperial study (2006)
Byab, T., Dingsoyr, T.: Empirical studies of agile software development: a systematic review. Inf. Softw. Technol. (2008)
Misra, S.C., Kumar, V., Kumar, U.: Success factors of agile development method. J. Syst. Softw. (2009)
Mahanti, A.: Challenges in enterprise adoption of agile methods—a survey. J. Comput. Inf. Technol. 197–206 (2006)
Harnsen, F., Brand, M.V.D., Hillergerberg, J., Mehnet, N.A.: Agile methods for offshore information systems development. First Information Systems Workshop on Global Sourcing: Knowledge and Innovation (2007)
Asnawi, A.L., Gravell, A.M., Wills, G.B.: An empirical study—understanding factors and barriers for implementing agile methods in Malaysia. IDoESE (2010)
Ambler, S.: Agile adoption strategies: survey results. http://www.ambysoft.com (2011)
Ambler, S.: Agile adoption strategies: survey results. http://www.ambysoft.com (2013)
Boehm, B., Turner, R.: Management challenges to implement agile processes in traditional development organizations. IEEE Softw. 22(5), 30–39 (2005)
Nerur, S., Mahapatra, R.K., Mangalaraj, G.: Challenges of migrating to agile methodologies. Commun. ACM 48(5), 72–78 (2005)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Dhir, S., Kumar, D., Singh, V.B. (2019). Success and Failure Factors that Impact on Project Implementation Using Agile Software Development Methodology. In: Hoda, M., Chauhan, N., Quadri, S., Srivastava, P. (eds) Software Engineering. Advances in Intelligent Systems and Computing, vol 731. Springer, Singapore. https://doi.org/10.1007/978-981-10-8848-3_62
Download citation
DOI: https://doi.org/10.1007/978-981-10-8848-3_62
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-10-8847-6
Online ISBN: 978-981-10-8848-3
eBook Packages: EngineeringEngineering (R0)