Introduction to Mob Programming
Mob Programming: All the brilliant people working on the same thing, at the same time, in the same place, and on the same computer.
Mob Programming is a cost-effective, collaborative and fun way to get work done together. It's a whole-team approach to development, where coding, designing, testing, and working with the "customer" (partner, Product Owner, User, etc.) is all done as a team.
Participants in this workshop experience a day of learning and doing Mob Programming. We cover the mechanics of how to work together as a Mob as well as the techniques that make this form of development so effective.
We'll learn how a Mob performs sample project work, including user stories, prioritization, test-driven development, refactoring, and retrospectives.
Designed and facilitated by Mob Programming pioneer Woody Zuill, this workshop provides a hands-on education in the art of mobbing and it's significant benefits for your teams.
Outline/Structure of the Workshop
Instructional Method: Hands-on Exercises, Presentation, Interactive Dialogues, Simulations, Videos
- Basic agenda:
- Introduction: Mob Programming Introduction,
- The basics of how it works
- Activity: The nature of software development
- Activity: Teamwork - a good thing
- Driver/Navigator teamwork Roles and Techniques
- Coding Dojo Demonstration: A simple demo of Mob Programming with volunteers from the participants.
- Lunch
- Advanced Mob Programming Concepts - Hands-on coding
- Coding Exercise: Working on a Sample Project, learning to work together using a few rules
- Amplified Learning,
- How to take advantage of learning opportunities
- Continuing the Coding Exercise: Removing the rules
- Retrospective and review, group discussion of what we’ve learned
Learning Outcome
- How 5+ people can be effective working on just one thing
- Heuristics for team size
- Guidelines for successful collaboration
- Handling competing solutions and ideas to a coding problem
- Encouraging politeness and kindness of team members
- Reducing or eliminating harmful conflicts
- Mobbing Mechanics
- Tools for team coding
- Workspace setup
- How to "Amplify Learning" and take advantage of continual learning opportunities
- "Real-time" and continuous Retrospectives to reflect, tune, adjust
- The theory of why Mob Programming is effective.
- Test-Driven Development (TDD) as a team
- Working with Product Owners, Business Experts, Testers,
- Designers as part of the team
- Refactoring as a team
- Continuous feedback at all levels of granularity
Target Audience
Testers, Managers, Product Owners, Coders, Anyone involved in Software Development
Prerequisites for Attendees
Coding ability is not required. You will be able to participate regardless of your experience with coding.
Please bring a laptop with a development environment if you are a coder, as we will be working in teams to do the exercises in the workshop. A development environment should include the ability to do unit testing. For example, Intellij for Jave, which includes Juint 4, or Visual Studio for C# with resharper if possible. We can also use a Javascript environment with Mocha and Chai, Jasmine or some other unit testing mechanism.