Recent Trends in Computer Science and Software Technology Volume 4 Issue 1

A Survey on Comparative Analysis of Agile Methodologies

Ajith Jerom B1*, Rajamohana SP2 PG Scholar1, Assistant Professor2 Department of Information Technology PSG College of Technology, Coimbatore, Tamil Nadu Corresponding Author’s Email: [email protected]*, [email protected] DOI: http://doi.org/10.5281/zenodo.2561994

Abstract Software development methodologies is the process of dividing the software development process into different phases in order to achieve better greater planning and management of the software. For developing software’s there consists of many methodologies available But Agile Methodology is one of the methods which were introduced to meet the customer’s new requirements for developing software product. This paper is going to survey about the comparative analysis of agile software which contains different kinds of agile methodologies. Some of them are Scrum, Kaban, , Lean, Feature Driven Development (FDD), Adaptive Software Development (ASD) and Dynamic Systems Development Method (DSDM), etc. and describes about the differences between them and recommends where to use and when to use. According to recent survey there were nearly 14 different boards were available and also the survey explains how the features are represented in the boards and it was compared with 22 software tools for implementing them to virtual Kanban boards, for analyzing there sources available on the web.

Keywords: - ASD, XP, DSDM, FDD, Scrum, Kanban, Agile Methodologies

INTRODUCTION years that is being differentiated to Various numbers of agile methodologies traditional trained approach for individual [1] have been developed in the past fifteen values and Co-operation over the processes 10 Page 10-22 © MANTECH PUBLICATIONS 2019. All Rights Reserved

Recent Trends in Computer Science and Software Technology Volume 4 Issue 1

and tools. Before developing software the founds to be work better for the current first thing to be done is customer scenario for frequently changing coordination over meetings, and gathered requirements. It is one of the kinds of some additional information to change the incremental approach for developing the following plan [2] in the development product with a strong focusing with based on the customer requirements. The customer’s involvement [4].During the word Agile which, means to move rapidly creative process Agile software and easily and this is the reason why agile development (ASD) method expects the software development technology is mostly software to be in flexible and applies into a referred for the software development. Now level of practicality for the complete a day most of the leading software leading delivery of the product to the customers. It companies use agile software methodology keeps on focusing the product code to be was accepted and used. Agile methodology simple to use and testing the code is one of the kinds of iterative approach frequently, and the product will be which makes to keep necessary action with delivered when functional bits of the dynamic development environments. application were made to be ready. The Owing to the past decade, among various objective of ASD is to keep build upon the kinds of software development approaches small scale customers approved parts for a new software development approach were the project progresses, as they would found applicable to new cultures in the opposed to deliver while, any one of the software development either product based large application at the end of the project or service based companies. The objective schedule. It is one of the lightweight for most of the software companies tries to frameworks that produce high quality software within a elevate iterative development during the short period of time with low costs, life-cycle of the project. Agile software unstable, and changing environments with development is a group of software help of technology. So among them agile development methods that is based on the Methodologies were found to meet the new combination of iterative and incremental requirements given by the customer or development process, where requirements stakeholders during development period in and solutions for the product would be the software development companies [3]. developed through connection between When the Comparison has been made with self-organizing and cross functional teams. traditional approach “Agile Methodology” Among many software development

11 Page 10-22 © MANTECH PUBLICATIONS 2019. All Rights Reserved

Recent Trends in Computer Science and Software Technology Volume 4 Issue 1

