Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Open source workflows in highly regulated environments
Ben Balter
May 08, 2017
Technology
0
50
Open source workflows in highly regulated environments
Why how you work is as important as what you work on.
Ben Balter
May 08, 2017
Tweet
Share
More Decks by Ben Balter
See All by Ben Balter
benbalter
0
560
benbalter
0
84
benbalter
1
85
benbalter
1
190
benbalter
0
190
benbalter
2
210
benbalter
3
1.4k
benbalter
0
90
benbalter
6
550
Other Decks in Technology
See All in Technology
hmatsu47
0
220
nozomiito
0
250
yosshi_
2
720
saik1010
1
560
iwask
1
240
meteatamel
0
440
ganariya
0
360
qryuu
7
5k
jxck
2
250
nwiizo
1
370
clustervr
0
170
takuros
3
730
Featured
See All Featured
kastner
54
1.9k
aarron
257
36k
sferik
610
54k
holman
461
280k
myddelton
109
11k
holman
448
130k
tenderlove
52
3.4k
lara
172
9.5k
shpigford
368
42k
dotmariusz
94
5.1k
malarkey
119
16k
brad_frost
157
6.4k
Transcript
Open source workflows in highly regulated environments @benbalter ben.balter.com
ben.balter@github.com
Conway's law “organizations which design systems ... are constrained to
produce designs which are copies of the communication structures of these organizations ”
How you work is as important as what you work
on
Roadmap 1. Open source moves beyond Agile 2. Open source
behind the firewall 3. Open source in regulated environments
1. Open source moves beyond Agile
Agile is a methodology "get incremental changes into users' hands"
Open source is a philosophy "remove barriers to the free
flow of information"
Closed source Open source Waterfall Traditional software development Publishing
proprietary code Agile Modern software development Working in the open
Both open source and agile value ad-hoc and informal communication
over documentation and process
Face-to-face versus asynchronous Agile Open source
Applying open source to Agile
Transparency solves for process
1. Prefer social constraints over administrative or technical constraints
2. Prefer systems that naturally capture and expose process
3. Prefer stakeholders subscribe to the software development process itself
The constraints of open source
Electronic Prefer systems that naturally capture process
Available Expose process via shareable URLs
Asynchronous Decisions can be made outside meetings
Informal Professional, not formal
Open source flow https://guides.github.com/introduction/flow/
Issues are Agile user stories
Everyone has access to issues
Anyone can open an issue
Teams prioritize, sequence, and implement
Create a branch
Add commits
Open a pull request
Discuss and review
Deploy
Merge
2. Open source behind the firewall
Open source is a philosophy, not a type of
software
Process is shared to the widest extent practical One team,
your organization, or the entire world
Human-centric processes produce human-centric software
Five best practices of open source behind the firewall
1. The technology is the easy part
2. Start small and go through the motions
3. Minimize information imbalance
4. Embrace the constraints of open source
5. Minimize Friction
Friction (n) - the time it takes to go from
"I want to contribute" to "I have"
3. Open source in regulated environments
Version control captures who made what change when
Open source workflows capture (and expose) process
How open source captures process 1. Chat (and issues) 2.
ChatOps 3. Continuous Integration 4. Code Reviews 5. Deployments
Chat (and issues)
Chat is inherently asynchronous
Chat captures and exposes who made what decision why
ChatOps A shared command-line for development teams
Meet Hubot
CultureOps
DevOps • View cameras in our datacenter • Search error
logs • Manage and trigger alerts • Perform server maintenance • Configure load balancer • Provision servers • Adjust firewalls • Activate DDoS mitigation • Configure DNS • Manage background jobs • Deploy to production
Continuous Integration (CI)
Required build statuses
Nothing gets deployed unless tests are green
Code reviews
Nothing gets deployed unless reviews are green
Deployments at GitHub On the pull request in Chat
How you work is as important as what you work
on
Open source workflows in highly regulated environments @benbalter ben.balter.com
ben.balter@github.com