Version presented at Agile Day 2014
We created a workshop to help developers to start learning and questioning design principles.
The basic idea is to put them one against the other and realise how they are applied differently based on context and that design is based on trade-off choices.
People will be splitted into pairs working on a small code exercise.
Starting from a small codebase youll be asked to implement a new feature following one principle.
After 20/30min well share our code in a facilitated conversation
Check the code and all the support material to repeat the dojo at:
https://github.com/iliasbartolini/design_principles_dojo_facilitator_guide
https://github.com/iliasbartolini/design_principles_dojo
2. 2
HOW IT WORKS
Divide into pairs
Start setup development environment
Explain the tensions & synergies
Choose a design principle or rule
Game of life
Implement a new user story (45min)
Showcase changes
How did it affect other principles? Post-it!!
Repeat
Conclusions
Feedback
BREAK
11. 11
USING PRINCIPLES AND RULES...
Patrick Kua - http://www.slideshare.net/thekua/learning-about-learning-with-dreyfus-7924019
12. 12
Conway's Game of Life
1. Any live cell with fewer than two live neighbours dies,
as if caused by under-population.
2. Any live cell with two or three live neighbours lives on to the next
generation.
3. Any live cell with more than three live neighbours dies,
as if by overcrowding.
4. Any dead cell with exactly three live neighbours becomes a live cell,
as if by reproduction.
http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
13. 13
As the supreme product owner
I want any cell with >= 4 alive
neighbours to become a zombie
so that apocalypse can begin..
#5
14. 14
As the supreme product owner
I want any cell with >= 4 alive
neighbours to become a zombie
so that apocalypse can begin..(ps. Zombies will be forever
zombie, cannot die or become alive
again)
#5