Posted by: communicationcloud | January 27, 2012

What’s the real cost of adding a feature to software

I’ve been re-reading Getting real, which recommends:

“Each time you say yes to a feature, you’re adopting a child. “

http://gettingreal.37signals.com/ch05_Start_With_No.php

It got me thinking about what’s involved in adding a feature to software, beyond initially coding it…

It’s not at all uncommon that features get added to software applications without really thinking through the consequences. I’ve seen this happen because a high-profile customer makes some noise about it, or because it seems like a cool idea … or sometimes just because developers have some time on their hands and have written the code.

This approach treats software features as something where the only effort involved is development – or perhaps development plus testing … which is not usually realistic. The true cost of a software feature needs a more long-term view: development plus testing plus design plus documentation plus internal training plus changes to marketing materials plus dealing with support calls plus bug fixing plus updates to all the above plus additional complexity across all areas next time you add a feature … and so on.

To switch analogies on you:

Like cute, fluffy puppies, software features are for life – not just for Christmas

image from: http://upload.wikimedia.org/wikipedia/commons/1/12/Cocker_Spaniel_Puppy.jpg

Doing the sums

The real cost of a software feature is going to vary wildly depending on the feature, the product, the team and so on … but I had a go at an estimate.

Example estimate of total cost of adding a feature, over the lifetime of 3 versions

So, in this totally hypothetical (but based on software teams I’ve worked with), initial development is 27% of the total cost of the feature over 3 versions. And that’s without the inevitable feature redesign and its ensuing impact on testing, user documentation, internal training, marketing materials …
What do you think? Wildly over-estimated? Under-estimated? About right?
Maybe the numbers here are way off, but it does seem like it might be worth software companies having more of an idea of how the real cost of adding a new software feature adds up in the long term – and I very rarely come across anyone in software teams who does.
Update
An interesting, just-about-related blog post. Also on the topic of the cost of software features, it focuses on keeping the cost of change low when adding a software feature: Liz Keogh on The real cost of change
Advertisements

Responses

  1. I think your analysis is pretty realistic, and I agree that the subsequent costs of revising training, documentation, marketing, support, etc. are not generally taken into consideration. I have worked for companies where customers do push features and interface revisions, and have frantically rushed to update a manual with a lot of screenshots to match the new version, to ensure that the software and documentation were kept in sync.

  2. Thanks Rachel this is quite useful and thought-provoking. I think the cost of software maintenance is usually underrated. Software must always evolve there this means that the cost of maintaining software may increase continually.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: