mobile application lifecycle with jekins, trello and collabnet teamforge

39
Main sponsor Mobile Application Lifecycle Luca Milanesio

Upload: luca-milanesio

Post on 10-May-2015

5.313 views

Category:

Education


0 download

DESCRIPTION

SmartPhones have revolutionised the way we think and write software: software development on Mobile has and need to be agile ... but how can you make one step further and have actually your SmartPhone to drive your development ? Can Mobile App development and Continuous Delivery be pushed to the edges? See how you can follow every step of your development with your SmartPhone end-to-end: Continuous Integration Continuous Delivery Install Test execution Issue tracking

TRANSCRIPT

Page 1: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Main sponsor

Mobile Application Lifecycle

Luca Milanesio

Page 2: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Who’s that guy ?

Luca MilanesioLMIT Software / GerritForge LLP

Over 20 years of disruptive activity in the Software Development Lifecycle

Git enthusiast since 2009 and innovator in large enterprises

Gerrit contributor since 2011, driving plugin and ALM Integration

Jenkins CI contributorfounder of Jenkins-Mobi

Page 3: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

• Why are we doing this ?• Agile lifecycle on Mobile Development• One step forward to continuous

delivery• Mobile ALM in a real life experiment• Beyond development … everything

Mobile• Call to action !

Agenda

Page 4: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Why are we doing this ?

Who is a Mobile Application Developer ?

Who is working in a team ?

Raise your hand !

Page 5: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Anatomy of a typical (mobile) Project

Client (mobile) tier• Rich client UX• Multi handset

(Android / iOS / WP8)• Hybrid / Mobile Web

UX• Local caching

Server (cloud) tier• RESTFul API• Multiple client

support (native versions, Web)

• User authentication• Persistent storage

Page 6: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Why (mobile) Project is more complex ?

Client (mobile) platforms diversity is hell !!!

Page 7: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Lifecycle of a (mobile) Project

Page 8: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Is it really agile ?

Agile software development means:1. Always working software through

Continuous Integration2. Welcome change at any stage3. Close daily collaboration with Business4. Short loop of changes / feedback5. Simplicity

Page 9: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Impediments in (mobile) Agility (1/3)

1. Complex client runtime environment– Mobile Phones are not PCs– Emulators <> real handsets– Physical limits to Continuous Integration

Page 10: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Impediments in (mobile) Agility (2/3)

2. Client / Server integration– multi-Client with multi-Server versions– Different Client vs Server environment– Changes often impact multiple tiers

Page 11: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Impediments in (mobile) Agility (3/3)

3. Client distribution / installation– Native channels for distributing clients

(Google Play, AppStore, Windows Phone Store) – Delay from built to deployed to handsets– Problems in getting Business up-to-date

Page 12: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

What would we need for extra agility ?

1. Real continuous delivery to real handsets

Cloud deploy

Client deploy

Change Build

Page 13: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

What would we need for extra agility ?

2. Client upgrade and notification in real-time

Client Ver. X

One-tap upgrade

Client Ver. X+1

Page 14: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

What would we need for extra agility ?

3. Bring all together in a single place

Cardwall

Issues Monitor

Client AppVer. X

Continuous Integration

Changes

Page 15: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Hold on … don't we have that ?

[email protected]

***************

Page 16: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Hold on … don't we have that ?

Monitor

[email protected]

************

Page 17: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Hold on … don't we have that ?

Continuous Integration

Page 18: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Hold on … don't we have that ?

Issues

Page 19: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Hold on … don't we have that ?

Simple isn't it ?!

Page 20: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Cool … and if have two projects ?

"WTF WTF WTF WTF #$@#!%@$"Clean-up data, re-configure, scream and shout … … and over again and again and again !My project is on local net … tunnels, firewalls, VPNs, slow … WTF WTF WTF !!!

Page 21: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

We can do better !

1. No need to setup 4+ apps / tools on stakeholders' phones

Page 22: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

We can do better !

2. One-tap access to any Project Lifecycle item(Story, Bug, Test, Build, anything !)

Page 23: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

We can do better !

3. Link stories to builds, bugs, tests, results, artifacts … connect the dots to see the full picture !

Page 24: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

We can do better !

4. One set of credentials and identity to rule them all, inside or outside your VPN !

Page 25: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

We can do better !

5. Notify all stakeholders in real-time about new Betas and give "one-tap" upgrade process !

Page 26: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Real life [experiment] story

The challenge: developing a Mobile App for a Global Mobile Operator in 8 EU Countries

Page 27: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Center of the lifecycle: Continuous Integration

1. Monitor the SCM changes2. Build the software

(Client, Backend)3. Run unit-tests4. Deploy backend to QA… but one step was missing … Deploy client to

handsets with JenkinsMobi

Page 28: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Jenkins hits for Mobile

• Android build Simple Ant with ADT• Android unit-test Android Emulator Plugin + monkey

(https://wiki.jenkins-ci.org/display/JENKINS/Android+Emulator+Plugin )

• iOS build Xcode + SICCI plugin(https://wiki.jenkins-ci.org/display/JENKINS/SICCI+for+Xcode+Plugin )

Page 29: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Build and install JenkinsMobi on Android

1. Build status 2. Build artifacts

3. Download 4. Upgrade

Page 30: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Adding sprints plans

1. Access Project Sprint Plan (TeamForge)

2. Access SCRUM sprint board (Trello)3. Connect and display progress

Page 31: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Display Sprint status using JenkinsMobi plugins

1. Sprint progress

2. Cards status

3. Cards list 4. Cards details

Page 32: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Monitor acceptance tests in real-time1. Display test plan execution (HP QC)2. Monitor incidents during QA (HP QC)

Page 33: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Check QA status using HPQC JenkinsMobi plugin

1. Test progress

2. Test results 3. Defects progress

4. Defects list

Page 34: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Private Network

4. Plug to your ALM Tools

How [we] and YOU can do it ?

1. Get a Mobile Phone

2. JenkinsMobi on board

3. Connect to JenkinsCloud

Page 35: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Wrap-up and achievements

1. Project delivered on-time2. Lots of suggestions from all

stakeholders (Product owner, QA, markets, developers)

3. Shorten the E2E feedback loopProblem Ticket Fix Re-test

4. Early risk management of delays and changes

Page 36: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

JenkinsMobi vision

1. Mobile is the 21st Century Web 3.02. Development will be more and more

Mobile-centric3. Mobile is the center of the Team

Cooperation4. Continuous Integration is the center

of the Development loop5. All tools can be "plugged" into the

Mobile

Page 37: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Call to action !!

• JenkinsMobi is in your pocket !33rd Degree App is JenkinsMobi v4

• Start using Jenkins at the center your Mobile Application Lifecycle

• Extend JenkinsMobi with OpenSource plug-ins

Page 38: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

JenkinsMobi v4 – 2013 road-map

Mar/Apr Private Beta - All existing JenkinsMobi v3 features- Support for private Jenkins / plugins on VPN- Jira and Trello plugins- PingDom plugin

May Global upgrade from v3 to v4June JenkinsMobi plugins specs

opened- JenkinsMobi Cloud OpenSource- JenkinsMobi Plugins OpenSource specs

Page 39: Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Resources

Contact Luca Milanesio at:[email protected] Twitter: @gitenterprise | Facebook.com/gitenterpriseBlog: gitenterprise.me

About JenkinsMobi:http://jenkins-ci.mobiTwitter: @hudsonmobi | Facebook.com/jenkinsmobiBlog: jenkinsmobi.me

Replay this slides again at:http://slideshare.net/lucamilanesiomarket://details?id=com.lmitsoftware.app33degree