Luis Corral
PhD Candidate
UNAM Mobile
Mucho Gusto!
ISC: Instituto Tecnolgico de Quertaro 1998/2002 MCC: Universidad Autnoma de Guadalajara 2004/2008 PhD: Libera Universit di Bolzano 2011/2014 General Electric Aviation 2002/2010 (Software Engineer) Universidad Autnoma de Quertaro 2007/2010 (Lecturer)
Professional
UNAM Mobile
Introduction
Motivation
Problem Statement
Agile Approach
Discussion
Conclusions
UNAM Mobile
Introduction
Smartphones:
UNAM Mobile
UNAM Mobile
Communications Entertainment Location-based apps Context-aware computing Social media Mission-critical apps
UNAM Mobile
Size, weight Computational resources Energy resources Small display Limited I/O mechanisms
UNAM Mobile
Development Panorama
Mobile app markets host thousands of products. Downloads reach numbers of millions a day. How to produce successful apps in such a wide and competitive market?
UNAM Mobile
Some Numbers
UNAM Mobile
Software development processes System architectures Performance management Software measurement Energy-aware computing
UNAM Mobile
Open Question
Can we link the quality goals of the mobile software market with practices to develop a succesful application? How can we assure this compliance?
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Traditional development and quality frameworks offer comprehensive criteria for the evaluating general-purpose software products. Ideas?
Development: Quality:
UNAM Mobile
Traditional development and quality frameworks offer comprehensive criteria for the evaluating general-purpose software products.
Ideas?
Development: Waterfall, Spiral, V-Model, ... Quality: McCall, FURPS+, ISO9126-ISO25010, ...
UNAM Mobile
Traditional development and quality frameworks offer comprehensive criteria for the evaluating general-purpose software products, but...
UNAM Mobile
Introduction
Motivation
Problem Statement
Agile Approach
Discussion
Conclusions
UNAM Mobile
Mobile devices challenge desktop systems as the most important platform to distribute and utilize software.
...Then, they are a very attractive target to develop for. UNAM Mobile is a clear example :)
UNAM Mobile
Environment Limitations
Evolving
Inherent
UNAM Mobile
Market Conditions
Application stores are a primary and influential channel for the dissemination of end-user mobile software products. And they establish minimum conditions to be met in order to be showcased.
UNAM Mobile
UNAM Mobile
UNAM Mobile
Introduction
Motivation
Problem Statement
Agile Approach
Discussion
Conclusions
UNAM Mobile
Problem Statement
The mobile environment itself, The expectations of the end-user, The restrictions set by application markets.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Problem Statement
The mobile environment itself, The expectations of the end-user, The restrictions set by application markets.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Problem Statement
Is there any way to respond to the challenges imposed by the Mobile Software?
Different development practices have been introduced. Proposed frameworks or life cycles for producing mobile software.
UNAM Mobile
More Specifically
What are the processes that respond efficiently to the challenges of the mobile environment... ...and facilitate the development of high quality products of this domain?
UNAM Mobile
Contributions
Software Engineering literature proposes different frameworks for conducting mobile software projects.
UNAM Mobile
Contributions
UNAM Mobile
Agile Methods, NPI Engineering, Spiraling and Plan-based methodologies have been proposed.
The majority of the methodologies show a convergent approach based on the Agile home ground themes.
UNAM Mobile
Introduction
Motivation
Problem Statement
Agile Approach
Discussion
Conclusions
UNAM Mobile
Agile Values
Individuals and interactions over Working software over Customer collaboration over Responding to change over
processes and tools comprehensive documentation contract negotiation following a plan
There is value in the items on the right, but we value the items on the left more -The Agile Manifesto
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Phasing and Pacing Architecture Line Test-Driven Development Continuous Integration Pair Programming
Metric Collection Agile Software Process Improvement Off-Site Customer User-Centered Focus
UNAM Mobile
What are the Agile-based methodologies that have been proposed for mobile software development? What is the contribution of Agile methods to address the needs of the mobile software in a real environment?
UNAM Mobile
We are Selective
1)We'll speak only about methodologies specific and mainly applied for mobile applications. 2)Based mainly on Agile practices. 3)Methodologies should have been put in practice 4)Methodologies must have been published in an international journal conference.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Selected Methodologies
Mobile-D (Abrahamsson et al., 2004) MASAM (Jeong, Lee and Shin, 2008) Hybrid (Rahimin and Ramsin, 2008) Scrum (Scharff and Verna, 2010) SLeSS (Cunha et al, 2011)
UNAM Mobile
Research Timeline
UNAM Mobile
Mobile-D
Mobile-D is VTT's (Finland Research Centre) methodology for Agile software development. Inspired on Extreme Programming, and RUP. Encourages iterations, TDD, Pair Programming, Continuous Integration. Recommended for projects to be delivered within 8 to 10 weeks of calendar time.
UNAM Mobile
Mobile-D
Documented extensively. Deeply influential in subsequent works. Applied in academic settings, but also in large industry projects (F-Secure, Philips, Nokia, etc.)
UNAM Mobile
Mobile-D
Each phase involves a structured sprint. Practices are tagged as mandatory, optional, etc.
UNAM Mobile
Mobile-D
Each step in the sprint is structured and documented. Templates are provided in the website.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Mobile-D
Pros:
Excellent structure and organization. Flexible: promotes iterations and team/customer communication. Makes use of a number of proven Agile practices. Extremely methodological, the structure can be overwhelming. Too much documentation can challenge the basic principles of Agility.
Luis Corral - Free University of Bozen/Bolzano, Italy
Cons:
UNAM Mobile
MASAM
4-step methodology based on Extreme Programming and RUP. Close ties with the Eclipse Process Framework:
Configuring and publishing a process. Library and component management. Integration builds. Iterative, agile, and incremental development.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
MASAM
Preparation: Identify product, roles, responsibilities. Embodiment: Understand needs, define architectures. Development: Implementation of Agile: XP, TDD, PP. Commercialization: Product launching and selling.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
MASAM
Pros:
Takes advantage of a well-settled development framework (Eclipse Process Framework) Introduces for the first time principles of market awareness.
Cons:
Inspired on Mobile-D, only proposes minor procedural changes. Useless if Eclipse is not used! (e.g. iOS projects) Not a single case study is shown to prove its value.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Hybrid Methodology
Agile practices Methodology Engineering NPI (New Product Introduction) common in Engineering manufacturing (automotive, aerospace)
UNAM Mobile
Hybrid Methodology
A traditional, plan-based development process is baselined. Different iterarions incorpore practices from Agile, Method Engineering and NPI.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Hybrid Methodology
UNAM Mobile
Hybrid Methodology
Pros:
Acknowledges the fact that Agile is not a Silver Bullet. Takes the best from plan-based and Agile methods. Furnishes a very comprehensive methodology. Is iterative yet quality and market aware.
Cons:
Authors recommend that requirements should be clear upfront. Like MASAM, nobody (not even authors) have implemented it! - no case study, experience report is provided.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Scrum
Builds on top of Scrum, a well-known Agile methodology based on iterations. It is structured in phases of 1 to 4 weeks called sprints. Work is facilitated by a Scrum Master The project is tracked by a burndown chart, this is, the relationship between the pending work and the time.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Scrum
Sprint Planning:
Sprint Execution:
Daily stand-up meetings. Detailed implementation of the product. Each sprint delivers a functional product.
Sprint Completion:
UNAM Mobile
Scrum
UNAM Mobile
Scrum
Pros:
Great relationship between pending work and time. Facilitates work estimation w.r.t. project timeline. Pending items are eventually addressed, while they remain in the Backlog. All team members participate on the same activities.
Cons:
Requires people trained on the methodology (e.g. a Master). Only 1 example of its utilization (the author's one).
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
An Agile approach: Scrum A manufacturing philosophy: Lean Statistical quality control: Six Sigma
UNAM Mobile
Targeting 3.4 defects per million opportunities. DMAIC methodology: Define, Measure, Analyze, Improve, Control
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Work in Sprints Statistically analyze the results Apply Lean process improvement
UNAM Mobile
UNAM Mobile
Pros:
The ones already explained in Scrum. Very disciplined statistic quality control. Continuous improvement and process feedback.
Cons:
Requires people trained on the methodology (Scrum, Lean and Six Sigma). Rigurous statistics can be a burden. It does not seem too Agile.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Integrates mobile-specific usability matters into existing development processes. Intended to implement business processes.
Note it: Some recent methodologies have powered the Agile methodology with non-agile practices, or have preferred a different approach.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Introduction
Motivation
Problem Statement
Agile Approach
Discussion
Conclusions
UNAM Mobile
Discussion
The reviewed Agile-based frameworks deem to suit the needs of the mobile environment. Let's discuss:
a) The suitability of Agile methods to fit the mobile needs. b) The success of Agile methods to implement suitable products. c) The real use of the proposed methodologies. d) The rise of new conditions that challenge some of the premises upon which the proposed methodologies were designed.
UNAM Mobile
Mobile apps should be developed quickly and keeping a low price in a competitive market of millions of potential users and products.
Agile practices allows adapting processes and practices to the unsteady needs of the mobile domain. Agile methods provide flexibility to understand the market, structure the product and release it short time frames.
However... something is missing. We can note it, later methodologies that incorporate plan-based strategies.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
At the level of abstraction presented in the papers and experience reports, is hard to make this claim.
Example: Let's consider a scenario in which one has to design an application to work in an environment with poor and intermittent connectivity:
What development process (Mobile-D, Scrum, etc.) should be used? Why would the choice be an important factor in the success of the final product? Such questions are generally left open.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Let's face it: Agile practices may suit the business needs of the mobile environment, but ultimately fall short on providing an implementation framework for the mobile product.
Instead, we need to look for Design Guidelines or Implementation Best Practices to effectively implement a product that is suitable for the mobile domain.
UNAM Mobile
Unfortunately, it is poor. If not for Mobile-D all other proposed methodologies have little or no implementation in a real-world setting.
Additional field studies attempt to identify substantiation on the OS of choice, software development kits, type of applications produced, but not in the methodologies. However, they suggest a clear trend on shortening the development cycle and broaden the impact of a single iteration (closely related to some Agile principles)
UNAM Mobile
When Agile methods were considered the best fit for mobile development (2004) the mobile business and development environment were different to the current one. Almost a decade of evolution on the mobile domain (software, hardware and business models) has brought significant advancements. Concepts like App Markets, Location-Based Services, Geolocation, Software Development Kits or Multiplatform development were emerging terms or simply did not exist.
UNAM Mobile
UNAM Mobile
Mobile developers have well settled operating platforms (e.g., iOS or Android) Developers count on software development kits (SDK) and APIs that facilitate/unify the interaction with different device models. Mobile software is still developed by small teams, but it is also part of the strategy of large corporate teams. The range of applications deployed on cellular telephones now includes healthcare monitors or mobile banking apps (then, mission-critical applications). Mobile applications spans not only in standalone games or apps, but they also interacting with other systems or networks.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Mobile developers have well settled operating platforms (e.g., iOS or Android) Developers count on software development kits (SDK) and APIs that facilitate/unify the interaction with different device models. Mobile software is still developed by small teams, but it is also part of the strategy of large corporate teams. The range of applications deployed on cellular telephones now includes healthcare monitors or mobile banking apps (then, mission-critical applications). Mobile applications spans not only in standalone games or apps, but they also interacting with other systems or networks.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Introduction
Motivation
Problem Statement
Agile Approach
Discussion
Conclusions
UNAM Mobile
Summary
Mobile applications differ from desktop software due to their particular execution environment, limited resources, high autonomy requirement, market competition, etc. This situation brings the need of having customized development processes that respond efficiently to these challenges. Published scientific research has converged to select Agile methods as the best way develop high quality products in this domain.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Summary
We review 5 Agile methodologies: Mobile-D, MASAM, Hybrid, Scrum and SLeSS. Agile methods seem to bring value helping to keep up with the mobile business trends. Other mobile-specific constraints like resource limitation are more likely to be managed via development guidelines.
UNAM Mobile
Summary
Still missing a clear link between the proposed methodologies and their utilization in a production setting. Development surveys pay little attention on mobile software development frameworks.
Open question: The Agile paradigm was really adopted, dismissed, or the business created a new one?
The evolution of the mobile environment challenges the original association between the Agile and mobile software.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Future Work
Next steps:
The conduction of an experiment that will supply the empirical data required to validate the effectiveness of the Agile approach through:
Implementing Agile mobile projects Calculating metrics Correlating these metrics with product assessment parameters Measuring customer satisfaction
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Conclusions
Mobile requires Agility. Large, obese projects will not success in such a dynamic world (devices, markets, users, etc.) Mobile can live without Agility. No silver bullet can be claimed, any disciplined development process contributes... and later approaches prove that Agile falls short on solving the complex needs of this heterogeneous world.
UNAM Mobile
Conclusions
To provide a final answer, there is a clear need of conducting evidence-based research that unveils what mobile development practices are actually used. It is neccesary to have a factual picture on how development teams are conducting and managing mobile software projects. These insights may be gained as means of industrial surveys, interviews with mobile software managers and other empirical studies, and from the proactive discussion with the scientific community.
Luis Corral - Free University of Bozen/Bolzano, Italy
UNAM Mobile
Luis Corral
Libera Universit di Bolzano
Luis.Corral@stud-inf.unibz.it www.LuisCorral.webs.com @Luis_Corral
UNAM Mobile
References
Abrahamsson, P.; Mobile software development: the business opportunity of today. In proc. of the International Conference on Software Development, pp. 20-23. 2005 Abrahamsson, P., Hanhineva, A., Hulkko, H., Ihme, T., Jlinoja, J., Korkala, M., Koskela, J., Kyllnen, P., Salo, O.; Mobile-D: An Agile approach for mobile application development. In proceedings of OOPSLA04. 2004. Jeong, Y.J., Lee, J.H., Shin, G.S.; Development process of mobile application SW based on Agile methodology. 10th Intl. Conf. on Advanced Communication Tech., pp. 362-366. 2008. Rahimian, V. Ramsin, R.; Designing an Agile methodology for mobile software development: A hybrid method engineering approach. 2nd International Conference on Research Challenges in Information Science, pp. 337-342. 2008. Scharff, C., Verma, R.; Scrum to support mobile application development projects in a just-in-time learning context. In proc. of the ICSE Workshop CHASE 2010, pp. 25-31. 2010. Cunha, T., Dantas, V., Andrade, R.; SLeSS: A Scrum and Lean Six Sigma integration approach for the development of sofware customization for mobile phones. 25th Brazilian Symposium on Software Engineering, pp. 283-292. 2011. Corral, L., Sillitti, A., Succi, G. Software Development Processes for Mobile Systems: Is Agile Really Taking Over the Business? 1st Workshop on Engineering Mobile-Enabled Systems MOBS 2013, in connection with ICSE 2013 Corral, L. Standard-based Strategy to Assure the Quality of the Mobile Software Product. ACM conference on Systems, Programming, Languages and Applications: Software for Humanity, SPLASH 2012 Companion. Tucson, Arizona. United States of America. ISBN: 978-1-4503-1563-0. pp. 95-96. ACM. Corral, L., Sillitti, A., Succi, G., Garibbo, A., Ramella, P. Evolution of Mobile Software Development from Platform-Specific to WebBased Multiplatform Paradigm. ACM Symposium on New Ideas in Programming and Reflections on Software, ONWARD! 2011. Portland, Oregon. United States of America. ISBN 978-1-4503-0941-7. pp. 181-183 Corral, L., Sillitti, A., Succi, G. Preparing Mobile Software Development Processes to Meet Mission-Critical Requirements. Proceedings of the 2nd Annual Workshop on Software Engineering for Mobile Application Development. Santa Monica, California. United States of America. pp. 9-11.