30
Using Agile to Develop Mobile Apps Version 2013.05.29 Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved. 1 Xelaration Using Agile to Develop Mobile Apps Xelaration – IBM Rational Seminar May 29, 2013

Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

1

Xelaration

Using Agile to Develop Mobile Apps

Xelaration – IBM Rational Seminar

May 29, 2013

Page 2: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

2

Xelaration

Agenda

• Agile – From waterfall to agile – Agile properties – Traditional versus agile – Agile for mobile apps, why not!

• Mobile apps development – Mobile apps landscape – Different kinds of mobile apps – Mobile apps development strategies – Is ASO the new SEO?

• Case study

Page 3: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

3

Xelaration

Agile

Page 4: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

4

Xelaration

Waterfall (Traditional) Lifecycle

Page 5: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

5

Xelaration

Waterfall (Traditional) Lifecycle

Page 6: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

6

Xelaration

Waterfall (Traditional) Lifecycle

• A Dance In The Dark Every Monday

– Analysis

– Design

– Implementation

– Testing

– Documentation

– Evaluation

– Maintenance

Page 7: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

7

Xelaration

Iterative (Unified Process) Lifecycle

Page 8: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

8

Xelaration

Iterative (Unified Process) Lifecycle

Page 9: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

9

Xelaration

Agile (Scrum) Lifecycle

Page 10: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

10

Xelaration

Agile (Scrum) Lifecycle

Page 11: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

11

Xelaration

Agile (Scrum) Lifecycle

Page 12: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

12

Xelaration

Agile Properties

• All agile methodologies share the same properties: – Short development cycles (1-6 weeks) – Self organizing development teams

• Joint planning meetings

• Stand-up meetings

– High personal responsibility of team members • Developers manage their work

• Developers / Teams estimate

– Progress tracking – Ongoing customer involvement – Retrospectives – Use of historical data to improve planning

Page 13: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

13

Xelaration

Traditional Versus Agile

Traditional Agile

Process-oriented with formal hand-offs between roles

Emphasizes values and principles rather than process

Sequential approach: Requirements > Design > Development > Test

Iterative approach produces working software early

Changes are nearly impossible without starting over

Project properties and requirements are re-evaluated at the end of each iteration

Risks mitigated later in the development lifecycle

Risks mitigated earlier in the development lifecycle

Page 14: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

14

Xelaration

Agile for Mobile Apps, Why Not!

Page 15: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

15

Xelaration

Mobile Apps Development

Page 16: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

16

Xelaration

Mobile Apps Landscape

Page 17: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

17

Xelaration

Mobile Apps Landscape

Page 18: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

18

Xelaration

Mobile Apps Landscape

• High user expectations

– Flawless end-user experience.

• Ease of installation

– You press, you get.

• Low cost

– Many free or very affordable apps.

Page 19: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

19

Xelaration

Mobile Apps Landscape

• Mobile computing growing exponentially.

• Gartner forecasts that by the end of 2014 over 185 billion apps will have been downloaded from mobile app stores since the launch of the first one in 2008.

Page 20: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

20

Xelaration

Different Kinds of Mobile Apps 1 of 3

1. Mobile-friendly Web apps 1. Run on any Web browser, any device or computer,

and any platform or operating system

2. Optimized for mobile Web browser (smaller and touch-enabled screens)

3. Generic Web technologies 1. HTML, CSS and JavaScript for client-side interaction and

processing

2. CGI scripts for server-side processing

4. Limited access to device capabilities (GPS, gyroscope, accelerometer, others)

Page 21: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

21

Xelaration

Different Kinds of Mobile Apps 2 of 3

2. Mobile native apps 1. Run on specific mobile device operating systems

(iOS, Android and others) 2. Optimized for specific device capabilities (smaller

and touch-enabled screens, GPS, gyroscope, accelerometer, others)

3. Device-specific technologies 1. Objective C on iOS 2. Android 3. Others

4. Full access to device capabilities (GPS, gyroscope, accelerometer, others)

Page 22: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

22

Xelaration

Different Kinds of Mobile Apps 3 of 3

3. Hybrid mobile apps 1. Run on specific mobile device operating systems (iOS, Android

and others) 2. Optimized for specific device capabilities (smaller and touch-

enabled screens, GPS, gyroscope, accelerometer, others) 3. Generic Web and device-specific technologies

1. HTML, CSS and JavaScript running on device Web view

4. Full access to device capabilities (GPS, gyroscope, accelerometer, others)

5. Frameworks for porting Web apps to native apps 1. PhoneGap 2. Seattle Clouds 3. Others

Page 23: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

23

Xelaration

Mobile Apps Development Strategies

1. Build a mobile-friendly Web app that works on all mobile devices Web browsers.

2. Port mobile-friendly Web app to native app manually or using existing framework such PhoneGap or SeattleClouds.

1. UIWebView in iOS provides a GUI identical to the GUI on a Web browser.

2. Similar classes exist for other mobile platforms.

Page 24: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

24

Xelaration

Is ASO the New SEO?

• Search Engine Optimization (SEO)

– Process of improving a website visibility on the Web when using a search engine (Google)

• App Store Optimization (ASO)

– Process of improving the visibility of a mobile app (iOS, Android or other) on an app store (App Store, Play Store of other)

Page 25: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

25

Xelaration

Case Study

Page 26: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

26

Xelaration

Mobile Apps for Personal Robots

• RoboControl mobile-friendly Web app

– Mobile Web app for controlling personal robots , and reading their sensors, remotely from any Web browser, on any device or computer, and any platform or operating system

• iRoboControl native iOS mobile app

– Native version of RoboControl for iOS available on the Apple App Store

– Ported manually using iOS UIWebView

Page 27: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

27

Xelaration

Web App versus Mobile App

Page 28: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

28

Xelaration

Agile Approach

• 6 months release cycles with 4 week sprints each

– 2011 Q2 Development start

– 2011 Q4 RoboControl 1.0

– 2012 Q2 RoboControl 1.1 and 1.2, and iRoboControl 1.0

– 2012 Q4 RoboControl 2.0 and iRoboControl 2.0

– 2013 Q2 RoboControl 3.0 and iRoboControl 3.0

Page 29: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

29

Xelaration

References

• Xelaration Software – www.xelaration.com

• RoboticApp – www.roboticapp.com

• PhoneGap – www.phonegap.com

• SeattleClouds – www.seattleclouds.com

• Book – “Building iPhone Apps with HTML, CSS, and JavaScript” by

Jonathan Stark

Page 30: Using Agile to Develop Mobile Apps - Xelaration · Title: Using Agile to Develop Mobile Apps Author: scharbonneau Created Date: 5/31/2013 3:22:09 AM

Using Agile to Develop Mobile Apps Version 2013.05.29

Copyright © 2003 – 2013 Xelaration Software Corporation. All rights reserved.

30

Xelaration

Thank you