Anda di halaman 1dari 76

UNAM Mobile

Agile Software Development Processes for Mobile Environments

Luis Corral
PhD Candidate

Center for Applied Software Engineering Free University of Bozen-Bolzano, Italy

UNAM Mobile

Mucho Gusto!

Quertaro, Qro. (1981) Education


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

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Introduction

Motivation

Problem Statement

Agile Approach

Discussion

Conclusions

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Introduction

Smartphones:

Ubiquitous Powerful Profitable Heterogeneous Particularly limited

Major platform for the distribution and utilization of end-user software.


Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Mobile Environment: A Complex Ecosystem

Resource-limited More than simple communications

Great computing capabilities

Efficient, attractive, profitable products... ...Require trustable and affordable processes.

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Apps Cover a Large Range of Goals

Communications Entertainment Location-based apps Context-aware computing Social media Mission-critical apps

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

... But They Have to Deal with Limitations

Size, weight Computational resources Energy resources Small display Limited I/O mechanisms

Luis Corral - Free University of Bozen/Bolzano, Italy

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?

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Some Numbers

Number of apps (2013)

Number of Downloads (2013)

+750,000 (iOS App Store) +800,000 (Google Play)


Source: Google, Apple

Estimated +40,000,000,000 both of them


Source: XYOLogic App Search Co.

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Mobile Software Engineering


Methodologies and practices to apply the principles of Software Engineering targeted to a smart mobile device, including:

Software development processes System architectures Performance management Software measurement Energy-aware computing

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Open Question

What is a high quality app?

How can we determine if a given app is of high quality?


High ratings Positive reviews Nice performance

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

Trying to Solve the Question

How to develop good software?

Traditional development and quality frameworks offer comprehensive criteria for the evaluating general-purpose software products. Ideas?

Development: Quality:

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Trying to Solve the Question

How to develop good software?

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, ...

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Trying to Solve the Question

How to develop good software?

Traditional development and quality frameworks offer comprehensive criteria for the evaluating general-purpose software products, but...

None of them has been developed considering the context of

Mobile execution environments. Mobile application markets.


Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Introduction

Motivation

Problem Statement

Agile Approach

Discussion

Conclusions

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Broad Scope, High Impact

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 :)

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Environment Limitations
Evolving

Inherent

Will be solved in the future, with the evolution of the technology

Cannot be solved, they are the essence of the environmnent!

Bandwidth Coverage Processor's speed...

Small screen Limited energy source Small I/O means...

Luis Corral - Free University of Bozen/Bolzano, Italy

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.

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Addressing all These Needs

Developers require the means to


1. Conduct comprehensive software development processes that lead to successful products. 2. Measure the quality of their mobile apps from a quantitatively and domain specific point of view.

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Let's Tackle Them!

The rest of the talk covers Step 1


1. Conduct comprehensive software development processes that lead to successful products. 2. Measure the quality of their mobile apps from a quantitatively and domain specific point of view.

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Introduction

Motivation

Problem Statement

Agile Approach

Discussion

Conclusions

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Problem Statement

Outlining key mobile quality drivers:

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

Outlining key mobile quality drivers:

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.

Luis Corral - Free University of Bozen/Bolzano, Italy

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?

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Contributions

Software Engineering literature proposes different frameworks for conducting mobile software projects.

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Contributions

The most influential mobile-specific software methodology was introduced in 2004.

Since then, new ideas have been incorporated.

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Developing for Mobile:


Main Approaches

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.

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Introduction

Motivation

Problem Statement

Agile Approach

Discussion

Conclusions

Luis Corral - Free University of Bozen/Bolzano, Italy

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

Agile Home Ground Themes

Phasing and Pacing Architecture Line Test-Driven Development Continuous Integration Pair Programming

Metric Collection Agile Software Process Improvement Off-Site Customer User-Centered Focus

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Introducing Agile for 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?

Luis Corral - Free University of Bozen/Bolzano, Italy

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)

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Research Timeline

Luis Corral - Free University of Bozen/Bolzano, Italy

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.

Luis Corral - Free University of Bozen/Bolzano, Italy

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.)

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Mobile-D

Organized sequentially. Promoves iterations.

Each phase involves a structured sprint. Practices are tagged as mandatory, optional, etc.

Identifies stakeholders upfront. Aims to shorten the development timeline.


Luis Corral - Free University of Bozen/Bolzano, Italy

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

Each phase comprises a series of iterations.

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

First attempt to merge Agile methodologies with planbased methodologies:

Agile practices Methodology Engineering NPI (New Product Introduction) common in Engineering manufacturing (automotive, aerospace)

Mixing them all, a Hybrid methodology is produced.

Luis Corral - Free University of Bozen/Bolzano, Italy

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

Finally, it is organized and structured in a singleton.


Luis Corral - Free University of Bozen/Bolzano, Italy

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:

Job is taken from a collection called Backlog.

Sprint Execution:

Daily stand-up meetings. Detailed implementation of the product. Each sprint delivers a functional product.

Sprint Completion:

Product review. Definition of the new Backlog.


Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Scrum

Luis Corral - Free University of Bozen/Bolzano, Italy

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

Scrum Lean Six Sigma

Another hybrid approach. Integrates:

An Agile approach: Scrum A manufacturing philosophy: Lean Statistical quality control: Six Sigma

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Scrum Lean Six Sigma

Scrum: Already explained Lean: Preserving value with less work.

Eliminate waste that provides no value to the customer.

Six Sigma: Quality controlled by statistics.


Targeting 3.4 defects per million opportunities. DMAIC methodology: Define, Measure, Analyze, Improve, Control
Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Scrum Lean Six Sigma

How to combine them all?

Work in Sprints Statistically analyze the results Apply Lean process improvement

Process analysis/improvement Action plans

Calculate the new backlog Repeat


Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Scrum Lean Six Sigma

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Scrum Lean Six Sigma

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

And If You Don't like Agile

Mobile Development Process Spiral (2012)

Integrates mobile-specific usability matters into existing development processes. Intended to implement business processes.

Intel Mobile Application Development Framework (2012)

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

Luis Corral - Free University of Bozen/Bolzano, Italy

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.

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Are Agile methods the best fit?

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

Is Agile impacting the final product?

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

Is Agile impacting the final product?

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.

Great focus on the what, less focus on the how.

Instead, we need to look for Design Guidelines or Implementation Best Practices to effectively implement a product that is suitable for the mobile domain.

Google Design Practices W3C Design Practices UTI Design Practices


Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

What is the Evidence?

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)

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Agile and the Evolution of the Domain

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.

Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Agile and the Evolution of the Domain

Mapping between Agile Ground Themes and Mobile Development


Luis Corral - Free University of Bozen/Bolzano, Italy

UNAM Mobile

Agile and the Evolution of the Domain

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

Agile and the Evolution of the Domain

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

Luis Corral - Free University of Bozen/Bolzano, Italy

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.

Luis Corral - Free University of Bozen/Bolzano, Italy

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.

Luis Corral - Free University of Bozen/Bolzano, Italy

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

Thank you for your Attention Questions?

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.

Luis Corral - Free University of Bozen/Bolzano, Italy

Anda mungkin juga menyukai