Main sponsor




Mobile Application Lifecycle

        Luca Milanesio
Who’s that guy ?

           Luca Milanesio
           LMIT Software / GerritForge LLP

           Over 20 years of disruptive activity in the
           Software Development Lifecycle

                               Jenkins CI contributor
                             founder of Jenkins-Mobi

       Git enthusiast since 2009 and
       innovator in large enterprises

           Gerrit contributor since 2011, driving
                      plugin and ALM Integration

www.        -ci.Mobi                         Copyright © 2013 – LMIT Software Ltd
Agenda

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



www.         -ci.Mobi        Copyright © 2013 – LMIT Software Ltd
Why are we doing this ?

 Who is a Mobile Application Developer ?

 Who is working in a team ?


 Raise your hand !



www.     -ci.Mobi          Copyright © 2013 – LMIT Software Ltd
Anatomy of a typical (mobile) Project




       Client (mobile) tier             Server (cloud) tier
       •   Rich client UX               •   RESTFul API
       •   Multi handset (Android /     •   Multiple client support
           iOS / WP8)                       (native versions, Web)
       •   Hybrid / Mobile Web UX       •   User authentication
       •   Local caching                •   Persistent storage




www.              -ci.Mobi            Copyright © 2013 – LMIT Software Ltd
Why (mobile) Project is more complex ?

 Client (mobile) platforms diversity is hell !!!




www.      -ci.Mobi          Copyright © 2013 – LMIT Software Ltd
Lifecycle of a (mobile) Project




www.     -ci.Mobi         Copyright © 2013 – LMIT Software Ltd
Is it really agile ?

 Agile software development means:
 1. Always working software through Continuous
    Integration
 2. Welcome change at any stage
 3. Close daily collaboration with Business
 4. Short loop of changes / feedback
 5. Simplicity




www.      -ci.Mobi          Copyright © 2013 – LMIT Software Ltd
Impediments in (mobile) Agility (1/3)

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




www.          -ci.Mobi           Copyright © 2013 – LMIT Software Ltd
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




www.          -ci.Mobi           Copyright © 2013 – LMIT Software Ltd
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




www.          -ci.Mobi              Copyright © 2013 – LMIT Software Ltd
What would we need for extra agility ?

 1. Real continuous delivery to real handsets



                                                   Cloud deploy




   Change              Build


                                                  Client deploy

www.        -ci.Mobi           Copyright © 2013 – LMIT Software Ltd
What would we need for extra agility ?

 2. Client upgrade and notification in real-time




                         One-tap
                         upgrade
       Client Ver. X                            Client Ver. X+1




www.          -ci.Mobi             Copyright © 2013 – LMIT Software Ltd
What would we need for extra agility ?

 3. Bring all together in a single place

                                                       Cardwall
       Client App
          Ver. X




   Changes                                            Continuous
                                                      Integration



             Issues                       Monitor

www.             -ci.Mobi   Copyright © 2013 – LMIT Software Ltd
Hold on … don't we have that ?

                                      john@mydomain.com
                    Cardwall
                                      ***************




www.     -ci.Mobi              Copyright © 2013 – LMIT Software Ltd
Hold on … don't we have that ?


                                               john23@gmail.com


                    Monitor                    ************




www.     -ci.Mobi             Copyright © 2013 – LMIT Software Ltd
Hold on … don't we have that ?




                    Continuous
                    Integration




www.     -ci.Mobi                 Copyright © 2013 – LMIT Software Ltd
Hold on … don't we have that ?




                    Issues




www.     -ci.Mobi            Copyright © 2013 – LMIT Software Ltd
Hold on … don't we have that ?




www.     -ci.Mobi        Copyright © 2013 – LMIT Software Ltd
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 !!!

www.     -ci.Mobi        Copyright © 2013 – LMIT Software Ltd
We can do better !

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




www.     -ci.Mobi      Copyright © 2013 – LMIT Software Ltd
We can do better !

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




www.     -ci.Mobi       Copyright © 2013 – LMIT Software Ltd
We can do better !

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




www.     -ci.Mobi     Copyright © 2013 – LMIT Software Ltd
We can do better !

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




www.     -ci.Mobi     Copyright © 2013 – LMIT Software Ltd
We can do better !

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




www.     -ci.Mobi     Copyright © 2013 – LMIT Software Ltd
Real life [experiment] story

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