models it seems to be one of the most programming worldwide. Most of the XP popular models getting used in the software ventures were built on the basis of the development industry. It provides the effort estimation method. Xiaofeng Wang developers to help in speedy changes in the [6] in the last few years agile methods such software development and produce great as Extreme Programming (XP) and Scrum results in the forms of better quality and to lean software development were reusability. As it leads to upgrade in an illustrated, which was being suggested as adaptive planning, evolutionary “agile to lean”. The scope of this research development of the product delivery in a was to explore how agile methods and lean time-boxed iterative approach, and approaches had been joined in software encourages quick and flexible response to development process. The designs of change based on requirements. This survey joining those reports for agile methods and paper mainly focus about the different type lean approaches were explained and sorted of Agile Methodologies in Software in a more global way. Pankaj Kamthan [7] Engineering. explained as many number of different changes were demonstrated in many RELATED WORK industrial software engineering, which Andreas Schmietendorf [5] defined an enables the movement towards term agility. investigation with the effort estimation The word agile declaration is to identify the possibilities based on agile software term “agile” which would lists the basic set development methodologies. Among the of principles that forms a premise for agile various software development process agile methodologies that enables some which are methods becomes more popular and Extreme Programming (XP), Scrum, and increasingly used in the industrial projects. Open UP. For the success of project For many kind of application the effort through agile methods, it was critical estimation methods tends to be very because the knowledge be managed difficult but it an important task in the effectively and efficiently. Fahad project. So, the Classical estimation Almudarra and Basit Qureshi [8] illustrated methods were needed for the well-defined a new idea that a mobile based cloud requirements based on the customer’s application development can be integrated usage. It mostly provides the major with agile development methodologies for investigation about possibilities in the contents in the media management which, product, particularly for the extreme helps in reducing cost, time and gives better

12 Page 10-22 © MANTECH PUBLICATIONS 2019. All Rights Reserved

Recent Trends in Computer Science and Software Technology Volume 4 Issue 1

software quality and changes can be made If organization handles those case, COPs to improve software quality too.Among were the major part to support agile various methods results showed the transformation and distributed Scrum positive indications for being applied with implementation too. Sergio Galvan etal. Extreme Programming (XP) which has [11] Established software process standards capable of integrating for both mobile and (e.g.ISO/IEC 12207, ISO/IEC 15504) and web application with hybrid cloud. R. models (e.g. CMMI) which provides good Steven Wingo and Murat M. Tanik [9] guidelines and practices to improve the developed software development which quality of software if they were any makes difficult task with more challenges changes in the requirements suddenly. In to get successful outcomes for complex this research, the particular issue has been problem domains. The XP Methodology studied in the compliance of Agile seems to be one of the good choices for a Software Development Methodologies like skilled and disciplined software SCRUM, XP, and UPEDU and includes the development team for use in creating new ISO/IEC 29110 standard too. The software solutions mostly for complex major findings indicate that the UPEDU problem domains. One of the critical and SCRUM methodologies were presented problem domains such as core business at the high level of compliance with the systems, XP would be mostly preferred to ISO/IEC 29110 in the project Management be used for delivering the software with process. David P. Harvieet al. [12] high quality that keeps with changing the described that these two fields software environment. engineering and mission command were independent but with similar fields, as both Maria Paasivaara and Casper Lassenius were used for solving complex problem [10] explained their common interest to the domains in the environments with rapid and group of experts and want to deepen the ever changing requirements in the product. knowledge to group of experts in practice. The research theory was one of the great It illustrates about the Ericsson with 400 modifications to agile software persons divided into 40 Scrum teams at development based on motivations from three sites to adopt the use of Communities mission command. Based on three of Practice (COP) as a unit of motivation from the mission command transformation from a conventional plan modification of traditional scrum was made driven based organization to lean and agile. for targeted scrum: End State, Line of

13 Page 10-22 © MANTECH PUBLICATIONS 2019. All Rights Reserved

Recent Trends in Computer Science and Software Technology Volume 4 Issue 1

