Trainer: Joshua Kerievsky

Duration: 2 days
Language: English

Are you and your team able to work in such a way that your product is always ready to ship?
Do you avoid spending long times with compilation errors, failing tests, broken builds, un-merged branches, large features and un-released code?

In this hands-on, two day workshop, Joshua will share his team’s method for producing an “always shippable product.”

You will learn techniques like:

  • Visibility Strategies (making new/emerging features visible, partially visible or invisible to selected users)
  • Thin Slicing (taking big things and breaking them down into small, shippable bits)
  • Sufficient Design (when to sketch, craft and refine your work)
  • Test-Driven Development (including patterns like Essence First, Frame First, Break-It-To-Make-It, etc.)
  • Refactoring Strategies (including Narrowed Change, Parallel Change, Sequence Change, Gradual Change, etc.)
  • Continuous Integration (including how to avoid difficult merges and un-merged branches)
  • Continuous Deployment (including zero-down time, automated builds, monitoring and roll back).

This workshop is meant for hands-on programmers, software designers and software architects who are comfortable with some coding execises.

Note: Participants should have a laptop and a development environment for Java or C# (ideally). For Java, Eclipse is good, for C#, Visual Studio with Resharper is preferred.