Friday, February 25, 2011

Following a Method

It is important to have an appropriate process or method. Following a method provides a team with a common vocabulary to express complex concepts which would otherwise take a lot of time to explain. Furthermore, a method provides responsibilities (assigned to roles) so team members know what to expect from each other without spending a lot of time arguing about it. Methods provide a way to utilize experiences from others so a team can avoid spending a lot of time reinventing the wheel.


That is why having a well defined process is usually better than having none at all. In many cases it is even less important what process is used than how well team members know and execute the process. Think of it as a common language within the team, it doesn’t matter if it is English, Chinese or Dutch, as long as they all speak it reasonably well.

On the other hand, following a process or method is no guarantee for success. Blindly following a process can even induce failure. Don’t use a method as an excuse to stop thinking for yourself. No matter what method or process is chosen, you must tailor it to the needs of the particular organization and project it is used in. Furthermore, apply it with the right mindset and make sure this mindset is known to all participants, i.e. team, stakeholders and management.

Software development projects differ greatly in size, complexity and formality of the surrounding organization. As a result, different iterative and incremental software development methods - having been developed under different circumstances - diverge in level of ceremony, amount of process and documentation on the process, guiding principles, their scope and the way they should be used.

We are going to look at some of these software development methods now. First we are going to focus on RUP (the Rational Unified Process). After that we will talk about Agile software development and two popular Agile methods, Scrum and XP (eXtreme Programming).

No comments:

Post a Comment