You are on page 1of 76

Agile Software Development Processes for Mobile Environments

Agile Software Development Processes for Mobile Environments Luis Corral PhD Candidate Center for Applied Software Engineering

Luis Corral

PhD Candidate

Agile Software Development Processes for Mobile Environments Luis Corral PhD Candidate Center for Applied Software Engineering

Center for Applied Software Engineering

Free University of Bozen-Bolzano, Italy

¡Mucho Gusto!

Querétaro, Qro. (1981) Education

ISC: Instituto Tecnológico de Querétaro 1998/2002 MCC: Universidad Autónoma de Guadalajara 2004/2008

PhD:

Libera Università di Bolzano 2011/2014

Professional

General Electric Aviation 2002/2010 (Software Engineer) Universidad Autónoma de Querétaro 2007/2010 (Lecturer)

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Introduction

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Problem Statement

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Discussion

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Motivation

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Agile Approach

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Conclusions

Introduction ● Smartphones: ● Ubiquitous ● Powerful ● Profitable ● Heterogeneous ● Particularly “limited” ● Major

Introduction

Smartphones:

Ubiquitous Powerful Profitable Heterogeneous Particularly “limited”

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

Mobile Environment: A Complex Ecosystem

Resource-limited
Resource-limited

More than simple communications

Great computing capabilities

Efficient, attractive, profitable products ...

...

Require

trustable and affordable processes.

Apps Cover a Large Range of Goals

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

Apps Cover a Large Range of Goals ● Communications ● Entertainment ● Location-based apps ● Context-aware

...

But They Have to Deal with Limitations

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

... But They Have to Deal with Limitations ● Size, weight ● Computational resources ● Energy
Development Panorama ● Mobile app markets host thousands of products. ● Downloads reach numbers of millions

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?

Some Numbers

Some Numbers Number of apps (2013) ● ● +750,000 (iOS App Store) +800,000 (Google Play) Source:

Number of apps (2013)

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

Source: Google, Apple

Some Numbers Number of apps (2013) ● ● +750,000 (iOS App Store) +800,000 (Google Play) Source:

Number of Downloads (2013)

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

Source: XYOLogic App Search Co.

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

Mobile Software Engineering Methodologies and practices to apply the principles of Software Engineering targeted to a
Open Question ● What is a high quality app? ● How can we determine if a

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?

Trying to Solve the Question ● How to develop “good” software? ● Traditional development and quality

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:

Trying to Solve the Question ● How to develop “good” software? ● Traditional development and quality

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

Trying to Solve the Question ● How to develop “good” software? ● Traditional development and quality

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.

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Introduction

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Problem Statement

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Discussion

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Motivation

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Agile Approach

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Conclusions

Broad Scope, High Impact ● Mobile devices challenge desktop systems as the most important platform to

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

Environment Limitations Evolving ● Will be solved in the future, with the evolution of the technology

Environment Limitations

Evolving

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

Bandwidth Coverage Processor's speed ...

Inherent

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

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

Market Conditions ● Application stores are a primary and influential channel for the dissemination of end-user

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.

Market Conditions ● Application stores are a primary and influential channel for the dissemination of end-user
Market Conditions ● Application stores are a primary and influential channel for the dissemination of end-user
Addressing all These Needs ● Developers require the means to 1. Conduct comprehensive software development processes

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.

Let's Tackle Them! ● The rest of the talk covers Step 1 1. Conduct comprehensive software

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.

Introduction Problem Statement Discussion Motivation Conclusions

Introduction

Introduction Problem Statement Discussion Motivation Conclusions

Problem Statement

Introduction Problem Statement Discussion Motivation Conclusions

Discussion

Introduction Problem Statement Discussion Motivation Conclusions

Motivation

Introduction Problem Statement Discussion Motivation Conclusions

Agile Approach

Introduction Problem Statement Discussion Motivation Conclusions

Conclusions

Problem Statement Outlining key mobile quality drivers: ● The mobile environment itself, ● The expectations of

Problem Statement

Outlining key mobile quality drivers:

The mobile environment itself,

Problem Statement Outlining key mobile quality drivers: ● The mobile environment itself, ● The expectations of

The expectations of the end-user,

