Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Make Your Team Flow

The iOS team at The Washington Post needed to grow quickly and maintain sanity (and shipping quality). Here are some of the key workflow tools that we used.

  • Inicia sesión para ver los comentarios

Make Your Team Flow

  1. 1. Make Your Team Flow #WAPODEVS
  2. 2. Chad Moone Lead Developer, iOS @chadmoone
  3. 3. Growing Pains Mo devs mo problems More ChaosMore ProjectsMore Devs
  4. 4. Git Flow A successful Git branching model
  5. 5. Git Flow A sane Git branching model
  6. 6. • Distinct flow to development and release • Can be implemented for all projects • Always clear what is where & where to start • No uncertainty on what to keep merged up with • Easy to merge back down Git Flow A successful Git branching model
  7. 7. develop master feature/layout feature/new-db release/1.2.0 feature/fix-bug hotfix/1.1.3 feature/fix-crash
  8. 8. • master • develop • feature/increase-awesomeness • release/1.2.0 • hotfix/1.2.1 Git Flow A successful Git branching model
  9. 9. • Works best for continuous deployment • No develop, hotfix, or release • Anything in master is deployable at any time • Still relies on feature branches, but without the prefix • Do not use for shared libraries GitHub Flow A rapid-deployment branching model
  10. 10. develop master feature/layout feature/new-db release/1.2.0 feature/fix-bug hotfix/1.1.3 feature/fix-crash
  11. 11. develop master feature/layout feature/new-db feature/fix-bugfeature/fix-crash
  12. 12. develop master feature/layout feature/new-db feature/fix-bugfeature/fix-crash
  13. 13. • Works best for continuous deployment • No develop, hotfix, or release • Anything in master is deployable at any time • Still relies on feature branches, but without the prefix • Do not use for shared libraries GitHub Flow A rapid-deployment branching model
  14. 14. Git Flow GitHub Flow GitLab Flow GitWhatever Flow
  15. 15. Default & Protected Branches
  16. 16. JIRA Integration feature/IPADRAIN-1234-fix-stuff feature/IPADRAIN-1234/fix-stuff
  17. 17. Folder Naming feature/JIRA-123-fix-warnings feature/JIRA-123/-fix-warnings
  18. 18. Git Flow A successful Git branching model
  19. 19. Pull Requests Let’s talk about it
  20. 20. Pull Requests • Branch • Discuss • Collaborate • Merge
  21. 21. Get started Look for the green Pull Request button
  22. 22. Search or enter website name
  23. 23. Search or enter website name
  24. 24. Search or enter website name
  25. 25. Pull Requests Let’s talk about it
  26. 26. Semantic Versioning It’s the right thing to do.™
  27. 27. Semantic Versioning It’s the right thing to do.™ Source 321 . .
  28. 28. Semantic Versioning It’s the right thing to do.™ Source PatchMinorMajor . .
  29. 29. • MAJOR version when you make incompatible API changes • MINOR version when you add functionality in a backwards- compatible manner • PATCH version when you make backwards-compatible bug fixes Semantic Versioning When to increment:
  30. 30. pod ‘PostKit’, ‘~> 1.2’ gem ‘faker’, ‘~> 2.1’ ﬔis should be relatively safe: pod ‘PushKit’, ‘~> 1.4.3’ gem ‘Fabric’, ‘~> 3.3.0’ And this should be very safe:
  31. 31. Semantic Versioning It’s the right thing to do.™
  32. 32. Style Guides Come together
  33. 33. • Improves reading comprehension • Clarifies diffs • Isolates arguments & avoids flamewars • Living document • Use pull requests! Style Guides Come together
  34. 34. Search or enter website name
  35. 35. –Chad Moone “We need a company-wide style guide!”
  36. 36. Style Guides Come together
  37. 37. • Git Flow • Pull Requests • Semantic Versioning • Style Guides Takeaways Make your team flow
  38. 38. • ﬔe original Git Flow post: http://nvie.com/posts/a-successful-git- branching-model/ • A great visual Git Flow walkthrough: http://danielkummer.github.io/git- flow-cheatsheet/ • Git Flow CLI tool: https://github.com/nvie/gitflow • GitHub Flow: https://guides.github.com/introduction/flow/ • Pull request tutorial: https://help.github.com/articles/using-pull-requests/ • Semantic Versioning: http://semver.org Resources Make your team flow
  39. 39. Chad Moone Lead Developer, iOS @chadmoone
  40. 40. Questions? #WAPODEVS

×