mobile application lifecycle with jekins, trello and collabnet teamforge
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 trackingTRANSCRIPT
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 ?
***************
Copyright © 2013 – LMIT Software Ltd
www. -ci.Mobi
Hold on … don't we have that ?
Monitor
************
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:[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