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

 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
<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.
  
  
=== Preparation before the workshop ===  
+
=== Software Tool Installs Before the Workshop ===  
* install and connect Fitnesse -- or another agreed ATDD tool -- to your system under development, so that we can call upon public APIs of your system, via a Fitnesse Fixture.
+
* 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
 
* 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
  
=== Participants ===  
+
* install and check an xUnit TDD tool, such as JUnit (if not already integrated with the IDE)
* either 1 existing stable team, or a new mixed group of developers from diverse technologies of relevance
+
 
 +
 
 +
=== 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 16: Line 61:
 
* computer  
 
* computer  
 
* projector
 
* projector
 +
* computer-to-projector video (e.g. HDMI) cable
 
* screen
 
* screen
 +
* flip chart
 +
* 1 roll of tan/brown masking or painters tape
 
* chairs
 
* chairs
* table
+
* tables
* vast clear wall areas covered in "wizard wall" (etc) sheets, for whiteboarding floor-to-ceiling
+
* black whiteboard markers
* access to the production code
+
* paper towel for erasing
 +
* '''(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
 +
 
 +
 
 +
=== 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

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