Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

Preview:

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

Citation preview

Main sponsor

Mobile Application Lifecycle

Luca Milanesio

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

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

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 !

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

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Why (mobile) Project is more complex ?

Client (mobile) platforms diversity is hell !!!

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Lifecycle of a (mobile) Project

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

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

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

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

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

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

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

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Hold on … don't we have that ?

Cardwalljohn@mydomain.com

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

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Hold on … don't we have that ?

Monitor

john23@gmail.com

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

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Hold on … don't we have that ?

Continuous Integration

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Hold on … don't we have that ?

Issues

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Hold on … don't we have that ?

Simple isn't it ?!

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 !!!

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

We can do better !

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

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

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 !

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 !

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 !

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

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

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 )

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Build and install JenkinsMobi on Android

1. Build status 2. Build artifacts

3. Download 4. Upgrade

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

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

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)

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

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

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

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

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

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

Copyright © 2013 – LMIT Software Ltd

www. -ci.Mobi

Resources

Contact Luca Milanesio at:luca@jenkins-ci.mobi 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

Recommended