Effort, and Targeting. Martin Tomanek and  XP Tomas Klima [13] presented the  DSDM penetration testing which, was embedded  ASD into the scrum framework that represents  FDD most of work has been done with the agile  Kanban software development framework. One of the major advantages of scrum was to SCRUM automate the penetration tests during the Among various kinds of Agile software development projects that methodologies Scrum was one of the most incorporate some of the specific penetration widely used agile development method [15] tests into the regular software product during the year 1996. Basically Scrum was release which would improve the overall mainly used to addresses the most resistance of developing software. The important managerial issues in the product main focus on the research is to develop the development instead of the technicality in penetration testing methods such as PETA. the project work. Therefore more Bruno Antunes [14] proposed an analyzed significance is given to the managerial waterfall vs. agile methodology which uses skills of the team involved which include agile methodology that is nothing but project managers as well as developers too. scrum. It focuses on a solvable approach of virtual team, as well as tends to show some Scrum is light weight methodology that examples with use of Microsoft Visual follows an incremental approach for Team Foundation server tools to identify software development process [16]. For the challenges. The main focus on the small requirements only 2 to 4 weeks were Software development environment is on need for implementing the iterations that the dictated speed, flexibility. are commonly referred as “sprints”. The regular standup meetings were conducted OVER VIEW OF AGILE to effectively and efficiently manage the METHODOLOGIES sprint phase. Each and every phase was Different types of Agile Methodologies tested thoroughly by the testing tram in have been presented over the time that is order to reduce overall project risk. suitable for a particular domain. Popular Actually the scrum has only 6 to 10 ones are: members in the range. In this method  Scrum communication is very important among

14 Page 10-22 © MANTECH PUBLICATIONS 2019. All Rights Reserved

Recent Trends in Computer Science and Software Technology Volume 4 Issue 1

the team members and between the teams. product delivery as soon as possible So, Scrum is more suitable to small without affecting the product quality. This projects. method works as the principle as agile that is incremental as well as iterative model. In XP this method a slight modification were XP (extreme programming) method which made in the development cycle that is in seems simple for development and it was this methodology cycle of project mostly used to handle the frequently management can be combined with project changing requirements form the customer. development cycle [16]. One of the biggest This model is suitable for quickly changing advantages of this method creates the unstable requirements during the software prototype as early as possible that helps to development and it is more flexible. It proceed to move on next step or not. Risk underscores the engineering practices in analysis, Function prioritizations and order to develop a quality product. documentation for the prototype are the outcomes of this phase. [18] The development team follows the pair programming concept. It refers the pair of Furthermore this method is mostly suitable developers working together in a single for the projects whose customer workstation. Among the team one of them requirements are very habitually changed will be responsible for coding part and rather than project with well-defined other is responsible for viewing the code requirement. This method has a greater line by line in the program and suggestions control over product quality, risk factor, will be given if any necessary to improve effective with cost and time [16]. The the product. [17]. In order to this kind of length and size of the team varies based on practice using pair programming concept the size of the project. Testing can be done the victory of project majorly depends upon throughout the entire project life cycle. the communication between team members While compare to other methods it is little and the teams are collaborated with bit quite heavier than other agile customer to get regular feedback. methodologies and also it is more restrictive than others. DSDM DSDM is another kind of software ASD development method which, focus on

15 Page 10-22 © MANTECH PUBLICATIONS 2019. All Rights Reserved

Recent Trends in Computer Science and Software Technology Volume 4 Issue 1

In the year 2000 Adaptive software This model is mostly not suitable for very development was introduced into the large project because it works better only software industry [16]. This method mainly for small and average type of projects. The focuses in the managerial activities which, size of the team changes depends upon the is related to Rapid Application size of the project. Development model having some limitations and gives more important to KANBAN quick development of the product [19]. Kanban has become popular in recent years This model is also based on incremental because, of its ease of implementation, and iterative approach and so the usage of visual controls, works well in prototyping were made according to the progress management, and relentless focus user’s wish.ASD mainly follows only on on the continuous process improvement. three important phases they are Speculate which process in initialization and planning GENERIC KANBAN BOARD for the project the second is collaboration The aim of the generic Kanban board is to which focus in the concurrent development provide a full range of activities in the of the products or features and the final one development process and approaches to is learning which means reviewing the board modeling during the working states, quality of the product. This kind of buffers etc., which must be taken into methods is preferred only for large and account while deciding about the most heavy complex software projects. suitable board structure.

