# On Ensemble Programming
- Edward Delaporte, May 2022
## About Edward
- 30 years programming
- 22 years programming professionally
- 11 years leading teams
- Small Business
- been a sole coder on a project, and have led a team of 11. Used pair and Ensemble proggramming for both. It's most important as a solo developer.
## When did I start?
> Not enough computers
> Overnight hacking on a big projector
> Find a group, or turn in late homework
- No fun. Fun. No fun, again.
- It gets fun again.
## Going Pro
Super-computing (Will's Idea)
> Daily ensemble, because I know Python, Will knows Super-computers
As the Boss (Michelle and John's Idea)
> Michelle and John daily ensemble to complete 4x the work with 0 bugs
In Finance (I finally get it.)
> Eleven developers in three cities meet daily for ensemble
> Daily ensemble from anywhere in the country
- We accomplish things neither of us could have.
- But I still don't get it.
- 30,000 core computer, top 500 in the world.
- Same type and size of machine used to create the Jurrasic Park, Twister, Lost in Space
- I have no idea what I'm doing on an SGI
## Why Ensemble?
- no one knows everything
- learn by doing
- 4-6 times faster, conservatively
- dramatically lower bug rate
- learn by working closely with experts - after 30 years, I still find everyone knows something I don't.
- very few problems can withstand the power of 5 thoughtful experienced people working together for a day.
## Ensemble Roles
- Hands on the reyboard
- Takes it easy
- Listens only to the navigator
- Decides what to do
- Tells the driver what to type
- Asks for help
- Finds information
- Shares example code
- Leaves the group to bring back answers
- Writes down useful commands for later
- Fixes mistakes in documents immediately
- Records 'todo' items for later
## Success Forumula
- Ask questions
- Be gentle and generous
- Take turns, take breaks
## Ask Questions