Difference between revisions of "Coaching Environment - TDD"

 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Contact Information ==
+
== Timing ==
Craig Larman, craig@craiglarman.com. +1 214 914 7593
+
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''.
  
  
Line 6: Line 6:
 
While working on the real (usually messy legacy) code, coach developers in how to break dependencies, test in isolation, and do TDD.
 
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.
+
2-7 developers, plus coach.
  
 +
== Room, Walls, Whiteboards ==
 +
* 1 projector & screen
  
== Room, Walls, Whiteboards ==
+
* 1 computer, connected to the production code and development tools
* People will be organized around 1 computer and 2-4 LARGE computer monitors.
 
  
 
* 1 whiteboard
 
* 1 whiteboard
Line 21: Line 22:
  
 
* whiteboard eraser
 
* 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.
  
  
Line 26: Line 30:
 
* 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.
  
* all normal development tools working
+
* 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.
 
* 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.