Posts Tagged ThoughtWorks
ThoughtWorks conference on Scaling Agile
Posted by Ram Sundararajan in Innovation, Social, Values on June 9, 2009
As some of you might know, four of us here in Bangalore went to a conference/seminar at ThoughtWorks on ”Scaling Agile”. For those of you who do not know much about ThoughtWorks, they are a successful company with over 1000 employees in six countries. They are the fore-runners when it comes to Agile project management. ThoughtWorks also sells an Agile project management software called Mingle.
During the conference, it was very exciting to see how similar our work framework was to theirs. Does this mean that we are on the right track? Oh yes; not only by following one of the Agile principles of “reach the customer faster” but also by following some of our core values very effectively.
Right, below is what ThoughtWorks had to say about how someone whom they call an Iteration Manager should try to establish in his/her team (this role is bundled in the role that Lena and Jojo are doing at present…)
Iteration Manager should work toward a professional and accountable work environment. Such environments exhibit proper behaviors and mannerisms, such as the following:
- Mutual respect is displayed for self, others and customers
- Successes are celebrated
- Mistakes are treated as learning experiences
Strikingly relevant to what we already have, isn’t it? I will post you this book today.
Okay, going back to the conference, below are the key points we learned from there
- Programming is an art and software development is a social activity – Improve the conversation and you improve the software
- Embrace change – Dare to make a difference
- Rapid feedback – Develop to make your MUST HAVE work faster. Get rapid feedback from the customer. In our case, UxD and Test
- Continuous Integration – Check-in your code often. Create a test harness like Unit test and functional test simultaneously
- Face to face communication is a must – ThoughtWorks does it using video conference, chats, etc
- Make yourself easily accessible
- Make dev. Environments close to Production.
Apart from these, ThoughtWorks stresses on the importance of graphing out our project activities so that the Project Team and the stakeholders can find out the bottlenecks in the project now and then. I do not think that we do it today but they talked about the importance of maintaining charts which can be discussed on a weekly basis. This chart becomes more interesting especially during the retrospectives, if not immediately.
It was interesting to see how they keep track of the number of check-ins a day through a graph. At ThoughtWorks they say that they have a general rule that whenever a developer checks in a code, s/he is responsible for the aftermaths. If a bug is found in the recently checked-in code, it’s the developer’s responsibility to see to it that the bug is fixed or the code is rolled back within 5 hours.
When it comes to practicality, I would like to jot some things on the Continuous Integration part. I think that we have completely missed out on this part when we moved to the new Harvest model. ThoughtWorks has MOSCOW requirements in the product backlog. When the project is under implementation, the development team discusses the design aspects and implements the most important MUST have ASAP. They check-in their code (they said 20 times a day) to the main branch, and write unit test and functional test simultaneously and make sure the automation test passes really at the beginning. The test and the design team then picks up the task and works with them. Thus overcoming the “continuous waterfall” pitfall in the development cycle. The dev, design and test team work simultaneously on the tasks. Fantastic!!
We tried something similar to what they suggest here May sprint and it seems to have worked well for us. But again, we all in our roles need to make ourselves more accessible, else we will end up in the continuous waterfall.
Below are what ThoughtWorks thinks are challenges and options to overcome when it comes to scaling Scrum
|
Challenges |
Options |
|
Limited face to face |
Formal and scheduled communication channels like meetings chats, video conference |
|
Consistent view of big picture |
Scrum of Scrums |
|
Lack in clarity of responsibility/ownership |
Information radiation
|
|
Decision making |
Improve escalation points |
|
Knowledge sharing |
Communities and forums |
Below are the key take-aways from the presentation ThoughtWorks did during the conference.
- Program plan and governance – By governance they mean communication
- Continuous Integration
- Trigger points for structural changes – We need to get red hot at things that work less good and burn to improve it ASAP
- It takes more time to change
- Focus on Objectives, Principles and ADAPT!
Oosch! You know what? I think that the next time you guys come down here, we should make a visit to ThoughtWorks. They really have an open, flat, motivated and a smart work environment!