Difference between revisions of "Coaching Environment - TDD"

Line 10: Line 10:
  
 
== Room, Walls, Whiteboards ==
 
== Room, Walls, Whiteboards ==
* People will be organized around 1 computer and 2-4 LARGE computer monitors.  
+
* 1 projector & screen
 +
 
 +
* People will be organized around 1 computer and looking at 2-4 LARGE computer monitors (all with duplicated display of the same computer) and/or looking at a projector.  
  
 
* 1 whiteboard
 
* 1 whiteboard
Line 29: Line 31:
 
== Computers, Software and Networking ==
 
== Computers, Software and Networking ==
 
* 1 fast computer connected to the real product software, with internal network and internet access.
 
* 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)
  
 
* 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, ...
 
* 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, ...
 
* all normal development tools working
 
  
 
* 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.

Revision as of 03:37, 10 October 2012

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.

min 2 developers, plus coach. max 3 developers.


Room, Walls, Whiteboards

  • 1 projector & screen
  • People will be organized around 1 computer and looking at 2-4 LARGE computer monitors (all with duplicated display of the same computer) and/or looking at a projector.
  • 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)
  • 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.