Collaboration is essential in companies and organizations. We usually need to work with others through various forms of communication like meetings, emails, messaging, and documents. However, in complex work, this can lead to inefficiencies like queueing and inventory, which are considered wasteful.
In software development, traditional collaboration methods can be ineffective or counterproductive. The concept of Software Teaming (Mob Programming) focuses on enhancing collaboration rather than just communication. By improving teamwork, many communication problems simply disappear.
While some teams naturally adapt to this approach, this two-day masterclass provides a quick start for teams to apply these ideas directly in their daily work. Proficiency grows over time, and the advantages become evident.
Learning Objectives
Participant will have acquired a solid foundation for understanding and implementing the concepts of Software Teaming and in particular:
- 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
- Teaming (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 Software Teaming 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
Agenda
Day 1:
- Hands-on Exercises, Presentation, Interactive Dialogues, Simulations, Videos
- Introduction to Software Teaming (Mob Programming)
- What it is
- How it started
- Basic concepts of working together to create software (and doing other work)
- Benefits
- This does not replace solo or pair work. It adds a new dimension
- Skills and Techniques of Mob Programming
- Driver/Navigators
- Listening and communicating
- Inclusion, listening for the quiet voices
- Decision making
- Hearing and trying all the ideas
- Coding Dojo Demonstration: A simple demo of Software Teaming (Mob Programming) with volunteers from the participants.
- Hands-on coding exercises: Working on a Sample Project, learning to work together using a few rules of collaboration
- Phase 1 – Coding Dojo model, only a single navigator is guiding
- Phase 2 – Continued coding exercise using a “hybrid” between coding dojo and “Mob Programming” – remove the rule that only the navigator is guiding
- Phase 3 – Continued coding exercise using full Mob Programming (no strict rules)
Day 2:
- Software Teaming and the Power of Flow
- The idea of flow (Both Lean Flow and Psychological Flow, plus the new idea of Team Flow)
- How this might explain why Software Teaming (Mob Programming) works so well.
- Advanced Mob Programming Concepts – Hands on coding
- 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
- Project management and collaboration – new ideas about scaling teamwork
- Daily working in Mob
Requirements and target audience
It targets people working around software development, including coders (developers), business/product owners, designers, testers, and anyone involved in creating software.
It is not required that you can write code (for non-coders, other types of tasks will be used), but for developers, mastering at least a programming language (object-oriented or functional) in terms of syntax, IDE and basic coding is useful. An understanding of Unit Testing in this language is helpful, but not required.
Participants must have their own computer (not provided) with a development environment installed if possible.
Assessment
At the beginning of the training, a self-assessment is carried out to evaluate the level and expectations of each participant. In this way we can best organize the different working groups.
Afterwards, the trainer conducts an ongoing evaluation using the practical exercises.
At the end of the training, each participant’s progress and achievements are self-evaluated. The trainer provides each participant with an evaluation, as well as areas for improvement.
About the Trainer
Woody Zuill has been programming computers for 30+ years, and works as an Agile Coach and Application Development Manager. He and his team are the originators of the Mob Programming approach to teamwork in software development and he is considered one of the founders of the #NoEstimates discussion.
He believes that code must be simple, clean, and maintainable so that we can realize the Agile promise of Responding to Change, and that we must constantly ‘Inspect and Adapt’. He has a passion taking code that is hard to maintain and cleaning, refactoring, and bringing it back into a healthy state.
Duration
2 days, from 09:00 to 17:00.
Format
Masterclass: this format will include elements of lecture (sharing knowledge and ideas), workshop and discussion, and facilitated exercises to experience methods and put principles into practice.
Language
English
Practical Information
- Date: Q3/Q4, 2024 – to be announced
- Place: Copenhagen
- Price: 12.495 DKK (app. 1676 EUR / 1812 USD) ex. VAT
- For inquiries on bulk discount, please write to us here
Show your interest
Recent Comments