If you reach this post without any prior knowledge about Coding Dojos, please refer to this entry; then come back here.
Proposal
Short and sweet:
To start a series of Coding Dojos here in DR.
Please note the word series, I’m not talking about a one time event. I’m taking of a recurrent event (or events) for us to practice our craft, to learn from others, to teach others, to have a playground where we can try new things or concepts. In summary, to Raise The Bar.
My proposal is to have a Coding Dojo event every two (2) month, the first weekend of the corresponding month; specifically on Saturday Morning. If this gathering gets enough attention, then we could start on Sat Oct 06, 2012. As the maximum expected duration for any coding dojo session is of about 3 hrs., my suggestion is to start at 9:30 am, that way if we reach the three hours limit we’ll be ending by 12:30 p.m.
Types of Katas for each meeting
As RandoriKatas are more “fun” and collaborative than PreparedKatas, I propouse to have a cycle of 1 PreparedKata every 2 RandoriKatas: Randori – Randori – Prepared – Randori – Randori – …; but this is just a suggestion.
What we need?
First and more important, we’ll need people. Coding Dojo, and all Agile practices characterize for being a collaborative effort. So we need you to join and participate. If you are interested, add a comment to this post, or send me an email. If you are offering one or more of the necessary resources (see next paragraph), please indicate that too.
Second, we’ll need resources: some PCs / laptops, a digital projector, a meeting room. Its very easy to find some, 2 or 3, decent computers; the projector is a similar effort, but the showstopper here is the meeting room. We need a room with enough space for 8 to 10 people, with an air conditioner or a good ventilation system. So anyone with the means to get one please add a comment with the details. Finally, a must for that place is to have an UPS or backup generator.
Why?
As the Manifesto for Software Craftsmanship states, Software Craftsmen (us), must come to value:
Not only working software,
but also well-crafted software
Not only responding to change,
but also steadily adding value
Not only individuals and interactions,
but also a community of professionals
Not only customer collaboration,
but also productive partnerships
But what is the meaning of each practice? Lets review each one…
Well-crafted software
- It is the same as Compact, Elegant and Clean Code
- It requires the usage of Design Patters
- It has Comprehensive Automated Tests
Steadily adding value
- We must achieve an Emergent Design
- We must, continuously, Refactor our code
- We must have a Comprehensive Automated Test suite, and more important we must Respect it
A community of professionals
- We must learn from each other
- We must teach to each other
- We must have respect and trust
Productive partnerships
- We and our clients must have trust, understanding and mutual goals
- We must enhance the communication process with executable specifications
So, this is a call for you to take the responsibility of your craftsmanship and start practicing all required skills.