Note: this is a past event Check out the current event!

Woody Zuill

Independent Agile Coach and Trainer at Freelance Agile Guide and Coaching

Talk

Mob Programming, A Whole Team Approach
Thursday 14:05 - 14:50
Topics:
Pair-programming
Teamwork
Collaboration
Level:
General

Your rating:
0/5

Mob Programming is a development practice where the whole team works on the same thing, at the same time, in the same space, and on the same computer. It is a whole-team approach to doing all the work the team does including designing, coding, testing, and working with the customers, users and other stakeholders. This is an evolutionary step beyond pair programming, and accentuates face-to-face communication, team alignment, collaboration, and self-organizing team concepts of the Agile approach to software development. Mob Programming can be a highly effective approach to software development. Please join me as I share how the concept got started, the benefits, techniques we use, and some of the problems we've faced.


Workshop

NoEstimates
Tuesday 9:00 - 17:00
Topics:
Planning
Estimating
NoEstimates
Waste
Level:
General
Your rating:
0/5

What You Will Learn

  • What is an estimate, why we use them.
  • The issues with estimates, and why we need a new approach.
  • How I've been working without estimates.
  • How others have been working without estimates.
  • How to start working without estimates, or to reduce your dependency on them.
  • Ways to explore possible alternatives to estimates.

Agenda - what we will cover
  • Introduction to the concept of estimates
  • Discussion about how we use estimates.
  • Exercises to demonstrate the nature of estimates.
  • Information gathering sessions to build a common understanding.
  • Exercises to demonstrate possible ways to work without estimates.

Who Should Attend
Managers, Product Owners, Developers, and anyone involved in Software Development

Course Level
Intermediate - Having some experience with planning and estimating software development will be useful.

The default use of an "estimate-driven" approach is pervasive in software development efforts. While estimates can be useful, it is worthwhile to scrutinize our use of estimates, and to seek better ways to manage the development of software when estimates are not appropriate. [NOTE: For this session, I am referring to the use of estimates of cost, time, or effort for software projects, features, or tasks.]

There are a number of things to explore. For example, do we really need estimates for everything we currently use them for? Are we getting a reasonable benefit from them? Is it possible to manage software development without them?

In this session we will start with an information gathering exercise to help us gain a shared idea of our current understanding of the purpose and use of estimates. From here we'll move on to examine the nature of software development projects and a few possible other ways to approach our work.

Workshop

Mob Programming
Wednesday 9:00 - 17:00
Topics:
Pair-programming
Teamwork
Collaboration
Level:
General
Your rating:
0/5

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.

Learning Goals

  • 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

Workshop Agenda
Hands-on Exercises, Presentation, Interactive Dialogues, Simulations, Videos
  • 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

About

Woody Zuill has been programming computers for 30+ years, and is an independent Developer, Agile Coach and Trainer. He and his previous team at Hunter Industries are the originators of the Mob Programming approach to teamwork in software development, and Woody is considered one of the founders of the "#NoEstimates" discussion on Twitter.

Over the last 15+ years he has worked as an Agile Coach, Application Development Manager, Trainer, and Extreme Programmer. 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 tackling code that is hard to maintain and cleaning, refactoring, and bringing it back into a manageable state.