Why how you work is as important as what you work on.
Open source workflows in highly regulated environments@benbalterben.balter.com[email protected]
View Slide
Conway's law“organizations which designsystems ... are constrained toproduce designs which are copies ofthe communication structures ofthese organizations ”
How you workis as important aswhat you work on
Roadmap1. Open source moves beyond Agile2. Open source behind the firewall3. 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 sourceWaterfallTraditional softwaredevelopmentPublishing proprietary codeAgileModern softwaredevelopmentWorking in the open
Both open source and agile valuead-hoc and informal communicationover documentation and process
Face-to-face versus asynchronousAgile Open source
Applying open source to Agile
Transparency solves for process
1. Prefer social constraints overadministrative or technical constraints
2. Prefer systems that naturallycapture and expose process
3. Prefer stakeholders subscribe to thesoftware development process itself
The constraints of open source
ElectronicPrefer systems that naturally capture process
AvailableExpose process via shareable URLs
AsynchronousDecisions can be made outside meetings
InformalProfessional, not formal
Open source flowhttps://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 sourcebehind the firewall
Open source is a philosophy, not a type of software
Process is shared to the widest extent practicalOne team, your organization, or the entire world
Human-centric processes producehuman-centric software
Five best practicesof open source behind the firewall
1. The technology is the easy part
2. Start small andgo through the motions
3. Minimize information imbalance
4. Embrace the constraintsof open source
5. Minimize Friction
Friction (n) - the time it takes to gofrom "I want to contribute" to "I have"
3. Open sourcein regulated environments
Version control captureswho made what change when
Open source workflows capture (and expose)process
How open source captures process1. Chat (and issues)2. ChatOps3. Continuous Integration4. Code Reviews5. Deployments
Chat (and issues)
Chat is inherently asynchronous
Chat captures and exposeswho made what decision why
ChatOpsA 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 unlesstests are green
Code reviews
Nothing gets deployed unlessreviews are green
Deployments at GitHubOn the pull requestin Chat