03 December 2006

Bar Camp Bangalore 2.0 session: Agile Development at ThoughtWorks

Marco Jansen, a project manager in ThoughtWorks took a very interesting session on how Agile Software Development is being practiced in the company. It is governed by 4 principles:

Principle 1: Individuals and Interaction over processes and tools.
A lot of emphasis is given on interaction among the team members of a project. So instead of separate cubicles all team members of project work out of the same table (looks more like a dinning table !); developers, functional guys, QAs, team lead sitting together which leads to better communication and easy problem solving.

Every morning starts with a stand up meeting wherein everyone is asked 3 questions - what did you do yesterday? What do u plan to do today ? What is it that might stop your work today ?

Why stand up meeting ? Marco demystified it - people talk less while standing then while sitting; this helps to keep the meeting short !!

Principle 2: Working software over comprehensive documentation
Minimum required documentation is done. Thus you wont find bulky documentation - requirement document, design document.

Principle 3: Customer collaboration over contract negotiation
Instead of user acceptance testing at the very end of the project implementation, client feedback is taken at regular intervals. Client visit India development center every couple of months and work with the development team.

Principle 4: Responding to change over following a plan
Clients are allowed to swap planned stories with one which priority ones that were not planned. ( Story is a user requirement which can be implemented in 2/3 days. Analogous to use cases)

ThoughtWorks uses peer development, wherein two people work on the same story simultaneously; this helps to train developers fresh out of college as they are paired with experienced developers. This also helps experienced developers to refresh basics. Marco also mentioned another benefit of peer development - people don't waste time in chatting, personal mails when they are working the same machine with his/her peer !!!

No comments: