This event is in the past
Go to the upcoming JS CodeRetreat

JavaScript Code Retreat #2

The Schedule

JavaScript Code Retreat #2

Summary

Restrictions

History

Timezones

Since we will try to video conf in multiple locations, probably into one hangout, it will be essential to be in the same timezone. The suggestion here is to sync via video only if you are in the same time zone, so you can really sync on the same thing at the same time.

Five Sessions

5 Sessions x 45 minutes

9:00 Arriving, Breakfast, Coffee
9:15 Introduction round
9:30 What is Code Retreat, what can u expect ... what is GameOfLife
10:00

Session 1 - Explore, Stabilize, Implement on paper!

Explore the game of life, find out how it works.

Stabilize the rules so there are no questions left, analyze and practice to find out asking the right questions and answer them, sketch it on paper.

Implement a possible solution on paper. If you find out in this step that you don't know how to implement it go back to a step before and keep iterating until you have a solution. The implement step does also mean that you sketch out the test cases you have in mind and try to put them in an order that you find useful to achieve results along the lines of the given task.

10:45 Local Retrospective
11:00 Session 2
Restriction: Mute Ping/Pong.

During the Pair Programming session nobody speaks. Person 1 writes a failing test, passes the keyboard to Person 2 who makes the test pass and writes another failing test, and then passes the keyboard back to Person 1, and so on. One test at a time.
11:45 Local Retrospective
12:00 Global Retrospective
12:15 Lunch
13:30 Session 3 - Randori
Round robbin in teams of about 10 people. Use pair programming in the real sense, a driver and a navigator and take 3 minutes to implement the tests and production code. Move on to the next person to be navigator/dirver, so that the entire team is implementing at least once.
14:15 Local Retrospective
14:30 Session 4 - Pure functional
Use functional techniques to implement the game of live. Try not to use the `var` statement but just function. You have things available like map, forEach, filter, etc. Look up the array docs if you want to find out more.
15:15 Local Retrospective
15:30 Global Retrospective
15:45 Session 5
Restriction: Extreme Baby Steps.
In this session we use small intervals of 2 minutes and go throw this procedure:
  1. Write exactly one test
    1. If the timer rings and the test is red then revert and start over
    2. If the test is green before the timer rings then go to 4
  2. Restart the timer no discussions in between
  3. Refactor
    1. If the timer rings and the refactoring is not complete then revert and start over
    2. If the refactoring is complete before the timer rings then you´re fine and go to the next step ;-)
  4. Go to 1
16:30 Local Retrospective
17:00 Beers together ...