Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Android best practices and tools when building for millions

Android best practices and tools when building for millions

Working on product is not easy but it’s exciting and involves collaboration between multiple teams.

This talk gives a brief idea about the flow of shaping a feature, development and release. It's based on my experience at Deliveroo, in the Android Consumer team.

We found out that following a process helps especially when it’s improved continuously based on needs and the right tools are used along the way.

Ana Capatina

November 17, 2017
Tweet

Other Decks in Technology

Transcript

  1. Android best practices and tools when building for millions Ana

    Capatina Android Engineer - Deliveroo @anikiki00
  2. Feature Business needs User feedback Individual ideas Design Product review

    Prototype User testing A/B tests & Analytics Development Feature branch Tests Pull request Design review QA Localisation Release Nightly builds Public release Reviews Monitoring
  3. Design Designers need to take into account different platforms while

    making the brand stand out and creating a great user experience
  4. Product review Features are presented in product review meeting, a

    great opportunity for feedback and improvements
  5. User testing People are invited to take part in user

    testing sessions by our small user research team
  6. A/B tests & Analytics Comparing two or more versions of

    an element against each other to determine which one performs better
  7. Simple A/B test example Buy now Buy now A B

    100% traffic 50% of users see control 50% of users see variant 28 purchases 41 purchases Variation B is more effective
  8. A/B tests Test on all platforms Cleanup code base once

    experiment fnishes Know what you want to measure and have code in place to gather data
  9. Development Full understanding of the functionality we have to build

    Split the feature in small parts Experiment if needed
  10. Feature branch We like to keep our master branch in

    a ready to ship state and create a branch for every ticket we work on
  11. Tests We write tests to make sure the logic is

    correct, and to refactor code without being afraid we’ll break something
  12. Pull request Code reviews as the best way to drive

    code quality and increase knowledge sharing
  13. Design review A quick review from a designer is useful

    when the pull request is till open
  14. Localisation Our app is distributed in multiple countries and we

    have to make sure it looks good and works well in different languages
  15. Multiple languages PhraseApp – third party tool for managing translations

    Similar tools: OneSky POEditor Transifex Suqare's Shuttle
  16. Pre-launch report Identify problems such as crashes, display issues, performance

    issues and security vulnerabilities for a wide range of devices running different versions of Android
  17. We take turns and everybody in the team is going

    to be Release engineer at some point
  18. Conclusion Working on product is hard and exciting Collaborate Define

    your process and follow it while using the right tools
  19. Summary Sketch, Zeplin (design) Marvel, Principle (prototyping) PhraseApp (translations) Crashlytics,

    Firebase (crash reporting, insights) Beta by Crashlytics (distributing builds) BuddyBuild (continuous integration) Google Play Console (nightly builds, release, crash reporting, app vitals)