Session

Mob/Ensemble Programming and TDD Workshop

In Mob/Ensemble programming ("mobbing") the entire team works collaboratively at a single computer. It's a remarkably effective way to work in both in-person and remote environments. The program goes together faster and is vastly higher quality than you'll find in an isolated-individual way of working. You don't need PRs or code reviews because the code is reviewed as it's written. Ensemble programming is also much less stressful than traditional Agile collaboration techniques like pair programming. (Pairing is like going on a first date, while mobbing is like a relaxed dinner with friends). It's well-suited for introverts.

Test-driven development is a similarly effective way to work and integrates nicely into an ensemble environment. Think of TDD as a way to design by example. You start with an example of how you expect to use code that you're about to write. (They call it a "test," but it's really more of an executable specification). You then implement the code needed to get the example to work with a series of small iterative steps. TDD yields the simplest, minimal solution, so the resulting code is easy to maintain and change over time.

In this class, you'll learn to use TDD while working in an ensemble. You'll learn:

What is mob/ensemble programming?
Mobbing anti-patterns and how to fix them.
Tools and the environment (mob.sh, timers, remote mobbing).
What is TDD (and related approaches like BDD)?
Inside out vs. outside in. (London vs Chicago styles)
Mocks, spies, and fakes, with and without frameworks.
Doing it (a half-day exercise).

Allen Holub

Agile Architecture and Transformation

Berkeley, California, United States

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top