Friday, May 20, 2011

Comparing Methods

Up till now we have discussed two Agile methods (Scrum and XP) and RUP as an iterative but more process oriented method. In this section we will compare these methods and investigate how they could enhance each other.

Although the core of Scrum is very simple, it is not completely self-explanatory and has a limited scope. The first point is illustrated by the many books and articles dedicated to the application of Scrum. Scrum gives you the simple basics that all can easily understand. Yet IT-development is complex and every situation is different so you need to adapt the process. The second point becomes clear by looking at its scope. Scrum is about self-organization of teams and has little to say about specialist work or project management. Any rules not stated in Scrum are supposed to be figured out by the Team and all others involved in the project. They may consult best practices, such as those described in other (preferably Agile or iterative) methods.

Scrum is often used in conjunction with eXtreme Programming (XP), an Agile method providing day-to-day practices for developers. Projects using XP usually have the following characteristics:

  • Low level of ceremony
  • Low focus on architecture
  • Minimal documentation
  • A dedicated team (in a product development or maintenance situation)
  • Quick and ongoing releases to production

There are many books on Scrum and XP  and most books on Scrum assume Agile software development practices like the ones from XP are being used by the team to guide their daily work. We however have come across many situations where a higher level of ceremony is needed and where practices from RUP can help the team to:

  • Guide them in a greenfield situation 
  • Structure requirements
  • Reach agreement with stakeholders on objectives for the project
  • Deal with new technologies and technical risks
  • Provide them with a standard way of doing specialist work

XP is mainly concerned with requirements, architecture, development and testing, whereas RUP also provides practices for other software development disciplines. Furthermore RUP supports higher levels of ceremony than Scrum and XP do. In this book we will show how RUP can be tailored to be used in an Agile environment and how it can be integrated with Scrum and XP. Furthermore we will show what mindset is needed to make it work and what aspects of the organization should be involved.

Scrum and RUP both provide guidance on team management, but are not focused on project management. For this Scrum could be pulled to a higher level (Scrum of Scrums) or the current management practices – like those described in PRINCE2 – can be used .

Figure 3: The Focus of Scrum, XP, RUP and PRINCE2

In Figure 3  we have visualized the scope of Scrum together with those of RUP, XP and PRINCE2. On the x-axis we see time ranges: Does a method focus on day-to-day tasks, or is it focused around iterations, or perhaps releases or the complete project? We see that Scrum is focused on day-to-day tasks, and RUP not at all. We find iterations to be an overlapping area of concern, whereas Scrum does not say much about releases or a project as a whole. On the y-axis we see several ‘disciplines’. Scrum is mostly concerned with team management. RUP has a lot to say about other disciplines as well, although of course there are areas which RUP does not cover.

This figure shows that each of the shown methods has its own viewpoint on IT-development. It helps to determine what the focus of each method is, it can help to select the right tools for the job at hand and it shows that these methods complement each other with only a small overlap in concerns.

Figure 4: Level of Ceremony and  Iterativity

As Figure 4 shows we can also look at methods from another angle. Here we look at the level of ceremony development methods support and at the rate at which they deliver usable software to the customer and release that software to production. At one end of the spectrum we have SDM supporting high level of ceremony and producing usable software in a matter of months or years. At the other end we have Kanban supporting a low level of ceremony and producing usable software interface. With ScrumUP we bridge the gap between the high level of ceremony of IBM RUP and the low level of ceremony of the combination of Scrum and XP.


Other Relevant Posts: 
Introducing RUP
The Agile Spirit
Self-organization (on the Scrum process)
Maintaining Stability (on what XP has to offer in a Scrum setting)

2 comments:

  1. I thought it was going to be some boring old post, but it really compensated for my time. I will post a link to this page on my blog. I am sure my visitors will find that very useful.

    Prince2 Training

    ReplyDelete
  2. This is such a cool blog, atleast content has a meaning unlike those useless blogs on the internet. Happy Independence Day Quotes in Tamil For Facebook Status 2018

    ReplyDelete