Training

Software Teaming and Mob Programming Workshop

Paris - 15-16 avril

1 400€ 1 600 € HT / personne (1 680€ 1 920€ TTC)

2 jours (3ème journée en option)

Lyon - 4-5 juin

1 400€ 1 600 € HT / personne (1 680€ 1 920€ TTC)

2 jours (3ème journée en option)

Overview

The concept of Software Teaming (Mob Programming) focuses on enhancing collaboration.
In Software Teaming, the whole team works together on much of its work, moving directly from idea to finished and delivered software. This eliminates wasteful activities such as queueing, inventory, and multitasking : by improving teamwork, many communication and other problems simply disappear.
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.
This workshop provides a quick start for teams to apply these ideas directly in their daily work. Proficiency grows over time, and the advantages soon become evident.
This workshop is an introduction, and covers all the basics, with lots of hands-on coding and other activities.
We will use hands-on exercises (sample project work, including user stories, prioritization, test-driven development, refactoring, and retrospectives), presentations, interactive dialogues, simulations, and a few videos in this training.

  • Discover Software Teaming and Mob Programming
  • Challenge your vision with new ways of working together
  • Improve your development practices in a team

This is what you will learn

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

Requirements and target audience

The training will be entirely in English. Therefore, participants must have a sufficient level in English to understand the presentations and other materials.
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, 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.

Agenda

  • 1st half-day:
    • 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
  • 2nd half-day:
    • 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)
  • 3rd half-day:
    • 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
  • 4th half-day:
    • Retrospective and review, group discussion of what we’ve learned
    • Project management and collaboration - new ideas about scaling teamwork
    • Daily working in Mob
  • 5th half-day: (option)
    • Topic: Failure to Communicate, and how to communicate better
    • Topic: Make it Easy
    • The tools and arguments you need to prove the value of #NoEstimates to your boss
  • 6th half-day: (option)
    • Topic: Turn Up The Good
    • Thinking about thinking - beyond Software Teaming
    • Leading and following dynamically

Trainer

Woody Zuill
Woody Zuill

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.

Reviews

Une formation bien équilibrée entre théorie et pratique, Woody est un passionné passionnant et attentionné. J'ai passé deux supers journées qui donnent envie de faire du mob programming tous les jours.

Décamps Laurent