About Steven Thomas

Steven Thomas an independent Agile Programme Manager.

Programme Management: Build capability, Roll it out, and Deliver Business Benefit

Some people view programme management as simply the management of multiple projects (see for example Johanna Rothman: Defining Program Management and How Agile Helps).

Although programmes often comprise multiple related projects this definition, for me, misses the real point. As I see it programme management involves three things: building capability, rolling it out and, most importantly, delivering business benefit.

Continue reading

Is Software Craftsmanship a Type of Martial Arts?

Code Kata, Coding Dojos, and White Belt Programmers. What is it all about?

In part seven of my series on software craftsmanship I have a look at how software craftsmanship is sometimes wrapped in the language of martial arts.

I confess from the outset that the use of martial arts language really put my off software craftsmanship. But behind the kung-fu I found fairly uncontroversial practices.

I’ll have a quick look at the three software craftsmanship practices I found with a strong martial arts flavour: Code Kata, Coding Dojos, and White Belt Programmers. Then go into a more general discussion of what it is about.
Continue reading

Nine Common Strategies for Managing a Growing Defect Backlog

In response to my request for questions along the lines of what do I do when … ? Jo asked:

What do I do when the defect backlog keeps growing with low impact (and low priority) defects and nobody seems to pay attention to them as we have more important features (or medium/high) priority defects to deal with? Should we deal with it or just stop logging low impact defects?

Faults are an inevitable part of software delivery. I only briefing touched on managing lists of faults in Agile Project Execution so it is well worth expanding on.

In fact defects is an area where software delivery, including agile software development, can get messy. Luckily there are ways to manage this mess or to avoid it altogether. Jo’s question hints at potential answers but there are others. In fact I know of at least nine common strategies for managing a growing fault list.
Continue reading

Reporting Success Stories Alongside Formal Benefits

Ever since I read "Made to Stick" by the Heath Brothers I’ve been a keen collector of success stories about my programme.

As the programme manager I have to report on the progress of my team. Risks, Issues, Budget, Milestones, Financial Benefits, Reach, etc, etc. Lots of numbers and facts. Terribly significant and rather dull.

So, to spice things up, I also report on success stories.
Continue reading

What do I do When … ?

A few years back I did a big agile roll out and I asked people for a list of the things which might upset the agile software delivery process. Although I asked for Agile Gotchas the team actually came up with was a set of questions on "What do I do when … ?".

I’ve answered many of these questions in my big articles on Agile Project Management but I’ve decided to put a bit more focus on them. So, in a new series of monthly posts, I’ll answer questions on the theme of What do I do When.

I have some questions in mind but I would also welcome other questions along the lines of What do I do When … ?. If you’ve got a suggestion please drop me a line or add a comment.

New Agile Teams and the Overcommitment Bear Trap

The most common problem I’ve seen with software development teams is over commitment. Invariably individuals and teams are overly optimistic about what can be done in a certain time period. There are any number of reasons for this including arbitrary management deadlines and the team not pushing back, the developers desire to please, and just the fact that estimating in software development is hard.

Agile development teams are just as prone to this problem as any others. Every team I have helped transition to Agile has stepped into this bear trap almost immediately. And forewarning them doesn’t help. I now see stumbling into the trap as a valuable lesson and an essential step in the process of getting more mature about software development. I don’t mean maturity in the sense of the SEI’s Capability Maturity Model, I mean maturity in the sense of growing up, being realistic and accepting the limitations in themselves, their team and the organisation.

The difference about Agile, compared to traditional approaches to software development, is that Agile offers techniques to avoid the over commitment bear trap.
Continue reading