The restrictions set by application markets.

Problem Statement ? Outlining key mobile quality drivers: ● The mobile environment itself, ● The expectations

Problem Statement

?

Problem Statement ? Outlining key mobile quality drivers: ● The mobile environment itself, ● The expectations

Outlining key mobile quality drivers:

The mobile environment itself,

Problem Statement ? Outlining key mobile quality drivers: ● The mobile environment itself, ● The expectations

The expectations of the end-user,

The restrictions set by application markets.

Problem Statement ● Is there any way to respond to the challenges imposed by the 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.

More Specifically ● What are the processes that respond efficiently to the challenges environment ... of

More Specifically

What are the processes that respond

efficiently to the challenges environment ...

of the mobile

...

and

facilitate the development of high

quality products of this domain?

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

Contributions

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

Contributions ● Software Engineering literature proposes different frameworks for conducting mobile software projects.
Contributions ● The most influential mobile-specific software methodology was introduced in 2004. ● Since then, new

Contributions

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

Since then, new ideas have been incorporated.

Developing for Mobile: Main Approaches ● Agile Methods, NPI Engineering, Spiraling and Plan-based methodologies have been

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.

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Introduction

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Problem Statement

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Discussion

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Motivation

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Agile Approach

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Conclusions

Agile Values Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration

Agile Values

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation Responding to change over following a plan

“There is value in the items on the right, but we value the items on the left more”

-The Agile Manifesto

Agile Home Ground Themes ● Phasing and Pacing ● Architecture Line ● Test-Driven Development ● Continuous

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

Introducing Agile for Mobile ● What are the Agile-based methodologies that have been proposed for 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?

We are Selective 1)We'll speak only about methodologies specific and mainly applied for mobile applications. 2)Based

We are Selective

We are Selective 1)We'll speak only about methodologies specific and mainly applied for mobile applications. 2)Based

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.

Selected Methodologies ● Mobile-D (Abrahamsson et al., 2004) ● MASAM (Jeong, Lee and Shin, 2008) ●

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)

Research Timeline

Research Timeline

Research Timeline
Mobile-D ● Mobile-D™ is VTT's (Finland Research Centre) methodology for Agile software development. ● Inspired on

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.

Mobile-D ● Documented extensively. ● Deeply influential in subsequent works. ● Applied in academic settings, but

Mobile-D

Documented extensively. Deeply influential in subsequent works.

Applied in academic settings, but also in large industry projects (F-Secure, Philips, Nokia, etc.)

Mobile-D ● Organized sequentially. ● Promoves iterations. ● Each phase involves a structured sprint. ● Practices

Mobile-D

Mobile-D ● Organized sequentially. ● Promoves iterations. ● Each phase involves a structured sprint. ● Practices

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.

Mobile-D ● Each step in the sprint is structured and documented. ● Templates are provided in

Mobile-D

Mobile-D ● Each step in the sprint is structured and documented. ● Templates are provided in

Each step in the sprint is structured and documented.

Templates are provided in the website.

● ● Mobile-D Pros: ● Excellent structure and organization. ● Flexible: promotes iterations and team/customer communication.

Mobile-D

Pros:

Excellent structure and organization. Flexible: promotes iterations and team/customer communication. Makes use of a number of proven Agile practices.

Cons:

Extremely methodological, the structure can be overwhelming.

Too much documentation can challenge the basic principles of Agility.

MASAM ● 4-step methodology based on Extreme Programming and RUP. ● Close ties with the Eclipse

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.

MASAM ● Each phase comprises a series of iterations. ● Preparation: Identify product, roles, responsibilities. ●

MASAM

MASAM ● Each phase comprises a series of iterations. ● Preparation: Identify product, roles, responsibilities. ●

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.

● ● MASAM Pros: ● Takes advantage of a well-settled development framework (Eclipse Process Framework) ●

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.

Hybrid Methodology ● First attempt to merge Agile methodologies with plan- based methodologies: ● Agile practices

Hybrid Methodology

First attempt to merge Agile methodologies with plan- based methodologies:

Agile practices Methodology Engineering NPI (New Product Introduction) – common in Engineering manufacturing (automotive, aerospace) Mixing them all, a “Hybrid” methodology is produced.