FDD COLUMN DESCRIPTOR Feature-Driven Development model was The proposed Kanban board consists of designed by Jeff De Luca, Peter Coad. the following columns factors: Felsing, Palmer 2002 [16]. This model  The “Product Backlog” column which works similar like other model that is includes all user stories that are being nothing but incremental and iterative but currently known. The product owner having variations in some of the factors. will prioritize each user stories from the This model mainly focuses on building and customer; stakeholders and estimated it design phases. By using this model the using planning poker [22, 23]. delivering of the products were quick and Whenever a new story enters into the also well suited for perfect monitoring.

16 Page 10-22 © MANTECH PUBLICATIONS 2019. All Rights Reserved

Recent Trends in Computer Science and Software Technology Volume 4 Issue 1

product development that will be added user stories being still under in a at the end of the product backlog. working state that is represented as “Ongoing" and user stories for which  The “Sprint Backlog” column contains analysis and design were completed the user stories belonging to the current done. In such a way, that the sub- Sprint. The content inside this column column Done acts as an inter-process will be initiated during the Sprint buffer providing information which planning meeting when the Product user stories can be pulled to the next Owner and the development team agree step in process. The same would be which stories have to be developed in hold for Ongoing and Done sub- the next Sprint. During Sprint, the columns within Development, Testing, stories are moved to subsequent and Documentation. columns in according with Kanban pull mechanism. If it is executed properly,  The “Development” column shows then this column becomes empty at the what is being developed at the moment. end of the Sprint. It is assumed that development phase includes coding and  The “Next” column contains limited performed by programmers. Therefore, number of high priority user stories. development is considered to be done When the member in the development when all unit tests were passed and team is ready to start working on a new functional testing get started. item, he/she can take a user story from the “Next” column based on the high  The “Testing” column decides which priority and move it to “Analysis & user stories have to be tested first This Design”. step have a part of functional and integration tests performed by the  The “Analysis & Design” column development team in order to verify reflects in the Scrum approach to just- whether the user stories comply with in-time design where each user stories the Scrum concept of done. Stories in are splitted into constituent tasks. After the sub-column “Done” are considered that the “Analysis & Design” column is to be completed and ready for split into two sub-columns Ongoing and documentation. “Done” in order to distinguish between

17 Page 10-22 © MANTECH PUBLICATIONS 2019. All Rights Reserved

Recent Trends in Computer Science and Software Technology Volume 4 Issue 1

 The “Documentation” column contains product development process, but each user stories to convert them s document method applies only for specific set of is done the documentation phase. project. A Software development projects Scrum requires that the user operation would have several factors associated with of the new functionality is documented, the size of the project, complexity, allotted in user documentation [24]. Stories in duration of time, budget for the project etc. the “Done” sub-column are considered Selecting suitable methodology for to be completed and ready for particular project is very important in the presenting to the Product Owner and software development. Thus the other stakeholders during the Sprint comparative analysis of agile review meeting. methodologies will help the project team members to decide which can be used in a  The “Acceptance” column is given situation. responsible for final acceptance, after the testing performed by the Product A) DOCUMENTATION Owner. According to Scrum rules, the One of the main principles in agile Product Owner will be responsible to software development process is to reduce decide whether the user stories the time and effort spent on implementation meets all requirements documentation. or not and can be put in production.  Using some methods like Scrum, XP and ASD documentation is to be given  The “Deploy” column would show less importance. which user stories are going to be deployed.  Compared to others projects FDD require more documentation.  The final “Done/Live” column contains the user stories that were accepted by  DSDM requires a moderate level of the Product Owner Done and made documentation which is less than FDD. available for use (“Live. B) INTERACTION WITH CUSTOMER COMPARATIVE ANALYSIS Agile methods give more importance for Even though there were lot agile frequent communication with the end methodologies are being available for the users.

18 Page 10-22 © MANTECH PUBLICATIONS 2019. All Rights Reserved

