Workshop Environment - SBE ATDD UTDD with mob-programming

Revision as of 10:55, 25 January 2019 by Clarman (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Questions to Answer for the Coach

please send (via email) these answers ASAP to the coach...

  • what is your product? (e.g. self-driving car software, trading software, ...)
  • programming language (and version)?
  • OS?
  • current IDE, if any?
  • current ATDD tool, if any?
  • current xUnit framework (e.g. JUnit), if any?
  • do most of the developers know basic VIM?
  • address of coaching site? (so I can quickly arrange lodging nearby)
  • (hopefully not) are there any public holidays in this 10-day workshop period?

Preparations for One Requirement

We will be doing SbE, ATDD, and UTDD on one new requirement, in the context of your legacy code. Therefore:

  • pick 1 requirement: Not too big or complex, because we will be going slow and learning deeply. But OTOH, not so trivial that there is no meat on the bones to learn from
  • (as mentioned on the related workshop intro page) one or two experts who can spend 2-3 hours on the morning of day 1, in conversation with the team and guided by me, doing SbE
  • do NOT teach this requirement to the team of developers; more-or-less only the domain experts (who are usually not the developers) should know it. the point is that i will coach the group in how to learn about a requirement through the technique of SbE.


people around a projector and screen. 1 computer. mob programming on production code.

Software Tool Installs Before the Workshop

  • install and connect Fitnesse (an ATDD tool) to your system under development, so that we can call upon public APIs of your system, via a Fitnesse Fixture.
  • complete full "connect the dots" *before* the workshop, proving that Fitnesse is connected and can make calls
  • CHECK IDE CHOICE WITH COACH, and then install the chosen IDE with built-in refactoring
  • install and check an xUnit TDD tool, such as JUnit (if not already integrated with the IDE)

Computers Setup

  • we will only develop on 1 shared computer
  • however, more laptops can be in room, owned by each developer. these can be useful when we want to research something in parallel with the entire group
  • see "tool installs" above
  • access to ALL the production legacy code



  • an unchanging room for the entire workshop
  • room with vast clear flat wall areas that will be covered in "wizard wall" plastic sheets
  • the tables will be set up in a U-shape around the screen