Agile Methodologies Comparison and mining of challengesinDistributed agile environment AbstractCurrently,the goal of most software companies is to produce software in short time periodwith nominal costs, and within changing environments that encouraged the birthof Agile. Agile processes are not always have been beneficial, they have also someboundaries as well. Comparison ofmethodologies leads towards mining best agile methodologies and then objectivethat which methodologies can work in distributed environment and what bigchallenges will be faced in adopting respective methodology would be achieved.1. IntroductionBasicallyrequirements are dynamic in this business age because of fast developments intechnology, Agile was evolved to deliver best business worth and minimize riskin this IT age. Now software development process has grown into distributedenvironment to attain high quality and reduce cost at a time.
Collocated anddistributed teams in software environment have their own pros and cons.Comparison among agile methodologies would point out working specialty of everymethodology. Then the challenges of agile methodologies can be explored if applied,in a distributed environment.Fig-1 provide visionof fully agile distributed environment. Fig-1Fully Agile Distributed environment2. Agile Methodologies ComparisonThe following are the popular AgileMethodologies:1.
ExtremeProgramming (XP)2. Scrum3. RationalUnified Process (RUP)4. DynamicSystems Development Method (DSDM)5. CrystalMethods (Crystal Clear)6.
LeanDevelopment (LD)7. AdaptiveSoftware Development (ASD)8. ICONIX9.
AgileModeling10. Feature-DrivenDevelopment (FDD)Agile methodologies have beendiscussed in detail in lots of papers. Methodologies comparison is for miningbest agile methodologies in their specific scenarios.Following table shows comparison ofagile methodologies in terms of activities, development times and for suitableprojects. 125 Agile methodologies Methodology Activities Iteration cycle period Projects /Purpose Extreme Programming Pair programming. iterative and incremental development Coding Testing Listening Designing Less possible development time. 1-6 weeks XP is best for small projects Scrum iterative incremental agile practice Sprint Planning Event Daily Scrum (Or Stand-Up) Sprint Review two to four weeks Suitable for competitive situations ASD iterative Speculate Collaboration Learning cycles 4-8 weeks Suitable when Customer change their minds regarding what are their requirements. Smaller and simple projects RUP Iterative and Incremental.
Inception Phase Elaboration Phase (Milestone) Construction Phase (Release) Transition Phase DSDM A base to the rapid application Development (RAD) method. Pre-Project Phase Project Life-Cycle Phase Post- Project Phase. Because of its framework it does not address exact iteration length. All types of complex and as well as simple project.
Crystal Clear Based on philosophy to solve communication problems Crystal Clear main motive is to fulfill the needs of people and not the processes or artifacts. Up to four months for highly critical systems Crystal clear has been applied in many projects like Internet banking LD More Management philosophy Eliminate waste Amplify Learning Decide as late as possible Deliver as fast as possible Empower Team Building Integrity See the whole Has been applied in number of organizations ICONIX Designed strength is based on UML. Also Iterative and incremental approach. To code quickly from minimal set of diagrams. Use case captures functional requirements. Medium sized software development Agile Modeling Not Complete Software development methodology Used with any software development process Focus on documentation and modelling FDD An iterative and incremental software Overall development of the Model.
Building feature list. Feature based planning. Feature based designing. Feature based building. Two week long iterations 2 days-2weeks Large scale projects Table.1Comparison between different agilesoftware developments 3. Surveyed Literature Agile Practices: A Comprehensive Review of Literature& Local Industry is an industrial survey written by Mehwish Zulfiqar ,AbdulRauf, Eisa Aleisa to classify benefits and challenges of Agile practices. Aimis to verify all advantages of agile approach already stated in literature arepracticed in same manner in a software industry and also searching challengesof agile practices by the experts.
As XP and Scrum are setup as commonly usedmethodologies so these two are reflected in this study.It’s found benefits asstated in literature are totally verified in industry practice and newchallenges relevant with use of agile practices are also sighted.Resultsspecify that agile practices raised issues in large firms as agile is projectedfor small firms.
One big issue found was deficiency of empirical studiesemphasizing on examining appliance of agile methodology in detail.Questionnairesbasically comprises of demographic evidence, advantages and challenges of agilepractices.It was found that mostly software firms have not been following aspecified agile methodology rather uses a combination of agile practices.3Review of Agile Software Development Methodologies is written by Khushdeep Sharma, Dr. HimanshuAggarwal as continuously changingrequirements from clients leads to troublesome in software development process, its necessary to move from traditional development towards agilemethodologies to accomplish changing user requirements.XP and Scrum have beendiscussed in detail.
4A Survey of Agile Methodologies is written by E.Mnkandlaand B.Dwolatzky. In this paper agile methodolgies process and projectfeatures have been precisely overviewed. From this it would be explored which agile methodology work or not in distributive environment.
Puposewas to cope with failures of softwaredevelopment projects as software engineering relies on beliefs of quality andreliable software.5In this paper it isclearly mentioned that XP has no design documentation and not supportdistributed teams. So in result it would not work in distributedenvironment.ICONIX software development lies between RUP and XP. Designstrength t is based on UML. Its project features declare that it offer’s degreeof traceability and is for distributed teams. Now as daily meetings are critical for success ofprojects carried out by Scrum methodology, Project features of Scrum have nobuilt in support but can consists of distributed teams.For Feature Driven Development it is mentioned that FDDis designed for many teams but still have no built in support for distributedenvironment but it should be adaptable.
As concern to Dynamic Software Development Methodologyan Incremental Review Document is formed during implementation and does not explicitlyaddress distributed teams.Adaptive Software Methodology is for e-BusinessProjects, Trust in continual adaptation. Can be applied to distributed teams howeverteamwork becomes challenging.
Crystal Methodology is based on idea of solvingcommunication problems. It has built in support for distributed teams. It givespreference to project management Application: Crystal clear have been used innumber of projects.
Lean Software Development has been applied in manyorganizations and is for project management. It allows team but not directlyconfirms distributed teams. Agile Modellingemphasis more on modeling and documentation of software. As it not completedevelopment methodology should use with other methodology. Distribution dependon agile development practice being used.
A comparativestudy of collocated and distributed agile software development is written byKarthik Sistla, Ashlin Paul Sherry and Dr. Manjula R .It compare effectof employment of collocated and distribute teams in agile software development lifecycle. Existing methodologies are tailored in projects to responserequirements. Benefits of distributed agile infer are learning how to communicate well,flexibility of work, Increase in potential of hiring employees and in resultworking environment improved a lot. Meanwhile challenges faced bydistributed teams are differences in timings at various locations, Linguisticand Cultural Barriers are obvious.
Then Availability of software as restrictedin some countries and sharing of resources over secure channel are bigchallenges. Installing proper equipment increase overhead cost.6 DistributedSystems and Recent Innovations: Challenges and Benefits is written by KrishnaNadiminti, Marcos Dias de Assunção, and Rajkumar Buyya for sightseeingmain features and problems in distributed system.7Distributedcomputer seems to be:”A group of independent computersthat seems to the users of the system as a single computer”Key features of a distributedsystem are functional Separation, Inherent distribution, Reliability,Scalability, EconomyKey Issues of distributed systemsare , Heterogeneity, Transparency, Fault tolerance and failure management, Scalability,Concurrency, Openness and Extensibility, Migration and load balancing, Security Table 2 showscomparison of researched papers already talk over among agile methodologies andchallenges Paper Name Authors Year of Publication Methodologies Study/Strategy Empirical study Conclusion Agile Practices: A Comprehensive Review of Literature & Local Industry (Mehwish Zulfiqar ,Abdul Rauf, Eisa Aleisa) 2013 Results conducted on 5 level questionnaire Iterative development has also reported to be the most widely used agile practice. The least used practices in industry are: pair programming and acceptance testing. Software companies do not follow any specific agile method completely; rather they use a mix of agile practices. Review of Agile Software Development Methodologies Khushdeep Sharma, Dr. Himanshu Aggarwal 2016 XP,SCRUM Agile software development methodologies which are based upon incremental and evolutionary concepts are very suitable and effective, but practical adoption of these methodologies is very limited.
A Survey of Agile Methodologies E.Mnkandla and B.Dwolatzky 2004 XP,ICONIX Scrum FDD,Dynamic Software Development Methodology Adaptive Software Methodology Crystal Methodology Lean Software Development Agile Modelling There is lot of discipline in Agile approach. Obvious strength in development of e-application A comparative study of collocated and distributed agile software development. Karthik Sistla, Ashlin Paul Sherry and Dr.
Manjula R. Oct 2016 Collocated and distributed benefits and limitations Questionnaire Determine the impact of collocated teams and distributed teams on agile software development. Distributed Systems and Recent Innovations: Challenges and Benefits Krishna Nadiminti, Marcos Dias de Assunção, and Rajkumar Buyya Main Features and Issues of distributed systems In conclusion, Distributed computing is a very broad area to improve efficiency of business processes and quality of life. Table2.Comparisonof surveyed research papers for agile methodologies and challenges4.
Judgements 4.1 Methodologies that would work in distributed environment: As the methodology which will workin distributed environment have to be mined and then respective challenges.So as it is firmed from researchpapers that in ICONIX face to face communication is not key aspect and crystalmethodologies solves communication problems. Both methodologies would be at topof agile methodologies if applied in distributed environment because they havebuilt in support for distributed environment. Afterwards Adaptive softwaremethodology can be applied to distributed environment. Then Scrum, AM, FDD haveno built in support for distribution but can be adaptive. XP, DSDM and LS doesnot specifically address distribution. Methodologies that have built in support for distributed environment Methodologies that can be applied in distributed environment Adaptive Distributed Agile methodologies Agile Methodologies that have no support for distributed enviornment 4.
2 ChallengesChallenges would be faced when aparticular agile methodology is applied in distributed environment. Challengesthat have been faced in distributed environment, most of that challenges wouldbe part of distributed agile environment. If concerned to main challenge thatan agile methodology would face in distributed environment. It is found fromsurveyed literature that if ICONIX and crystal methodology would applied in distributedenvironment then they would face Linguistics ‘and cultural barriers along withdifference in timings issue. These are general issues and would exists amongall agile methodologies in distributed environment.
As ASD is for e-business it mayface software availability and share of resources issue as big challenges. Scrum will mainly facecommunication issue because communication is key of success for scrum.FDD isfor large scale projects will mainly concern software availability and resourcesharing issues. AM can be used with other methodologies it may faceTransparency and heterogeneity issues. 5. Conclusion andFuture directionAs distributed computing is broadarea with vast potential to improve efficiency of business processes andquality of life .
Evidence of practical adoption of agile methodologies is limitedbut still many methodologies have been applied in number of successful projects.There is need of some Empirical studies or Case study can be carried out onsome small scale IT industries to check practical adoption of agilemethodologies in distributed environment and then confirmation of challenges would be more fully achieved.