Heard from Agile community, there would be codretreat global day activity, colleague Fred remind us this is a good opportunity to spread out the Agile engineering practice, and we decide to facilitate codereteat in Hangzhou city, as part of coderetreat global day 2012.
What’s the coderetreat
Coderetreat is a day-long, 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.
In the day, all participants practiced below modern development practices:
- Unit test
- Test-Driven Development (TDD)
- Code refactoring
Rules and practice
In each session there were some interesting rules/limitation, to guide people go beyond the border of their programming habits, and re-think of important aspects of programming.
- RULE #1. Pair-programming is requried
- RULE #2. TDD (Test-Driven Development) is required
- RULE #3. Clean Code is required
- RULE #4. Refactoring is required, and each function logical number shall be less 4 lines
- RULE #5. Mouse is not allowed, and each function naming shall be follow “tell, don’t ask” principle
- RULE #6. No “if … else …”, “switch … case …” , “..? ..:..” condition expressions
Beside these rules, each session is finished, programmer shall switch pair and permanent remove the previous typing code, we demand this since there would be more chance to share the idea as more as possiable, demand to remove the source code because we were willing to make programmer understand and believe they will coding better.
We took 6 sessions for each rule, and wrap up in the end. Also had video connecting with other cities (Beijing, Shanghai, Taiyuan, Tokyo, Singapore, Hanoi, Ho Chi Minh) via google hangout.
This event is for free, and attendee deserve one lunch which better than pizza, and some soft drink, fruit. So we need some budget, luckly we address a mail to our head, and tell her this event is align with organization goal, and will help to promote the programming competence development in our organization, and finally, she nod for the buget plan, the cost was around 800RMB.
Since this is an open event, we were looking forward to more programmers come from different company and industry, and coding in different programming language, it will increase the idea diversity, so we advertise on social networks. But later just come 2 persons from outside our company, it prove our advertisement was failed. So, if we plan to facilitate same event, we will advertise on some programming community will be better.
Of cause, the advertisement inside our company is quite good, there were more then 20 programmers coming.
Suggest the number limited in 30 will better to organize.
Problem for programming
The problem is Game of life, programming language is no restrict, actually, we encourage people use strange language.
As my feeling, the event is successful, and quite many people ask me when we will facilitate same event after then. Also, help people to build the modern programming awareness, and change the mindset of that limitation (restriction) is not impediment, instead it demends you think more, it likes the matchstick to light your thinking, open your mind.
More pictures from Hangzhou GDCR 2012, please click here.