Hybrid Methodology ● A traditional, plan-based development process is baselined. ● Different iterarions incorpore practices from
Hybrid Methodology
● A traditional, plan-based development process is baselined.
● Different iterarions incorpore practices from Agile, Method
Engineering and NPI.
Hybrid Methodology ● Finally, it is organized and structured in a singleton.

Hybrid Methodology

Hybrid Methodology ● Finally, it is organized and structured in a singleton.

Finally, it is organized and structured in a singleton.

● ● Hybrid Methodology Pros: ● Acknowledges the fact that Agile is not a “Silver Bullet”.

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.

Scrum ● Builds on top of Scrum, a well-known Agile methodology based on iterations. ● It

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.

Scrum ● Sprint Planning: – Job is taken from a collection called “Backlog”. ● Sprint Execution:

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.

Scrum

Scrum

Scrum

● ● Pros: Scrum ● Great relationship between pending work and time. ● Facilitates work estimation

Pros:

Scrum

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

Scrum Lean Six Sigma ● Another hybrid approach. ● Integrates: ● An Agile approach: Scrum ●

Scrum Lean Six Sigma

Another hybrid approach. Integrates:

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

Scrum Lean Six Sigma ● Scrum: Already explained ● Lean: Preserving value with less work. –

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

Scrum Lean Six Sigma ● How to combine them all? ● Work in Sprints ● Statistically

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

Scrum Lean Six Sigma

Scrum Lean Six Sigma

Scrum Lean Six Sigma

● ● Pros: Scrum Lean Six Sigma ● The ones already explained in Scrum. ● Very

Pros:

Scrum Lean Six Sigma

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

And If You Don't like Agile ● Mobile Development Process Spiral (2012) – Integrates mobile-specific usability

And If You Don't like Agile

Mobile Development Process Spiral (2012) Integrates mobile-specific usability matters into existing development processes. Intel Mobile Application Development Framework (2012) 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.

Introduction Problem Statement Motivation Agile Approach Conclusions

Introduction

Introduction Problem Statement Motivation Agile Approach Conclusions

Problem Statement

Introduction Problem Statement Motivation Agile Approach Conclusions

Discussion

Introduction Problem Statement Motivation Agile Approach Conclusions

Motivation

Introduction Problem Statement Motivation Agile Approach Conclusions

Agile Approach

Introduction Problem Statement Motivation Agile Approach Conclusions

Conclusions

Discussion ● The reviewed Agile-based frameworks deem to suit the needs of the mobile environment. ●

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.

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.

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.

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

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)

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.

Agile and the Evolution of the Domain

Agile and the Evolution of the Domain Mapping between Agile Ground Themes and Mobile Development

Mapping between Agile Ground Themes and Mobile Development

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.

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.

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Introduction

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Problem Statement

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Discussion

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Motivation

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Agile Approach

Introduction Problem Statement Discussion Motivation Agile Approach Conclusions

Conclusions

Summary ● Mobile applications differ from desktop software due to their particular execution environment, limited resources,

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 this domain.

best way

develop high quality products in

Summary ● We review 5 Agile methodologies: Mobile-D, MASAM, Hybrid, Scrum and SLeSS. ● Agile methods

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.

Summary ● Still missing a clear link between the proposed methodologies and their utilization in a

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.

Future Work ● Next steps: ● The conduction of an experiment that will supply the empirical

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

Conclusions ● Mobile requires Agility. Large, obese projects will not success in such a dynamic world

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.

Conclusions ● To provide a final answer, there is a clear need of conducting evidence-based research

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.

Thank you for your Attention

Questions?

Luis Corral

Libera Università di Bolzano

www.LuisCorral.webs.com

@Luis_Corral

Thank you for your Attention Questions? Luis Corral Libera Università di Bolzano <a href=Luis.Corral@stud-inf.unibz.it www.LuisCorral.webs.com @Luis_Corral " id="pdf-obj-74-16" src="pdf-obj-74-16.jpg">

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., Jäälinoja, J., Korkala, M., Koskela, J., Kyllönen, P., Salo, O.; Mobile-D: An Agile approach for mobile application development. In proceedings of OOPSLA’04. 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 Web- Based 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.