# On Ensemble Programming - Edward Delaporte, May 2022 --- ## About Edward - 30 years programming - 22 years programming professionally - 11 years leading teams - Small Business - Super-Computers - Education - Finance - Cybersecurity ??? - 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? Grade School > Not enough computers High School > Overnight hacking on a big projector College > 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 COVID > Daily ensemble from anywhere in the country ??? Super-Computing - 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 - Driver - Navigator - Researcher - Scribe --- ## Driver - Hands on the reyboard - Takes it easy - Listens only to the navigator --- ## Navigator - Decides what to do - Tells the driver what to type - Asks for help --- ## Researcher - Finds information - Shares example code - Leaves the group to bring back answers --- ## Scribe - 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