Thursday, January 27, 2005

Software process costs and savings

I want you to think about a development project and consider two scenarios. Imagine each of these scenarios represent a different set of practices you use to develop the solution.

In the first scenario you develop a solution for your customer and it takes time t to produce the solution. The solution you deliver has x bugs and y security issues. This solution costs you $m.

In the second scenario you develop the same solution for your customer and it takes time t+s. This solution has x-a bugs and y-b security features. This solution costs you $m+n.

The values of s, a, b and n are critical for you to decide which scenario you use.
The question in your mind should be; is the extra cost and time of fixing x-a bugs and y-b security issues worth more or less than $n in s time.

Now here is an interesting thing to consider. How do you budget for your software development project? Is it:
i) from the beginning of the project until you ship the code (bugs and all), or
ii) from the beginning of the project till that code is decommissioned and never is run again?

Think about what you are doing when you budget for software using the first option. You are actively encouraging poor quality. If the cost of fixing issues is not taken into account in the development budget then why spend time and money worrying about it?
The only sensible answer is to use the second option to budget for software development. So why don’t companies do that? Maybe you should suggest your company does!

Now what would happen if I told you that I could show you some practices that help you obtain the following values in your variables for the second scenario.
s tends towards 0 (or even a negative number)
a tends towards x
b tends towards y
n tends towards 0

How much will you pay for those practices? Write a check to Dr. Neil and send it to me now!

Now which scenario do you chose?

What if I give you a list of practices to choose from and tell you that with each of these practices you implement you will get:
s closer to 0 (or even into the negative)
a closer to x
b closer to y
n closer towards 0

You want to see the list?
Ok here it is (in no particular order):
Test driven Development
Pair Programming
Refactoring
Automating the build-test-deploy process
Breaking the solution down to tasks that each take less than 4 hours to complete
Small iterations – ship early – ship often

Does this list look familiar?
Good – so you know where to get started.
Of course if you are developing in .NET the best resource to learn the practices in the list is eXtreme .NET.

10 comments:

Anonymous said...

This blog is awesome! If you get a chance you may want to visit this data recovery software site, it's pretty awesome too!

Anonymous said...

Thanks for the info, I added you to my favorites.
If you are interested in free home business idea
, I have a free home business idea
site.
Feel free to drop by and tell me what you think.

David said...

Hi,
Cool Blog I have one about

downloadable software

you might like to see it

Anonymous said...

I have been running my own site about dedicated web hosting for some time now and I am only just getting into blogging.

I did not realise that blogs could be so informative. I have browsing and reading all day -- Very addictive.

PolarTrader said...

Hi! Your Blog about Voip and Web Conference is great. I have a Website with a great Web Conference Software. There also is a Trial for only one dollar month. save on web conference

Take a look when you have time!

Trond

Turnkey Builder said...

Get unlimited webhosting at unix web hosting provider

Bruce Riddell said...

Nice software blog!

I have a marketing software blog that talks about the newest marketing software.

If you have the time, check it out.

Thanks

Anonymous said...

Hey, you have a great blog here! I'm definitely going to bookmark you!
I have a **WEB HOSTING** site/. It pretty much covers WEB HOSTING related stuff.
Come and check it out if you get time :-)

Anonymous said...

One good resource for video editing software and many more free software alternatives is Software4YourSuccess.com
Yes it is my site and I would love for you to drop by for a second. From there you will have free access to several of my products such as The Marketing Toolbar (which is goldmine of information on how to do things quickly and on the cheap, thus saving you time and money).
Also for webmasters I have created Webmaster Wizards, which will help you with almost every aspect of putting code on your site from things such as legal and privacy disclaimers to popunders. I have so much content and free software there I could fill up this whole blog, so check it out Thanks, Sincerely Rob Rudd

Anonymous said...

Hey, you have a great blog here!

I have a budget hosting web site. It pretty much covers ##WEB HOSTING## related stuff.

We have business and personal web hosting packages. No setup fees. Low cost domain registration, SSL certificates, merchant accounts and web design.

Come and check it out if you get time.