The Successful Software Manager
上QQ阅读APP看书,第一时间看更新

Agile, PRINCE2, and ITIL

When it comes to both software delivery and application management, there are primarily three formal pieces of training that can lead to an externally recognized qualification.

Here are the three methodologies most commonly involved in this training. They are mostly applied to software development, but they can also be used in other industries:

  • Agile
  • PRINCE2
  • ITIL

Interestingly, the Waterfall model, which is a popular methodology in our industry, is not included in this top list. My guess is that this is because the Waterfall model is now considered the go-to basic methodology that most traditional organizations will use. In which case, while it may require no introduction, you could equally argue that this makes Waterfall the most important methodology.

As we discussed in Chapter 2, What Are the Key Skills I Need?, the chosen methodology itself is not the be-all and end-all. What is much more important is your team's collective journey and the process of agreeing on which methodology you choose, followed by how you choose as a team to apply that methodology to your work.

All three of these methodologies are both flexible and adaptable. They are, by design, general enough that they can be applied to different industries and contexts. This high level of generalization, or even vagueness, can sometimes be frustrating when all you want to do is follow a simple step-by-step guide to deliver your software project. You therefore also need to be aware of alternatives to these best practices and recognized methodologies.

I'm not saying these three are the only methodologies you can use. Quite often, internally developed project methodologies can be used – which can have their own merits and value. But do be careful because these DIY methodologies are typically a condensed or even debased variation of one of the three main ones. In situations like that, your methodology really should just be called its proper name.

You'll remember from Chapter 2, What Are the Key Skills I Need?, that we discussed the merits and practical applications of Agile, Waterfall, and PRINCE2. We appreciated the true principles behind the Agile Manifesto, and we understood the practical benefits of incremental development over big-bang releases, dynamic daily huddles over regular static updates, and user stories over exhaustive requirements.

We also discussed the key difference between Waterfall and Agile. If you may recall, the focus of Waterfall is to be iterative between life cycle stages, while Agile's focus is to be incremental in its overall delivery. With regards to PRINCE2, we dedicated a section to identifying the key principles, processes, and themes of the methodology. You'll remember that we put quite a lot of focus on vital management products such as the project initiation document, RAID log, and lessons log.

What you won't remember, however, is the Information Technology Infrastructure Library (ITIL) methodology, which introduces us now to a new concept called IT Service Management (ITSM). In ITIL's own words:

"ITIL is the most adopted and recognized body of knowledge for ITSM."
– ITIL Mission statement

The ITIL methodology is a broad concept and it isn't exclusive or specific to software applications. Make no mistake though that ITIL is a very important methodology that we need to look at in detail, so I will now break this methodology down into more detail.