Difference between revisions of "Workshop Environment - SBE ATDD UTDD with mob-programming"

 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
<br>
 
<br>
 
<br>
 
<br>
 +
=== 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.
 +
 +
 +
 
=== Setting ===  
 
=== Setting ===  
 
people around a projector and screen. 1 computer. mob programming on production code.
 
people around a projector and screen. 1 computer. mob programming on production code.
Line 13: Line 46:
  
 
* install and check an xUnit TDD tool, such as JUnit (if not already integrated with the IDE)
 
* 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
  
  
Line 18: Line 61:
 
* computer  
 
* computer  
 
* projector
 
* projector
 +
* computer-to-projector video (e.g. HDMI) cable
 
* screen
 
* screen
 
* flip chart
 
* flip chart
 +
* 1 roll of tan/brown masking or painters tape
 
* chairs
 
* chairs
 
* tables
 
* tables
 
* black whiteboard markers
 
* black whiteboard markers
 
* paper towel for erasing
 
* paper towel for erasing
* 2 40-foot rolls of "wizard wall" sheets. NO SUBSTITUTES https://www.amazon.com/Wizard-Wall-Adhesive-Patented-Technology/dp/B00HHH4MIA
+
* '''(ORDER THIS ASAP, as there is often a delayed shipping)''' 2 40-foot rolls of "wizard wall" sheets. NO SUBSTITUTES https://www.amazon.com/Wizard-Wall-Adhesive-Patented-Technology/dp/B00HHH4MIA
 
* 1 black jumbo marker pen: https://www.amazon.com/Pilot-43100-Jumbo-Permanent-Marker/dp/B004E3CG1U
 
* 1 black jumbo marker pen: https://www.amazon.com/Pilot-43100-Jumbo-Permanent-Marker/dp/B004E3CG1U
 +
  
 
=== Room ===
 
=== Room ===

Latest revision as of 09:55, 25 January 2019



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.


Setting

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


Supplies


Room

  • 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