Mystes Presents


Woody Zuill, Vasco Duarte & Llewellyn Falco

October 23th & 24th, 2014


What is missing from Agile? As we learn more and more about Scrum, Lean, Kanban and Agile in general we discover that there are some missing links. Some practices don’t work—or maybe the expected improvements don’t materialize. What is missing? And is it my fault?

Agile software development started with a group of practitioners who had independently discovered practices that shared a set of core values and principles. That path of discovery continues, and there are more practices to share, more insights to learn about, and more improvements to find.

These workshops contain some of the latest, most promising techniques in enabling individual, team and organizational adoption of Agile at a higher level of fluency and productivity.

Thursday, October 23th


How to improve software development predictability and profitability by focusing on what matters

By Woody Zuill and Vasco Duarte

A new way to look at software development that focuses on the core agile principles. Applicable to product and project management

Stop wasting time and money

#NoEstimates is an approach to software development that arose from the observation that large amounts of time were spent over the years in estimating and improving those estimates, but we see no value from that investment. Indeed, according to scholars Conte, Dunmore and Shens [1] a good estimate is one that is within 25% of the actual cost, 75% of the time.

This is the same as saying: give us your money, we promise not lose more than 25% of it (with a 25% probability that we will lose a lot more). We don’t find that acceptable or productive for our industry. There must be better ways to manage software and product development.

In this workshop we will review and analyze why we do estimates and how we can improve software and product development while reducing the time and money invested in estimating.

Workshop learning goals

  • Decision making frameworks for projects that do not require estimates
  • Investment models for software projects that do not require estimates
  • Project management (risk management, scope management, progress reporting, etc.) approaches that do not require estimates
  • The tools and arguments you need to prove the value of #NoEstimates to your boss
  • How to get started applying #NoEstimates right away
  • Where is #NoEstimates going and what are the likely changes to software development that will come next

Do you have other questions you would like to see tackled about #NoEstimates? Send us your questions ahead of the workshop and we will tackle as many of those questions as we can before and during the workshop.

[1] Paper referred to by Steve McConnell in his book: Software Estimation, Demystifying the Black Art

Thursday, October 23th

Hands-On workshop on Mob Programming

How to enable high-performing teams with a whole-team approach

By Woody Zuill

A new way to enable high-performance at the team level. A whole-team approach to software development. Applicable to programmers, testers, product owners, line managers and team members.

The Whole-team approach to Agile software development

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.

In the workshop we will work as a Mob using the Driver/Navigators -practice. We develop an example project using the full extreme programming approach: user stories, TDD, refactoring, and retrospectives. Along the way we’ll have a chance to see some of the benefits of Mob Programming such as continuous learning, full engagement of the team, collective thinking, and more.

Workshop learning goals

  • How Mob Programming works and how it has dramatically improved the performance of teams using it
  • The necessary experience and knowledge to help you practice and experiment with this practice at work
  • What are the principles and underlying theory behind Mob Programming
  • How the principles behind the Mob Programming concept help establish a highly effective work environment
  • How the different roles in an Agile team can change to enable Mob Programming

Hands-on Introduction to Approval Tests

A Test-driven development framework to define expressive and clear tests

by Llewellyn Falco and Woody Zuill

Descriptive, easy to write and to debug unit tests. Applicable to testers that code and to developers.

Unit Testing for Humans and Test-driven developers

Unit Testing frameworks are fantastic at catching a failing test and alerting to the failure, but often the details of the failure are a bit difficult and time consuming to evaluate. We’re only human after all.

Shouldn’t most of the effort go into devising great tests and not figuring out how to implement them? Isn’t there some way to have the most important information from the unit tests stand out without the need to dig through the details by hand?

This is where ApprovalTests help a lot. ApprovalTests simplify assertion by taking a snapshot of the results and confirming that they have not changed. This allows the developer to easily assert complex objects rather than individual primitives. The results of running ApprovalTests offer clear, expressive, and rich feedback so that the developer can quickly understand the nature of the failure and get a good idea of what is needed to fix it.

In this workshop we demonstrate how to use ApprovalTests to accelerate test-driven development. It works for everything from simple strings to arrays, GUIs, and complex objects. ApprovalTests is free and currently available for C#, Java, PHP, and Ruby.

Workshop learning goals

  • What is and how to work through the Testing Circle process
  • How to setup and use ApprovalTests
  • How to create meaningful and expressive tests
  • How to verify complex objects
  • How to verify lists & collections
  • What are reporters and how to use them
  • How to make maintainable tests

By the end of the workshop you should be able to turn a user scenario into a unit test in the ApprovalTest format in under a minute.

Practical Refactoring Workshop

A hands-on workshop to help you work effectively with legacy code and improve your life at work

by Llewellyn Falco and Woody Zuill

Modern and effective ways to manage technical debt, survive pathological code bases, and improve your quality of life. All by improving the code.

Get your hands dirty

Refactoring is easy—the theories have been written and even automated in your tools. Yet many of us still have to work every day with ugly code and large amounts of technical debt. When faced with large code bases, we feel unable to begin and often fall back to the old excuse ”that won’t work here.”

It’s time to get real. In this workshop we are going to take a 300 line ball of mud, and show some new approaches and techniques that enable you to actually start using those automated refactorings in your IDE and to start safely changing your code little by little.

Workshop learning goals

  • How to refactor without needing permission or budget
  • How to act without understanding the code
  • Effective sequences to act on code (do these before these)
  • Emergent Design, how to work through the legacy code and improve it constantly
  • Small steps, how to effectively resolve large problems in small, short and validated steps that deliver (after a while) massively better code
  • Techniques for refactoring that increase your well-being by reducing stress and increasing your quality of life at work

After this workshop you will have a practical, hands-on understanding of how small daily improvements affect large-scale projects over a few months. You will see how much your own project at work could benefit from continuous improvement.

Take advantage of the experience of the presenters and participants like you, to share your questions and discuss possible solutions to the problems you face at work. By sharing and participating you will be ready to take your organization and team’s performance to the next level.

Want to address specific problems in the workshops? Send us your questions and ideas ahead of time so that we can tailor the workshops to your expectations.


Woody Zuill has been programming computers for 30+ years, and works as an Agile Coach and Application Development Manager. His team is 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 code it back into a manageable state.


Currently an Agile Coach at Avira, Vasco Duarte is an experienced Product and Project Manager. Having worked in the software industry since 1997, Vasco has also been an Agile practitioner since 2004, he is one of the leaders and catalysts of Agile methods and Agile culture adoption at Avira and previously at Nokia and F-Secure.

Vasco’s contributions to the development of the Software industry and professions can be read at his blog.


Llewellyn Falco is an Instructor for DevelopMentor & Author for PluralSight. He is an international speaker and the creator of the open source testing toolApprovalTests.

He spends most of his time programming in Java and C# specializing in legacy code. He also volunteers creating courseware and teaching kids to program.