Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code Retreat #2

Closed
1 of 2 tasks
alabeduarte opened this issue May 30, 2017 · 6 comments
Closed
1 of 2 tasks

Code Retreat #2

alabeduarte opened this issue May 30, 2017 · 6 comments

Comments

@alabeduarte
Copy link
Member

alabeduarte commented May 30, 2017

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

Code Retreat: A Coderetreat is a day-long (we can adjust to fit between 6pm to 9pm), intensive practice event, focusing on the fundamentals of software development and design. By providing developers the opportunity to take part in focused practice away from the pressures of 'getting things done', the coderetreat format has proven itself to be a highly effective means of skill improvement more...

Coderetreat has an established, time-tested format that is optimised for focused practice.

  • Problem: Conway's Game of Life
  • Length of Session: 45 minutes
  • Duration: 6pm to 9pm
  • Pair-programming is necessary, as the knowledge transfer contained in that activity is essential to the practice
  • Prefer using Test-Driven Development (TDD)
  • After each session, pairs should be swapped
  • After each session, code must be deleted, not put in a branch, not stashed, just deleted with no trace left

The Day

The coderetreat day consists of 5-6 sessions but for this one, we might consider having 2-3 sessions due the short time. Each session's learnings building upon previous sessions.

Below is a rough outline for the day.

  • 6 - 6.45pm : arrival, dinner
  • 6.45 - 7pm : welcome, introductions, explanation of the problem
  • 7 - 7.45pm : Session Add hyperlink and bold #1
  • 7.45 - 8pm : retrospective, break
  • 8 - 8.45pm : Session Code Retreat #2
  • 8.45 - 9pm : retrospective, break
  • 9 - 9.30pm : Closing circle

Session 1

Allow pairs to get a feel for the problem domain. Not everyone has seen Conway's Game of Life before, so this session will allow them to wrap their head around the task. After the first session, it can sometimes be useful to discuss the idea of deleting the code. Some people might have a bit of resistance to the idea. Gently explain that those are the rules.

Session 2

Suggest that teams begin to stretch themselves. Discuss polymorphism as a better solution than boolean flags. Further, reinforce the avoidance of primitive obsession. Push heavy exploration of abstractions.
Another option is explain to teams that the night is about going past any self-imposed limits. Below are some constraints that can be introduced, chosen based on the experience of the individual pairs.

  • No if statements
  • No loops
  • Small Methods (<5 lines, 1-line?)
  • No language primitives
  • TDD As If You Meant It

Disclaimer

All description above came from coderetreat website with a few adjustments to our context.

@rodolfoprr
Copy link
Member

cool! could you post more details about how would be a structure of a Code Retreat in this case (not sure if we will be running in a full day)? When will you be ready for doing that?

@alabeduarte
Copy link
Member Author

Thank you @rodolfoprr

I have added more details to the issue.

@ttsui
Copy link

ttsui commented Jun 7, 2017

Something a bit further down the line but perhaps we can host a coderetreat as part of Global Day of Coderetreat on November 18, 2017.

Not saying that we shouldn't have one sooner.

@alabeduarte
Copy link
Member Author

Hi @ttsui

This is the idea! I would like to have a few code retreat sessions until November!

@dropbeardan
Copy link
Contributor

I'm down for some full-day Coderetreats if you guys were keen to go ahead with that sometime in the future

@rodolfoprr
Copy link
Member

rodolfoprr commented Aug 11, 2017

Thanks @alabeduarte for your suggestion ❤️

I'm closing this PR since the next event we will be doing the Code Retreat: https://www.meetup.com/en-AU/Software-Craftsmanship-Sydney/events/242424711/

If we want to discuss a full-day Coderetreat, we can open a new issue 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants