Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Continuous delivery mobile application development


Published on

Published in: Technology
  • Be the first to comment

Continuous delivery mobile application development

  1. 1. Continuous Delivery – Mobile Application Development
  2. 2. A couple of years back About 9 months spent by a team of client developers to get the application live Management is worried about the amount of time and money spent 2 months was spent on fixing the bugs We had about 30K downloads but usage metrics was about 1K visits per week
  3. 3. timeline Analysis & Analysis & Design Design Development Test Test Deployment Deployment Live Live time 1 3 2 2 2 1
  4. 4. tip of the iceberg
  5. 5. Why
  6. 6. the last mile
  7. 7. build the right thing
  8. 8. don’t waste money on the wrong thing Standish Group: how often features are used
  9. 9. How
  10. 10. fast, automated feedback on the production readiness of your applications every time there is a change whether code, infrastructure, configuration or database Jez Humble
  11. 11. software delivery
  12. 12. continuous delivery small feature chunks time software always production ready releases tied to business needs, not IT constraints minimize the lead time from idea to live concept to cash
  13. 13. continuous delivery  Your software is releasable throughout its lifecycle;  Your team prioritizes keeping the software releasable over working on new features;  Anybody can get fast, automated feedback on the production readiness of your systems any time somebody makes a change to them;  You can perform push-button releases of any version of the software on demand.
  14. 14. step 1 - continuous integration Unit Tests UI Tests Acceptance Tests Run from terminal
  15. 15. adhere to the test pyramid Adapted from Mike Cohn (Automated Test Pyramid) and Lisa Crispin & Janet Gregory (Agile Testing)
  16. 16. Testing Tools iOS • • • • Kiwi GHUnit OCUnit Zucchini Android • JUnit Automation Tools • • Frank Calabash
  17. 17. step 2 - full production pipeline CI SC Tests Integration Tests Automated Network Tests Usability Tests UAT Tests Live Manual & Parallel
  18. 18. Service contract tests Decouple your backend from the mobile application adhere to service contracts backward compatible services
  19. 19. integration tests First time in the feedback cycle, app is talking to real services Test your app against a environment Run the tests on actual device Use analytics metrics
  20. 20. network tests You don’t know where your customer is accessing On the move Any kind of network Use network link adaptor / other simulators
  21. 21. App distribution - testing Use OTA app distribution mechanisms Deal with groups Distribute with confidence Simulate the Appstore experience TestFlight / Hockey App
  22. 22. Usability Tests User experience *cant be compromised*! Popup in stores Test with Mock ups Automate it ? Analytics plays a big role
  23. 23. Usability Tests & Logging
  24. 24. step 3 – configuration management No hardcoded configuration in the application Remotely enable and disable features App version support
  25. 25. Push button release Final manual step is to upload the ipa/apk Change the description Get your version numbers correct
  26. 26. What we achieved reliability & stability compliance & traceability releasing at will Built the right product Make customers happy with continuous involvement
  27. 27. Q&A