11. Right sizing issues
Issue as unit of work
One issue / One branch
Issue as doc of the problem
Focused
Divide and conquer
Max 2d scope ~300 lines
12. 1) Dev starts working on issue X
2) Dev finds a small bug unrelated to X and
fixes it within X
3) Dev continues working on X
1) Dev starts working on issue X
2) Dev finds a small bug Y unrelated to X
3) Dev opens a new issue for Y and
continues work on X
1) Dev starts working on issue X
2) Dev finds a small bug Y unrelated to X
3) Dev opens a new issue for Y
4) Dev switches to Y …. merges to master
5) Merge master into X
6) Continue working on X
13. Commits
Commit message as doc
Atomic in purpose
Commits should tell a story
https://about.futurelearn.com/blog/telling-stories-with-your-git-history
https://www.slideshare.net/joelchippindale/telling-stories-through-your-commits
14. Peer review all contributions
Use pull requests
Shared responsibility
Remember: Max 2d scope ~300 lines
23. Trunk Based Development
Forked repositories
Short-lived feature branches (2d max)
All contributions peer reviwed
All contributions CI built before merging
Main repository only master (trunk)
Master always release readyhttps://trunkbaseddevelopment.com
37. Microservices Rant
SOA vs MS
SRP: Business level vs Technical level
Responsibility: Department vs Dev team
ESB vs Service Mesh
Resilient & Scalable
38.
39. Use VCS
Capture team knowledge
Make knowledge searchable and context aware
Automate builds, releases and deployments
Create tests
Deploy smoke tests
Monitor and alert
Prepare production for failure and change
WRAPUP