you are what you eat - wordpress.com · 2016. 6. 6. · code reviews deteriorating code base...

20
You are what you eat How branching strategy affects team culture Dave Hounslow @thinkfoo http://thinkfoo.wordpress.com

Upload: others

Post on 20-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

You are what you eatHow branching strategy affects team culture

Dave Hounslow

@thinkfoo http://thinkfoo.wordpress.com

Page 2: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

What Continuous Delivery says

Every Developer Commits Frequently

to an Always Releasable Trunk or Mainline

Page 3: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

https://www.your-loop.com/

Page 4: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

Author: Vincent Driessen Original blog post: http://nvie.com/posts/a-succesful-git-branching-model License: Creative Commons BY-SA

Page 5: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

Author: Vincent Driessen Original blog post: http://nvie.com/posts/a-succesful-git-branching-model License: Creative Commons BY-SA

https://commons.wikimedia.org/wiki/File:Dauntless_bomb_drop.jpg

SVN

External Dev

Team

Page 6: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

By Arivumathi - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=24799312

Page 7: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

By Arivumathi - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=24799312

3-6 Month feature branch

Page 8: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

The plan

Feature branching

4 Week iterations

Release ~ every 3 months

Page 9: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

The plan

Feature branching

4 Week iterations

Release ~ every 3 months

Mainline development

2 Week iterations

Release every iterationWhat about regression

testing?

How will we do code reviews

We won't write such good code

Page 10: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

CC BY-SA 3.0 NY Via http://www.thebluediamondgallery.com/pictures/automatic.jpg

Testing

Page 11: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

Please hold, your pull request is important to us.

Page 12: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

Pair Programming

Pair Programming By Dave Hounslow, CC BY-SA 3.0,

Page 13: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

By Jdorwin at English Wikipedia - Transferred from en.wikipedia to Commons., Public Domain, https://commons.wikimedia.org/w/index.php?curid=3061466

“This is awesome, I can refactor

without upsetting my team mates”

Refactoring

Page 14: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

By Fabio Alessandro Locati - My self, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5490100

Page 15: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations
Page 16: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

“1000% more productive”

Today

“1000% more productive” by Dave Hounslow CC BY-SA 3.0

Page 17: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

The result

Feature branching

Release ~3-4 Months 4 Week iterations Code Reviews Deteriorating code base Divided Team

Mainline development

Continuous Delivery

Release 2-3 per week 2 Week iterations Pair programming Improving code base United Team

Page 18: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

The result

Feature branching

Release ~3-4 Months 4 Week iterations Code Reviews Deteriorating code b Divided Team

Mainline development

Continuous Delivery

Release 2-3 per week 2 Week iterations Pair programming Improving code base United Team

Doing Agile, Being Agile By Paul Downey CC BY 2.0 via https://www.flickr.com/photos/psd/9588038559

Page 19: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

The result

Feature branching

Release ~3-4 Months 4 Week iterations Code Reviews Deteriorating code base Divided Team

Mainline development

Continuous Delivery

Release 2-3 per week 2 Week iterations Pair programming Improving code base United Team

Doing Agile, Being Agile By Paul Downey CC BY 2.0 via https://www.flickr.com/photos/psd/9588038559

Page 20: You are what you eat - WordPress.com · 2016. 6. 6. · Code Reviews Deteriorating code base Divided Team Mainline development Continuous Delivery Release 2-3 per week 2 Week iterations

Thanks

Dave Hounslow@thinkfoo

http://thinkfoo.wordpress.com