This workshop shows how Test-Driven Development (TDD) is used to enable emergent design. Using a simple but representative example in Java, the presenter will demonstrate how a low-level design naturally emerges when using the TDD cycle of test/code/refactor. The audience will be involved by suggesting the next steps and also by pairing with the presenter.

Note that the goal of the session isn't necessarily to have a complete working example at the end, but to illustrate the process of low-level design through TDD.


Outline/Structure of the Workshop

The session will proceed as follows:

  • 10 minutes - Introduction explaining emergent design with TDD and the example problem to solve.
    75 minutes - Interactively building the solution using TDD with assistance from the audience.
    5 minutes - Questions and wrap-up

Learning Outcome

  • Understand the concept of emergent design
  • Learn how to allow overall design to emerge through small steps
  • Learn the difference between emergent design and designing up front
  • Learn how much design is enough

Target Audience

This session is intended primarily for software developers and architects, though other roles such as testers and business analysts will find value in understanding how emergent design is intended to work.

Prerequisites for Attendees

There are no particular prerequisites. The session will use Java as the programming language, so some exposure to it would be helpful.

schedule Submitted 3 years ago

  • Dave Rooney

    Dave Rooney - How Thin is Thin? A Practical User Story Workshop

    90 Mins

    Most of us have heard the mantra, "Slice your User Stories as thin as possible!" In my travels as a coach since the early 2000's, however, I've rarely seen stories that truly are thin. What are these rare creatures? Why don't I see more of them? Having good User Stories is crucial to the success of teams using them as the means for determining what needs to be built to fulfill a customer's need. Having thinly sliced stories is even more important!

    This workshop provides a level set on what stories are and explores why slicing stories very thin is important, what benefits thin slicing provides, and how to do it. Through a combination of examples and practical application in the workshop, you'll leave with slicing techniques that you can apply at your next planning session.

  • Dave Rooney

    Dave Rooney - #NoBigProcesses - Getting More Done By Doing Less!

    60 Mins

    You may have heard about the #NoEstimates movement, and even #NoProjects. Both of those concepts challenge the assumptions behind two key aspects of delivering software. But what about the process itself? Do we even need approaches like Scrum, Kanban or XP - let alone SAFe, LESS, NEXUS, DAD - in order to be successful? Is following a pre-defined process helpful at all? Is there a simpler way to be effective?

    This session examines the two key principles common to all successful software delivery approaches and builds out based on the experience of the participants. Like #NoEstimates and #NoProjects, the name doesn’t really mean to eliminate process altogether, but rather to build a process that works for your team, in your business domain, with your technology stack.