www.     -ci.Mobi         Copyright © 2013 – LMIT Software Ltd
Center of the lifecycle: Continuous Integration

 1. Monitor the SCM changes
 2. Build the software
    (Client, Backend)
 3. Run unit-tests
 4. Deploy backend to QA
 … but one step was missing …
  Deploy client to handsets
    with JenkinsMobi

www.      -ci.Mobi          Copyright © 2013 – LMIT Software Ltd
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 )


www.           -ci.Mobi                     Copyright © 2013 – LMIT Software Ltd
Build and install JenkinsMobi on Android




   1. Build status   2. Build artifacts   3. Download                 4. Upgrade




www.            -ci.Mobi                    Copyright © 2013 – LMIT Software Ltd
Adding sprints plans
 1. Access Project Sprint Plan (TeamForge)
 2. Access SCRUM sprint board (Trello)
 3. Connect and display progress




www.     -ci.Mobi         Copyright © 2013 – LMIT Software Ltd
Display Sprint status using JenkinsMobi plugins




 1. Sprint progress   2. Cards status   3. Cards list            4. Cards details




www.            -ci.Mobi                  Copyright © 2013 – LMIT Software Ltd
Monitor acceptance tests in real-time
 1. Display test plan execution (HP QC)
 2. Monitor incidents during QA (HP QC)




www.     -ci.Mobi         Copyright © 2013 – LMIT Software Ltd
Check QA status using HPQC JenkinsMobi plugin




  1. Test progress    2. Test results   3. Defects progress          4. Defects list




www.            -ci.Mobi                     Copyright © 2013 – LMIT Software Ltd
How [we] and YOU can do it ?




                                                         Private Network


 1. Get a Mobile       2. JenkinsMobi   3. Connect to               4. Plug to your
    Phone                 on board         JenkinsCloud                ALM Tools


www.               -ci.Mobi                Copyright © 2013 – LMIT Software Ltd
Wrap-up and achievements

 1. Project delivered on-time
 2. Lots of suggestions from all stakeholders
    (Product owner, QA, markets, developers)
 3. Shorten the E2E feedback loop
    Problem  Ticket  Fix  Re-test
 4. Early risk management of delays and
    changes



www.     -ci.Mobi         Copyright © 2013 – LMIT Software Ltd
JenkinsMobi vision

 1. Mobile is the 21st Century Web 3.0
 2. Development will be more and more
    Mobile-centric
 3. Mobile is the center of the Team
    Cooperation
 4. Continuous Integration is the center of
    the Development loop
 5. All tools can be "plugged" into the Mobile

www.     -ci.Mobi          Copyright © 2013 – LMIT Software Ltd
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


www.         -ci.Mobi         Copyright © 2013 – LMIT Software Ltd
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 v4
 June  JenkinsMobi plugins specs opened
       - JenkinsMobi Cloud OpenSource
       - JenkinsMobi Plugins OpenSource specs


www.        -ci.Mobi            Copyright © 2013 – LMIT Software Ltd
Resources

 Contact Luca Milanesio at:
 luca@jenkins-ci.mobi
 Twitter: @gitenterprise | Facebook.com/gitenterprise
 Blog: gitenterprise.me
 About JenkinsMobi:
 http://jenkins-ci.mobi
 Twitter: @hudsonmobi | Facebook.com/jenkinsmobi
 Blog: jenkinsmobi.me
 Replay this slides again at:
 http://slideshare.net/lucamilanesio
 market://details?id=com.lmitsoftware.app33degree




