Topics:
Estimates
NoEstimates
Estimating
Planning
"The
only sure thing about forecasts is that they are WRONG" - James P. Womack
and Daniel T. Jones.
Estimates
have been the bane of software development managers and programmers for
decades. Customers want to know: When will it be done? How much will it cost?
Managers need to provide a budget, and a timeline. Programmers are told
"We won't hold you to the estimate", and yet they often are.
Estimates
themselves are not the problem, it's more likely our dependence on following an
estimate-driven approach. Our decision making process requires that we use
estimates, and yet the results are mediocre at best, and even worse they
misinform the decisions they are meant to support. Do we really need estimates?
Is simply "getting better" at estimates worthwhile? Can we live
without them? Will things be better without them?
We must be open to discussing the possible
problems, and to search for alternatives. I don't necessarily have answers for
you, but I've worked with "no estimates" for over 8 years and I'm
still alive. I want to explore the idea of estimates, why they are pervasive in
the programming world, how they might be harmful, and see if we can grow the
dialogue about finding a better way to make decisions.
Watch the talk
Topics:
Pair Programming
Mob Programming
Teamwork
Mob Programming Workshop
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 Mob Programming and learn the mechanics of how to work together as a Mob and the techniques that make this form of development so effective.
You’ll learn how to do Mob Programming through instruction and hands-on 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 Mob Programming and its 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 as part of the team
• Refactoring as a team
• Continuous feedback at all levels of granularity
Instruction Approach
Hands-on Exercises, Interactive Dialogues, Simulations, Videos
Example Agenda
(the exact order of things will likely be different)
• What Is Mob Programming & The basics of how it works
• First Exercise: A Code Dojo to Introduce Basic Concepts
• Driver/Navigator teamwork Roles and Techniques
• Second Exercise: A sample project
• The Importance of Retrospectives
• Advanced Mob Programming Concepts
• Third Exercise: Expanding on the Sample Project
• Amplified Learning - How to take advantage of learning opportunities
• Resolving Conflict
• Retrospective and review