Recent Trends in Computer Science and Software Technology Volume 4 Issue 1

 During the development process For particular kind of project certain methods like XP and Scrum have methodology will be suitable highest involvement with the customer.  For small and less complex projects XP  In ASD and DSDM the involvement and ASD are usually preferred. with the customer or end user can be seen only at start and end of the  Where there is constant change in the iteration. product during the process specification then XP is more suitable for projects  FDD uses the reports to communicate with the customers or end user.  For any size project Scrum, FDD DSDM can be applied. C) MEETINGS Communication is the core principles stated CONCLUSION in the Agilemanifesto [20]. The success of Agile methodologies are becoming more the agile methodologies depends only on popular in the recent years and are the efficient communication between the preferred over traditional software team members. development methodologies which have several shortcomings such as inability to The meetings are done informal in nature cope up with the constantly changing with and no documentations were maintained. the requirements from the user. With  While the use of pair programming traditional software development models technique success of XP only depends product requirements must be clearly on the communication. identified before to the hand. While considering with the current business  FDD and DSDM mainly rely on reports environment, it is important that the and documentation for the development methodology were used for communication. easy adapting to the frequently changing of the requirements from the user.Agile  In ASD Face to Face meetings are used software development methodologies are for communication. used to handle such a kind of frequently changing requirements through iterative D) SIZE AND COMPLEXITY OF THE and incremental approach. It has shorter PROJECT development iteration with the each 19 Page 10-22 © MANTECH PUBLICATIONS 2019. All Rights Reserved

Recent Trends in Computer Science and Software Technology Volume 4 Issue 1

iteration or increment followed by testing IV. A. Sharma, V. Deep and N. and risk analysis which delivers the results Garg, "An Efficient way of in faster development and delivery of a Articulation or Suppression in Agile quality product. According to recent survey Methodologies". conducted by HP (Hewlett-Packard) around V. Andreas Schmietendorf, Martin 51% of the industries are moving towards Kunz and Reiner Dumke, “Effort the agile software development Estimation for Agile Software methodologies [21]. Selecting an Development Projects”, appropriate agile methodology is important Proceedings 5thSoftware which would maximize e the probability for Measurement European Forum, product delivery with a high quality of Milan 2008, pp. 113-126, 2008. product that meets the requirements of the VI. Xiaofeng Wang, “The Combination end user’s. The comparison has been done of Agile and Lean in Software with various approaches in this paper which Development: An would be more useful to decide which ExperienceReportAnalysis”, IEEE methodologies can bemore suitable to a Computer Society, Agile particular project. Conference, Lero – the Irish Software Engineering Research REFERENCES CentreLimerick, Ireland, pp. 1-9, I. L. Williams, Agile Software 2011. Development Methodologies and VII. PankajKamthan, “On the Role of Practices, Advances inComputers, Wiki forManaging Knowledge in Vol. 80, 2010, pp. 1–44. Agile Software Development”, II. Manifesto for Agile Software Department of Computer Science Development, and Software Engineering http://www.agilemanifesto.org (last Concordia University Montreal, accessed 7.11.2013). Canada, pp. 622-623, 2013. III. Agile Alliance. Manifesto for Agile VIII. FahadAlmudarra and BasitQureshi, Software De velopment. [Online] “Issues in adopting Agile Retrieved 16th March 2009. Development Principles for Available at: MobileCloud Computing http://www.agilemanifesto.org. Applications”, Elsevier B.V., 1st International Workshop on Mobile

20 Page 10-22 © MANTECH PUBLICATIONS 2019. All Rights Reserved

Recent Trends in Computer Science and Software Technology Volume 4 Issue 1

