2016 cla summit - branching workflows for team development
TRANSCRIPT
![Page 1: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/1.jpg)
Branches, Branches, and Branches
Branching workflows to accelerate team development
1
Ching-Hwa Yu
Sr. Validation Software Architect, CLA, CTA
Texas Instruments
![Page 2: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/2.jpg)
About Me
2
![Page 3: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/3.jpg)
Agenda
• Big Picture
• Delivery Pipeline
• Source Code Management Systems
• Branching Workflows
• Limitations
3
![Page 4: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/4.jpg)
About TI
4
450+ LabVIEW users
250+ framework users
TI HQ
Facilities
Manufacturing
![Page 5: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/5.jpg)
About TI
5
Framework
Custom
Steps
Tools
Drivers
Database
LabVIEW
TestStand
SCM
![Page 6: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/6.jpg)
Big Picture
• Work it harder
Make it better
Do it faster
Makes us stronger
• Agile, scrum, kanban, lean,
extreme, blah blah blah…
6
![Page 7: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/7.jpg)
Delivery Pipeline
• Continuous Integration (CI):
Check-ins verified by automated build to
ensure all components are working
together and passing tests
• Continuous Delivery (CD):
Ship releases regularly with a push of a
button
7
![Page 8: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/8.jpg)
Delivery Pipeline
8 Figure 1. Continuous Delivery Process Diagram (Humble, 2010)
![Page 9: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/9.jpg)
Source Code Management Systems
9
Git Mercurial Bazaar
Perforce Plastic
![Page 10: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/10.jpg)
Source Code Management Systems
• It’s not about distributed vs. centralized…
• It’s all about the branching:
– Frictionless Context Switching
– Feature/Issue Based Workflow
– Role-Based Codelines
10
![Page 11: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/11.jpg)
Branching Workflows
11
Figure 2. Trunk Based Development (paulhammant.com)
• Trunk Based Development with Release Branches
![Page 12: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/12.jpg)
Branching Workflows
• Feature Branching (Task Driven Development)
12
• Not “Pure” CI
• Smart Build Server
• Bamboo
• Jenkins
• Autojobs
• Build per branch
• P4
Figure 3. Basic Branch-Per-Issue Workflow (atlassian.com)
![Page 13: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/13.jpg)
Branching Workflows
• Git-flow
13 Figure 4. Development using Git-flow Workflow (atlassian.com)
![Page 14: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/14.jpg)
Limitations
• LVMerge and LVDiff doesn’t support
all LabVIEW file types
– Projects
– Xctls
– Classes
– Libraries
14
![Page 15: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/15.jpg)
Limitations
• Promiscuous Integration (PI) – Cherry pick
15 Figure 5. Promiscuous Integration (martinfowler.com)
![Page 16: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/16.jpg)
Screenshots
16 Figure 6. SourceTree (atlassian.com)
![Page 17: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/17.jpg)
Screenshots
17 Figure 7. TortoiseHg Workbench (bitbucket.org)
![Page 18: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/18.jpg)
Screenshots
18 Figure 8. P4V (perforce.com)
![Page 19: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/19.jpg)
Resources
• Continuous Delivery by Jez Humble and David Farley
http://www.amazon.com/dp/0321601912
• Continuous Integration by Paul Duvall, Steve Matyas, and Andrew Glover
http://www.amazon.com/dp/0321336380
• Martin Fowler – http://martinfowler.com
• Paul Hammant – http://paulhammant.com
• Git Branching model (Git-flow)
http://nvie.com/posts/a-successful-git-branching-model/
• Atlassian Git tutorials – https://www.atlassian.com/git/
19
![Page 20: 2016 CLA Summit - Branching Workflows for Team Development](https://reader034.vdocument.in/reader034/viewer/2022042908/58ed15001a28ab62158b465f/html5/thumbnails/20.jpg)
Questions?
Shoutouts:
• Texas Instruments EDA Validation Automation Core Team
– Scott Menjoulet, Geoff Roth, Vidya Asokraaju, Jianhua Liu, Erika Beskar
• National Instruments
• CLA Summit 2016
20