Tuesday, 29 March 2011 10:12

How Much Rework Do You Have?

Written by 
Rate this item
(0 votes)

As a requirements solution vendor we talk with people every day about their requirements issues, assist them to understand the root causes, and help them articulate a business case for investing in a solution. For most companies, the biggest single inefficiency in their software development efforts is the amount of rework that's done due to inadequate requirements.  (The reasons as to why the requirements are inadequate are many and beyond this post but stay tuned for a new paper on the topic that goes into more depth).

When we ask people how much rework they have done on their software projects, the answer varies consistently between 5% and 25%.  I find this fascinating since industry statistics show the average rework rate to be considerably higher (Forrester: 30%; voke: 40%).  Why do people regularly report lower rework rates?  Here are some reasons based on these conversations:

Vocabulary

On many projects, rework is simply known by a different name.  In many cases it appears as contingency or padding in other line items within the budgeting process.  In others a large amount of rework is pushed in to maintenance, and in extreme cases a new project may even be positioned.

Awareness

We have had countless conversations where people were simply unaware that rework happened. One reason is related to the vocabulary mentioned above where the rework may be disguised and dispersed under different budget items hiding the true nature of this expenditure as rework.

Scope

It seems that most people only consider the rework that takes place in the development aspect of a project. The total cost of rework depends on many factors including your development process and where you may be in the development cycle, but should  include all impacted areas as well, such as: planning & estimating; all forms of testing (unit test, integration testing, regression testing, etc.); product documentation; user support; services and training; etc.  When all these are factored in, the true magnitude of rework becomes much clearer.

Denial

Rework implies that something was done wrong, requiring work to be repeated.  Nobody likes to be associated with this and for many it is difficult to come to terms with the amount of rework that actually takes place on the average software project.  While initial discussion may start with the claim of minimal rework, after a little inquiry the rate tends to creep up.  I recall one time in particular where the initial rate of 7% rework ended up being 35% after our conversation.

Combinations of the above

Various combinations of the above may be at work, each contributing to the low rework numbers that people report, and may actually believe, on a regular basis.

I wouldn't be surprised if there are more reasons and would love to hear any you're aware of. As people realize the true magnitude of rework on software projects, it quickly becomes a prime target for improvement initiatives.

Don't forget to leave your comments below.


Tony Higgins is Vice-Presidentof Product Marketing for Blueprint, the leading provider of requirements definition solutions for the business analyst. Named a "Cool Vendor" in Application Development by leading analyst firm Gartner, and the winner of the Jolt Excellence Award in Design and Modeling, Blueprint aligns business and IT teams by delivering the industry's leading requirements suite designed specifically for the business analyst.

Read 3341 times Last modified on Tuesday, 27 March 2012 13:46

Comments  

 
0 # Ken Livingston 2011-03-29 15:55
Good points Tony - I've never encountered formal 'rework', which I can only guess has been hidden in the categories you outlined. (I'd like to think my work has been brilliant, of course, but reality intrudes from time to time). Thinking about it a bit more - one other category could be simply non-use of the resulting system, where users find that the system doesn't deliver what they want and they just abandon it. No fanfare, no complaints - and no rework. One point that probably needs amplifying is Testing. Most projects seem to allocate a nominal amount of time for testing, without room for re-work - i.e. the fundamental assumption is that testing doesn't find any significant bugs. Are analysts and developers really that good?
Reply | Reply with quote | Quote
 
 
0 # Brandon Soler 2011-04-05 11:26
Seconding the above comment - within the one major project I am currently work on, we coordinate software upgrades as 'mini-projects' within the over-all project timeline. Unde rstanding that you need dates to work towards and the old saying I always seem to hear is "you don't plan to fail" I still come across very conservative time allowance for UAT cycles - and usually no allowance at all for bug fixing assuming you find anything. We're dealing with a software vendor with very questionable development practices who have a history of over-promising and under-deliverin g - delivering late as well. So I can safely bet that even after Unit Testing and Regressive Testing, UAT will STILL find something and need it resolved. Rewo rk is a large problem with this project - in the large part our problem is dealing with 3rd party developers who only skim the requirements spec and do no internal testing before delivering what we now think of as the 'first draft' rather than the final solution. Our project team is forced to become the beta testers for their development house, made even worse by timezone differences. There are other reasons for rework issues as well, this project was poorly scoped from the beginning and I estimate that it has been more like a 50% rework from the original scope to bring the solution we're delivering to a point where it now delivers a large benefit to the business. It has been exhausting and is a perfect testimony to what Tony has stated here. Brandon.
Reply | Reply with quote | Quote
 
 
0 # Wilson Udofia 2012-02-19 22:08
I SINCERELY SALUTE YOUR POINTS ESPECIALLY ON "SCOPE"....NICE WORK.
Reply | Reply with quote | Quote
 

Add comment