DDD Europe 2024 - Program

Mob Programming / Software Teaming

Pre-conference Workshops

Speakers

Woody Zuill

Woody Zuill
Date
May 28-29
Description

Software Teaming (Mob Programming) Workshop

The concept of Software Teaming (Mob Programming) focuses on enhancing collaboration. By improving teamwork, many communication and other problems simply disappear.

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.

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, presentations, interactive dialogues, simulations, and a few videos in this training.

Approximate Workshop materials and topics for this two-day workshop.

Intro and basic concepts: • Introduction: Software Teaming (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 Software Teaming (Mob Programming) with volunteers from the participants.

Exercises: • Coding Exercise: Working on a Sample Project, learning to work together using a few rules of collaboration • Advanced Software Teaming (Mob Programming) Concepts - Hands on coding • Amplified Learning - How to take advantage of learning opportunities • Continuing the Coding Exercises: Removing the rules • Retrospective and review, group discussion of what we’ve learned

Advanced concepts • Question and answer throughout • Topic: Failure to Communicate, and how to communicate better • Topic: Make it Easy • Topic: Turn Up The Good • Discussion on application of Software Teaming (Mob Programming) • Presentation on my thoughts about why Software Teaming (Mob Programming) works, which I call "Software Teaming (Mob Programming) and the Power of Flow"

Some things I try to cover:

• 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 • Encouraging politeness and kindness of team members • Reducing or eliminating harmful conflicts • The theory of why Software Teaming (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 • Thinking about thinking - beyond Software Teaming

Prerequisites

Please bring a laptop. No special knowledge or skill needed. You do not need to know how to program a computer.

About Woody Zuill

Woody Zuill is an independent Agile Guide and Coach and has been programming computers for 40+ years. He is a pioneer of the Software Teaming /Mob Programming approach to teamwork in software development, and co-author of the book "Software Teaming, A Mob Programming, Whole Team Approach".

His passion is to work with teams to create an environment where each one of us can excel in our work and in our life. He loves working with legacy code, and believes that code must be kept simple, clean, and easy to work on so we can work just as fast tomorrow as we can today.