IMT Solutions is proud to be the Premium Sponsor of the first Agile Coding Dojo in Saigon.
A coding dojo is a place where software developers come to improve their coding skills by following exercises similar to the martial arts dojo. On the meet-up, a kata (programming challenge) is posed for each session; and required to be solved by an aware and understanding manners. The crowd is divided into groups, each group is mentored by a Sensei (Japanese word for teacher). During the session, each group will spend a certain amount of time developing a solution to the kata, the code will be published and version archived for other groups to reference and study.
The main purpose of coding dojo is not to find the solution first and fast but to understand the nature of programming and each line of codes. One can think of coding dojo as a place where developers gather and do meditation over engineering practices.
On the day, we had Alex Cuva (traveled from Đà Nẳng) speak about Agile Development Best practices. He concurred Engineering Practices are most important for companies to adopt Scrum or Agile and pointed out the utmost importance of frequent code reviews, automated tests and continuous integration. He surprised the audience by convincing developers to “never comment your code” with an argument “the code should be self-explaining”; if a code is complicated enough and needs comments, then that code needs refactoring and/or adds unit-test as a good way to explain how the code should work.
Following Alex Cuva, Hiep Le went through Agile Manifesto from an Agile developer eye and mind. He directly stated Agile Manifesto is not apparently useful for developers but Manifesto for Software Craftsmanship which was later explained and explored is.
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.
After explaining about Manifesto for Software Craftsmanship, he went on to how to TDD and leaded all groups to have hands-on experience of Red-Green-Yellow cycle where:
Red: time to only write tests
Green: time to only write codes.
Yellow: time to only do refactoring on working codes.
The two katas he brought to the dojo were Prime Factor and Count Coins from http://cyber-dojo.org
By Hiep Le Trong
Some pictures taken from the dojo: