Base requirements for participating are:
- 💻 Notebook/PC
- ⚡ Stable internet connection
- 🎥 Webcam and microphone (preferably a quite place)
- ✍️ Have prepared empty project where you can write tests rightaway
Any participant should prepare for pairing with a developer of any platform. Therefore a couple of extra tools should be ready for use. Here is the categorized list:
IDE Built-In Tools
IDE | Host Participant Requirement | Any Participant Requirements |
---|---|---|
IntelliJ IDEA, WebStorm, AppCode & Android Studio | Installation + Code with Me Plugin | - |
VS Code | Installation + Live Share Plugin | Installation + Live Share Plugin |
Worst-Case Scenario Tools
git
Time | What is happening? 🤔 |
---|---|
before 09:00 | Participants arriving to meeting |
09:00 - 09:30 | Welcome, introduction and overview of what is going to happen |
09:30 - 10:30 | Session # 1 (Pair Programming and Game of Life explained) |
10:30 - 10:45 | Retrospective + short break |
10:45 - 11:45 | Session # 2 (Test Driven Development explained) |
11:45 - 12:00 | Retrospective |
12:00 - 13:15 | Lunch + socializing (big break) 🍕 |
13:15 - 14:15 | Session # 3 (4 Rules of Simple Design explained) |
14:15 - 14:30 | Retrospective + short break |
14:30 - 15:30 | Session # 4 |
15:30 - 15:45 | Retrospective + short break |
15:45 - 16:45 | Session # 5 |
16:45 - 17:00 | Closing circle retrospective |
Random and for each session unique pairs are generated based on Stupid Sort algorithm utilizing Mulberry32 random number generator with seed 12
.
# | Participant A | Participant B | Pair Space |
---|---|---|---|
1 | Zdeněk B. | Róbert J. | meeting room + paper |
2 | Martin L. | Martin K. | meeting room + paper |
3 | Filip M. | Petr J. | meeting room + paper |
4 | Kateřina K. | Jiří K. | meeting room + paper |
5 | Martin M. | Filip O. | meeting room + paper |
Rules:
- Game of Life
# | Participant A | Participant B | Pair Space |
---|---|---|---|
1 | Róbert J. | Petr J. | meeting room + paper |
2 | Martin L. | Martin M. | meeting room + paper |
3 | Kateřina K. | Filip M. | meeting room + paper |
4 | Filip O. | Zdeněk B. | meeting room + paper |
5 | Jiří K. | Martin K. | meeting room + paper |
Rules:
- Game of Life
- TDD - ping-pong
- max 4 lines of code per method/function
# | Participant A | Participant B | Pair Space |
---|---|---|---|
1 | Martin K. | Kateřina K. | meeting room + paper |
2 | Filip O. | Róbert J. | meeting room + paper |
3 | Petr J. | Martin M. | meeting room + paper |
4 | Martin L. | Filip M. | meeting room + paper |
5 | Zdeněk B. | Jiří K. | meeting room + paper |
Rules:
- Game of Life
- TDD - ping-pong
- 4 Rules of Simple Design
- TDD as if you meant it
# | Participant A | Participant B | Pair Space |
---|---|---|---|
1 | Kateřina K. | Martin L. | meeting room + paper |
2 | Róbert J. | Martin K. | meeting room + paper |
3 | Filip O. | Petr J. | meeting room + paper |
4 | Martin M. | Jiří K. | meeting room + paper |
5 | Filip M. | Zdeněk B. | meeting room + paper |
Rules:
- Game of Life
- TDD - ping-pong
- 4 Rules of Simple Design
- no conditions (if, switch)
- mute
# | Participant A | Participant B | Pair Space |
---|---|---|---|
1 | Petr J. | Martin L. | meeting room + paper |
2 | Kateřina K. | Martin M. | meeting room + paper |
3 | Zdeněk B. | Martin K. | meeting room + paper |
4 | Jiří K. | Róbert J. | meeting room + paper |
5 | Filip M. | Filip O. | meeting room + paper |
Rules:
- Game of Life
- TDD - ping-ping
- 4 Rules of Simple Design
- no arrays/collections
- pure functions only
- Any live cell with fewer than two live neighbors dies, as if by underpopulation.
- Any live cell with two or three live neighbors lives on to the next generation.
- Any live cell with more than three live neighbors dies, as if by overpopulation.
- Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction.
For more information visit the Conway's Game of Life page at Wikipedia.
generation x
(n < 2)
⬜ | ⬜ | ⬜ |
---|---|---|
⬜ | 🦠 | ⬜ |
⬜ | ⬜ | 🦠 |
generation x + 1
❔ | ❔ | ❔ |
---|---|---|
❔ | ⬜ | ❔ |
❔ | ❔ | ❔ |
generation x
(n = 2,3)
⬜ | ⬜ | ⬜ |
---|---|---|
🦠 | 🦠 | ⬜ |
⬜ | 🦠 | 🦠 |
generation x + 1
❔ | ❔ | ❔ |
---|---|---|
❔ | 🦠 | ❔ |
❔ | ❔ | ❔ |
generation x
(n > 3)
🦠 | 🦠 | 🦠 |
---|---|---|
🦠 | 🦠 | 🦠 |
🦠 | 🦠 | 🦠 |
generation x + 1
❔ | ❔ | ❔ |
---|---|---|
❔ | ⬜ | ❔ |
❔ | ❔ | ❔ |
generation x
(n = 3)
⬜ | ⬜ | ⬜ |
---|---|---|
🦠 | ⬜ | ⬜ |
⬜ | 🦠 | 🦠 |
generation x + 1
❔ | ❔ | ❔ |
---|---|---|
❔ | 🦠 | ❔ |
❔ | ❔ | ❔ |
Consists of:
- Tests Pass
- Expresses Intent
- No Duplication
- Small
Further reading - Corey Haines: Understanding the Four Rules of Simple Design.