Difference between revisions of "Coaching Environment - TDD"
(New page: == Contact Information == Craig Larman, craig@craiglarman.com. +1 214 914 7593 == Room, Walls, Whiteboards == * People will be organized into table-teams, averaging 5 or 6 people per tea...) |
|||
(10 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | == | + | == 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 == | == 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 == | == 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. |
Latest revision as of 21:10, 21 June 2015
Contents
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.