Suitability and Contribution of Agile Methods in Mobile Software Development 100502047.
-
Upload
verity-hampton -
Category
Documents
-
view
216 -
download
0
Transcript of Suitability and Contribution of Agile Methods in Mobile Software Development 100502047.
Suitability and Contribution of Agile Methods in Mobile Software Development
報告人 : 王禹軒100502047
Challenge• Increasing mobile app complexity•Changing hardware•Multiple platforms•Security•Network communication•Easy to use UI•Managing requirement from multiple stakeholders
and managing activities from entire development lifecycle.
Limitation• Customer requirements change frequently• Limited physical resources• Different OS and Hardware• Security• Bandwidth• Screen size• Memory capacity• Battery • Small keyboard size• Coverage• Different input method
Why use agile method in mobile app development?
A lot of potential users with demand of fast delivery
of these app(app’s life cycle are short), so engineer
should develop application in a efficient way with less
cost and high quality
Not just efficient
Luis Corral, Alberto Sillitti and Giancarlo Succi
concluded that first of all agile practices should be
used for mobile application development but these
methodologies based on agile model need to be fine
tuned to meet the needs of mission critical
applications and safety.
What kind of methods are analyze?Harleen K. Flora, Dr. Swati V. Chande have reviewed
and analyzed mobile application development processes using agile methodology.
According to them agile practices are natural fit for mobile application development. Starting from Mobile-D, they covered all other agile practices for mobile app development, like RaPiD7, Hybrid Methodologies, MASAM and SLeSS.
Literatures review covers the comparison of agilemethodologies on the basis of limitations andcharacteristics for mobile application development.Mostly these comparative studies are done bydefining four categories which are as follows: • social influences and human•bases of agile methodology• introduction and adaptation•finally comparative study. In these comparative studies it is found that usage ofagile methodology is beneficial
Comparative analysis is done based on 5 perspectives:
•Software development life cycle with the process aspect
•Theoretical principles v.s. concrete regulation•Project management•Generally predefined v.s. situation suitable.•Empirical evidence.
CHANGING MOBILE ENVIRONMENTThey need processes that respond efficiently while
facing these challenges and cope with changing requirements of mobile environment.
Agile Methods, spiral methodology, NPD engineering and Plan base methodologies have been proposed to cope the needs of mobile app development and to provide high quality products.
AGILE FOR MOBILE DEVELOPMENTThe focus of agile approach is to deliver
iterativeand increment product
Mobile-Dis drawn from agile practices and can meet the needs
of changing mobile environment.It works on 9 principle elements extracted from agile
practices and is tested on some development project and effectively evaluated against CMMI level 2. Mobile-D is good for small teams and short projects.
(proposed by Abrahamsson et al.)
RaPiD7Dooms et al. proposed the method to producebetter product based on improved documentation.The idea was simple - to create reality baseddocument with as minimum effort as possible. Weknow that by better human interaction anddocumentation better quality product can bedeveloped. RaPiD7 actually, embraces two very agile practices:Whole Team & Do the Simplest Thing That Will Work.
Hybrid methodology Designis based on many practices like agility, reviewmeeting, reusability support, market awareness,market base architecture, etc. this methodology iscompleted in four iterationsDevelopment starts with generic SDLC(softwaredevelopment life cycle)
MASAM (mobile application software agile methodology)is based on swift production and delivery of mobileapplications using Extreme Programming, Agile unifiedProcess, RUP and SPEM. It has some variation, from Mobile-D rather showsstrong tie with it - like follow up tools and projectmanagement. It has three process assets i.e. roles,tasks and work product. It undergoes four phasesnamely Preparation, Embodiment, Development andCommercialization Phase.
SLeSSintegrated Scrum with Lean Six Sigma.Scrum is used for software development andproject management even for complex projectswhile Lean Six Sigma (LSS) reducing defects andeliminating waste provide better quality product.
How to choose?it’s up to developer and organization whichmethodology they select based on team size andproject complexity.so there is no hard or fast rule to choose somemethodology among all of these. Rather oneshould go through pros and cons of using thesemethodologies while developing some specific app,and then pick the one with maximum advantages.
Table I provides mapping of agile home ground(team is
flexible enough to embrace changing needs)
characteristics to corresponding view of mobile app
development, made available in 2005. Though agile
methods were considered best fit for mobile software
but the fact is that mobile devices and platforms are
evolving at very fast speed, and at that time mobile
business was different from current one.
Differences between this mapping and current status of mobile domain are identified as under• Though new models, new devices and platform are introduced
each year but still mobile developers also have settles operating platform like iOS and Android and they possess their own APIs and SDKs. So new models can easily interact with previous one.
• Now user needs are different so there are mobile apps for banking as well as health monitoring and these apps need to follow strict standards. Consequently we can’t classify them as non-critical software.
• Nowadays mobile apps are no more standalone. They interact with other system as well as collaboration tool using hardware resources, etc. this implies that mobile software is not anymore small.
BENEFITS OF USING AGILEBesides the fact that agile provides significantways to speed up the development of mobile appprojects, there are some other benefits as well –that count in enhancing the market positionof your organization
1. Boost up delivery build minimum viable product and deliver it toyour customer in minimum possible time.This fast delivery of product and inquisitiveness ofversioning factor marks up market value of thatproduct.
2. Responsiveness towards changing market needs
Technology is enhancing and changing with veryfast pace and so is the proliferation in mobilemarket. Thus, need of the hour is to copewith changing market trends and customersrequirements efficiently.
3. Risk identified at early stageAgile is an adaptive approach in which the teamtackles the problems as they arise. The team must be well prepared to undertake anyrisk coming on their way. Risks are identified atearlier stages because of customer evolvementand feedback at each phase of the project.