www.          -ci.Mobi                  Copyright © 2013 – LMIT Software Ltd

Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge

  • 1.
    Main sponsor Mobile ApplicationLifecycle Luca Milanesio
  • 2.
    Who’s that guy? Luca Milanesio LMIT Software / GerritForge LLP Over 20 years of disruptive activity in the Software Development Lifecycle Jenkins CI contributor founder of Jenkins-Mobi Git enthusiast since 2009 and innovator in large enterprises Gerrit contributor since 2011, driving plugin and ALM Integration www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 3.
    Agenda • 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 ! www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 4.
    Why are wedoing this ? Who is a Mobile Application Developer ? Who is working in a team ? Raise your hand ! www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 5.
    Anatomy of atypical (mobile) Project Client (mobile) tier Server (cloud) tier • Rich client UX • RESTFul API • Multi handset (Android / • Multiple client support iOS / WP8) (native versions, Web) • Hybrid / Mobile Web UX • User authentication • Local caching • Persistent storage www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 6.
    Why (mobile) Projectis more complex ? Client (mobile) platforms diversity is hell !!! www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 7.
    Lifecycle of a(mobile) Project www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 8.
    Is it reallyagile ? Agile software development means: 1. Always working software through Continuous Integration 2. Welcome change at any stage 3. Close daily collaboration with Business 4. Short loop of changes / feedback 5. Simplicity www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 9.
    Impediments in (mobile)Agility (1/3) 1. Complex client runtime environment – Mobile Phones are not PCs – Emulators <> real handsets – Physical limits to Continuous Integration www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 10.
    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 www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 11.
    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 www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 12.
    What would weneed for extra agility ? 1. Real continuous delivery to real handsets Cloud deploy Change Build Client deploy www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 13.
    What would weneed for extra agility ? 2. Client upgrade and notification in real-time One-tap upgrade Client Ver. X Client Ver. X+1 www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 14.
    What would weneed for extra agility ? 3. Bring all together in a single place Cardwall Client App Ver. X Changes Continuous Integration Issues Monitor www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 15.
    Hold on …don't we have that ? john@mydomain.com Cardwall *************** www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 16.
    Hold on …don't we have that ? john23@gmail.com Monitor ************ www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 17.
    Hold on …don't we have that ? Continuous Integration www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 18.
    Hold on …don't we have that ? Issues www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 19.
    Hold on …don't we have that ? www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 20.
    Cool … andif 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 !!! www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 21.
    We can dobetter ! 1. No need to setup 4+ apps / tools on stakeholders' phones www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 22.
    We can dobetter ! 2. One-tap access to any Project Lifecycle item (Story, Bug, Test, Build, anything !) www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 23.
    We can dobetter ! 3. Link stories to builds, bugs, tests, results, artifacts … connect the dots to see the full picture ! www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 24.
    We can dobetter ! 4. One set of credentials and identity to rule them all, inside or outside your VPN ! www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 25.
    We can dobetter ! 5. Notify all stakeholders in real-time about new Betas and give "one-tap" upgrade process ! www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 26.
    Real life [experiment]story The challenge: developing a Mobile App for a Global Mobile Operator in 8 EU Countries www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 27.
    Center of thelifecycle: Continuous Integration 1. Monitor the SCM changes 2. Build the software (Client, Backend) 3. Run unit-tests 4. Deploy backend to QA … but one step was missing …  Deploy client to handsets with JenkinsMobi www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 28.
    Jenkins hits forMobile • 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 ) www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 29.
    Build and installJenkinsMobi on Android 1. Build status 2. Build artifacts 3. Download 4. Upgrade www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 30.
    Adding sprints plans 1. Access Project Sprint Plan (TeamForge) 2. Access SCRUM sprint board (Trello) 3. Connect and display progress www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 31.
    Display Sprint statususing JenkinsMobi plugins 1. Sprint progress 2. Cards status 3. Cards list 4. Cards details www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 32.
    Monitor acceptance testsin real-time 1. Display test plan execution (HP QC) 2. Monitor incidents during QA (HP QC) www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 33.
    Check QA statususing HPQC JenkinsMobi plugin 1. Test progress 2. Test results 3. Defects progress 4. Defects list www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 34.
    How [we] andYOU can do it ? Private Network 1. Get a Mobile 2. JenkinsMobi 3. Connect to 4. Plug to your Phone on board JenkinsCloud ALM Tools www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 35.
    Wrap-up and achievements 1. Project delivered on-time 2. Lots of suggestions from all stakeholders (Product owner, QA, markets, developers) 3. Shorten the E2E feedback loop Problem  Ticket  Fix  Re-test 4. Early risk management of delays and changes www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 36.
    JenkinsMobi vision 1.Mobile is the 21st Century Web 3.0 2. Development will be more and more Mobile-centric 3. Mobile is the center of the Team Cooperation 4. Continuous Integration is the center of the Development loop 5. All tools can be "plugged" into the Mobile www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 37.
    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 www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 38.
    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 v4 June  JenkinsMobi plugins specs opened - JenkinsMobi Cloud OpenSource - JenkinsMobi Plugins OpenSource specs www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd
  • 39.
    Resources Contact LucaMilanesio at: luca@jenkins-ci.mobi Twitter: @gitenterprise | Facebook.com/gitenterprise Blog: gitenterprise.me About JenkinsMobi: http://jenkins-ci.mobi Twitter: @hudsonmobi | Facebook.com/jenkinsmobi Blog: jenkinsmobi.me Replay this slides again at: http://slideshare.net/lucamilanesio market://details?id=com.lmitsoftware.app33degree www. -ci.Mobi Copyright © 2013 – LMIT Software Ltd