Difference between revisions of "Coaching Environment - TDD"

 
Line 33: Line 33:
  
 
* access to all the usual development tools that are used: editors, IDE, version control, ... (since we will be working on regular product code)
 
* access to all the usual development tools that are used: editors, IDE, version control, ... (since we will be working on regular product code)
 
* 2-4 LARGE monitors (attached to 1 or 2 computers) with replicated (mirrored) desktop display on each. e.g., via monitor splitting cables, multiple video output ports, microsoft netmeeting shared desktop, VNC shared desktop, ...
 
  
 
* NB!! pre-installation of the chosen TDD framework (JUnit, NUnit, BoostTest, ...). ACTION >> Check with the coach with framework to install, and prepare this before the coaching session.
 
* NB!! pre-installation of the chosen TDD framework (JUnit, NUnit, BoostTest, ...). ACTION >> Check with the coach with framework to install, and prepare this before the coaching session.

Latest revision as of 21:10, 21 June 2015

Timing

I've noticed over the years that if i arrive at a site for this coaching at 9 am, and people start setting up the environment described below at 9 am, it can take 30-60 minutes of fussing around to get things ready. Therefore, please *COMPLETE* ALL of this the day BEFORE.


Context, People

While working on the real (usually messy legacy) code, coach developers in how to break dependencies, test in isolation, and do TDD.

2-7 developers, plus coach.

Room, Walls, Whiteboards

  • 1 projector & screen
  • 1 computer, connected to the production code and development tools
  • 1 whiteboard
  • 1 flip chart paper
  • 1 tape (e.g., masking tape), unless the flip charts of PostIt flip charts with sticky back
  • WHITEBOARD marker pens
  • whiteboard eraser

Choice of Legacy Application and First Method to "Bring Under Test"

We should start on an method or function that that you would like to "bring under test" -- to be able to unit test in isolation, so that we can do unit TDD. The method should NOT be trivially easy -- it should have some dependency problems, because teaching dependency breaking is a point of the coaching. On the other hand, it should not be the most awkward, messy, highly dependent method you can think of -- that would make getting started too slow.


Computers, Software and Networking

  • 1 fast computer connected to the real product software, with internal network and internet access.
  • access to the production source code of your entire product
  • access to all the usual development tools that are used: editors, IDE, version control, ... (since we will be working on regular product code)
  • NB!! pre-installation of the chosen TDD framework (JUnit, NUnit, BoostTest, ...). ACTION >> Check with the coach with framework to install, and prepare this before the coaching session.