Cloud Computing Systems, Scrum:Applying Mission Management, and Security Command to Agile Software (MCSMS-2015), College of Development”, IEEE Transactions Computer and Information on Software Engineering, Vol. X, Sciences, Prince Sultan University, No. Y, pp.1-14, 2015. Riyadh, Saudi Arabia, Vol. 52, XIII. Martin Tomanek and Tomas Klima, pp.1133-1140, 2015. “Penetration Testing In Agile IX. R. Steven Wingo and Murat M. Software Development Projects”, Tanik, “Using anAgile Software International Journal on Development Methodology for Cryptography and Information aComplex Problem Security (IJCIS), Vol. 5, No. 1, pp. Domain”,Proceedings of the IEEE 1-7, March 2015. SoutheastCon, University of XIV. Bruno Antunes, Diogo Santos, Alabama Birmingham, 2015. Eurico Lopes, FilipeFidalgo and X. Maria Paasivaara and Casper Paulo Alves,“Blisstrail: An Agile Lassenius, “Communities of Project Business Case Study”, practice in a large distributed agile Conference on Enterprise software developmentorganization – Information Systems, Escola Case Ericsson”, Elsevier B. V., Superior de Tecnologia, Aalto University, Finland,pp. 1556- InstitutoPolitecnico de 1577, 2014. CasteloBranco, Branco, Portugal, XI. Sergio Galvan, Manuel Mora, Rory Vol. 64, pp. 529-536, 2015. V. O Connor, Francisco Acosta and XV. Schwaber, K. and M. Beedle, Francisco Alvarez, “A Compliance “Agile Software Development with Analysis of Agile Methodologies Scrum”, Prentice Hall PTR, 2001. with the ISO/IEC 29110 Project XVI. H. K Flora and S. V Chande, "A Management Process”, Elsevier Systematic Study on Agile Software Ltd., Conference on Enterprise Development Methodologies and Information System, pp. 188-195, Practices", International Journal of 2015. Computer Science and Information XII. David P. Harvie, Graduate Student Technologies, vol. 5, 2014. Member, IEEE, andArvinAgah, XVII. M. JameelQureshi, "Agile software Senior Member, IEEE, “Targeted development methodology for

21 Page 10-22 © MANTECH PUBLICATIONS 2019. All Rights Reserved

Recent Trends in Computer Science and Software Technology Volume 4 Issue 1

medium and large projects", IET, Software, Vol. 85, No. 9, 2012,pp. vol. 6, no. 4, pp. 358-363, 2012. 2086–2095. XVIII. A.,AdilaFirdaus, S. Jeong and I. XXIV. E. Corona, F. E. Pani, A Review of Ghani, "A Review on Software Lean-Kanban Approaches in the Development Security Engineering Software Development. WSEAS using Dynamic System Method Transactions onInformation Science (DSDM)", International Journal of and Applications, Vol. 10,No. 1, Computer Applications, vol. 69, 2013, pp. 1–13. 2013. XIX. M. Alnoukari, Z. Alzoabi and S. Cite this Article Hanna, "Applying Adaptive Software Development(ASD) Agile Ajith Jerom B & Rajamohana SP (2019) A Survey on Comparative Analysis of Modeling on Predictive Data Agile Software Development Mining Applications: ASD-DM Methodologies Recent Trends in Computer Science and Software Methodology", IEEE, 2008. Technology 4(1), 10- 12 XX. AgileManifesto, "Principles behind http://doi.org/10.5281/zenodo.2561994 the Agile Manifesto". [Online]. Available: http://www.agilemanifesto.org/iso/e n/princi ples.html. XXI. Agile is the new normal, [Online]. Available:http://www8.hp.com/h20 195/v2/getpdf.asp x/4AA5- 7619ENW.pdf?ver=1.0. XXII. J. Grenning, Planning Poker or How to Avoid Analysis Paralysis While Release Planning, 2002, http://www.renaissancesoftware.net/ files /articles/PlanningPoker- v1.1.pdf (last accessed 28.10.2013). XXIII. V. Mahnic, T. Hovelja, On Using Planning Poker for Estimating User Stories, Journal ofSystems and

22 Page 10-22 © MANTECH PUBLICATIONS 2019. All Rights Reserved