ADDC 2017 - Richard Erwin: Streamline your app design and development for faster release cycles

ADDC 2017 - Richard Erwin: Streamline your app design and development for faster release cycles

Mobile app projects are becoming increasingly complex, while users have high expectations and low tolerance for apps which fail to meet them. Simplify mobile development process and automate your app delivery pipeline, freeing you to focus on building new features, releasing faster, and exceeding customer expectations and business demand. With Mobile DevOps:

- Ensure that your apps look, feel, and perform well for any user, across a diverse platform and device landscape
- Increase efficiency and be cost effective by automating processes like app testing on multiple devices
- Stay ahead of the competition and react quickly to market demands and changes
- Keep your users continuously engaged by responding to user feedback and solving performance issues and app crashes
- Free up time to focus on what matters: innovating and delivering value to users.

This session will look at how to embrace an integrated Mobile DevOps approach to enable you to build great apps, have fast release cycles, and focus on what users really want.

More about the talk, authors & slides: https://addconf.com/talks/22/
Read about the conference: https://addconf.com

Transcript

  1. ` Mobile DevOps Streamline your app design and development for

    faster release cycles Richard Erwin Mobile DevOps Specialist
  2. About Me

  3. About You Designer?

  4. Developer?

  5. About You Hungover?

  6. Agenda • What is DevOps? • Why should I care?

    • Lifecycle of a Mobile App • Demo
  7. What is DevOps?

  8. What is DevOps? It’s DevOps It’s DevOps It’s DevOps It’s

    DevOps
  9. “DevOps is the union of people, process, and products to

    enable continuous delivery of value to our end users”
 Donovan Brown | DevOps Senior Program Manager | Microsoft
  10. A DevOps Story DevDiv’s Journey to DevOps • DevDiv embraced

    Agile and achieved a 15x reduction in technical debt • After VS2010, began work on SaaS version of Team Foundation Server (VSO/VSTS) • Began their journey to adopt DevOps habits and practices • VS 2013 Launched along with VSO commercial terms • Immediately suffered a 7 hour outage of the service! Microsoft Developer Division 4307 people 436 in Team Services 35 feature teams
  11. Delivering Continuous Value Visual Studio
 Update 1 Visual Studio
 Update

    2 Visual Studio
 Update N Team Foundation Service
  12. Seven DevOps habits and practices P R A C T

    I C E S Automated Testing Continuous Integration Continuous Deployment Release Management P R A C T I C E S Usage Monitoring Telemetry Collection
 Testing in Production Stakeholder Feedback P R A C T I C E S Testing in Production Usage Monitoring User Telemetry Stakeholder feedback Feature flags Experiments P R A C T I C E S Peer Code Reviews Automated Testing Continuous Measurement Agile Documentation Enterprise Package Mgmt. P R A C T I C E S Application Performance Management Infrastructure as Code Continuous Delivery Release Management Configuration Management Automated Recovery P R A C T I C E S Infrastructure as Code Cloud Development and Test Automatic Scaling Sandboxing/Dev and Test Labs Containers Microservices P R A C T I C E S Scaling Agile Self-managing teams Feature teams FLOW OF
 CUSTOMER VALUE
 TEAM
 AUTONOMY
 & ENTERPRISE
 ALIGNMENT BACKLOG refined with LEARNING EVIDENCE
 gathered in PRODUCTION MANAGED TECHNICAL
 DEBT PRODUCTION
 FIRST MINDSET INFRASTRUCTURE
 is a FLEXIBLE RESOURCE
  13. Benefits of DevOps

  14. Mobile Quality Challenges • Device fragmentation • App complexity •

    Fast release cycles • Short sessions • High mobile user expectations
  15. Benefits of DevOps • Increase quality and reduce technical debt

    • Improve communication between functions • Accelerate your Design, Development & Release cycles (Cycle Time) • Decrease deployment failures • Increase time to innovate • Improve Agility
  16. Manage Technical Debt 0 1 2 3 4 5 Technical

    Debt Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Debt > Sprint Debt accumulation 
 is non-linear Velocity
  17. The true cost of a software bug Source: National Institute

    of Standards & Technology The average cost if found in the Gathering Requirements phase 1X The average cost if found in the Coding/ Unit Test phase 5X The average cost if found during Beta Test Programs 15X The average cost if found in Production 30X X is a normalized unit of cost and can be expressed in terms of person-hours, dollars, etc.
  18. This app is bullsh*t! Does not even start on my

    HTC One Bernard Cole
  19. This app is bullsh*t! Does not even start on my

    HTC One Bernard Cole Startup problem HTC: Vendor who highly customizes Android Flagship device, large screen size
  20. This app is bullsh*t! Bernard Cole

  21. 2013 11,868 Unique Android devices downloaded the OpenSignal app 2015

    18,796 Unique Android devices downloaded the OpenSignal app
  22. None
  23. “If you are not embarrassed by the first version of

    your product, you’ve launched too late”
 Reid Hoffman| LinkedIn Co-Founder
  24. Is this familiar?

  25. Move to a continuous delivery practice Source: Puppet Labs 2016

    State of DevOps Report 24x faster mean time to resolution Top Apps Average Update Cycle (days) Twitter 14 Snapchat 17 Pinterest 17 Facebook 20 Concur 26 Skype 33 Geico Mobile 37 BBC News 60 Bank of America 75 UPS Mobile 95
  26. Lifecycle of a Mobile App

  27. Plan & Design 1 Monitor & Learn Release Develop +

    Test 2 Development Production 4 3 Visualise your process (Value Stream Mapping)
  28. It starts with an idea – and a plan how

    to turn this idea into reality … Develop + Test 1 Plan & Design Project starts Design Wireframe Discovery Concept Architecture Manage Work & Track progress
  29. Write Code Unit Testing 2 Build Version Control Build Verification/

    Auomated Testing Release Once the iteration starts, developers turn great ideas into features … Develop + Test
  30. QA & Stakeholders Automated testing environment 3 Beta Users Store

    Release Monitor + Learn When all tests pass, the build is deployed to testing environments for each stage in the release process Release
  31. Learn and understand how users use your app, how it

    reacts and quickly fix issues and bugs Monitor + Learn 4 Monitor Feedback Plan the next iteration
  32. Demo Visual Studio Mobile Center Commit - Build - Test

    - Distribute
  33. Summary

  34. Summary • Visualise your end-to-end process • Limit Work In

    Progress • Focus on quality • Use Validated Learning to drive project • Automate where possible • Continuously Improve (Kaizen) Distribution Monitoring Engagement Repository Build Automated Testing Design/Code
  35. Thank You! Richard Erwin Mobile DevOps Specialist | Microsoft rerwin@microsoft.com

    @rerwinX