You have an old version of Adobe's Flash Player. Get the latest Flash player.
 

Syndication

RSS

“During my service in the United States Congress, I took the initiative in creating the Internet.”
--Al Gore

Recent Work

inthepaint
Blog » The cost of software

The cost of software

 
The cost of software
If you think that software is cheap to create think of this, that game that your kid is playing on the xbox probably cost between $6,000,000 and $10,000,000 to make. Many people are suprised at the cost of sofware. Hopefully this post will help you understand the cost that goes into creating software and IOStream's process for determining that cost.
Joe the plumber has just started his new business. He comes to us with a great idea for his website. He would like a map that has real-time updates of the location of his employees throughout the day and shows where they are in their daily schedule. A customer could go to the website to see where they fit into the schedule and how close the plumber was to their home. This sounds like a really cool idea and will really wow Joe's customers. After getting all the requirements from Joe, IOStream comes back with the estimated cost of the software project. Joe is amazed at the cost and he thinks to himself, it’s just a map and some lists, how hard could it be! At this point Joe has some options. He could get some more bids (I recommend at least 3 bids on a software project), he could scrap the project, or he could let his cousin who does some programming on the side try to do it. The cousin is usually the cheapest, at least in the beginning, but more often than not the project never gets finished or has so many bugs it costs more in the end. After Joe gets the other bids (from reputable software companies) he realizes that is just how much software costs. Still, I’m sure he would like to know how we came up with that number.

Let me go through our process. First we take the requirements from Joe's project, then our project manager and developer break the requirements up into finite programming tasks. The developer then takes the list of tasks and assigns an amount of hours to each task; this amount includes development and unit testing. Then the list is given to a tester that again assigns an hourly amount to each task. After that the project manager adds his time. Then the task list and hourly amounts are reviewed by me or our other senior developer. Once the hourly amounts are finalized we can give a proposal.

Now the reason that our process works is really a matter of experience. I personally have been creating commercial software for over 10 years as has our other senior developer. We have worked on all sizes of projects from millions of lines of code to projects that take only a few hours to code. The hardest part about software creating is costing the hours it takes to finish a project. Many times a newer developer will come in with an hourly amount that, in my opinion, is not accurate and usually it is too low. We normally discuss why he thinks it would take so much or little time. Once we go back through all the features and how he will need to implement them, the time is usually double the developer's original estimate.

Creating good software is as much about experience as anything. You need to be able to understand how long a piece of software will be in use without major upgrades, is speed a priority, or is the ease of use most important thing. There is a skill that comes from experience especially developing custom software. So far, excluding change orders from customer requests, IOStream have never come in over budget. We are very proud of this fact. Not only that, but the customers that we have done a software project for have expressed their pleasure at how smoothly the project has gone. Now most every software project has some defects that slip through. We don't let many get through, especially with our testers. But because of our good design we can fix the problem quickly and correctly.

Posted: 1/21/2009 9:53:38 PM by Development Lead | with 1 comments


Comments
Tom Loveland
This is a good post. Many people don't realize the complexity involved in creating customer software. Web site design is custom software! Although much of the site is based on technologies and tools that are already built, putting these tools together to offer a custom "living" design takes experience to complete succesfully.
1/22/2009 4:11:10 PM
Leave a Comment
Name:

Your url:
Comments:

Enter security code:
 Security code
 
Copyright © Iostream Web Design 2008 | Phone: 800.280.4071 | Email: TRL@IOSTREAMWEBDESIGN.COM | SiteMap
Servicing Utah, Wyoming, Idaho, Montana, and anywhere stunning design, quality programming, and great customer service is desired.

Recent Blog Posts
Web Design
ASP.NET
AJAX
SILVERLIGHT
DEEP ZOOM
CONTENT MANAGMENT
ECOMMERCE
Marketing
SEO
PPC
EMAIL
NEWSLETTER
Print
BROCHURES
BUSINESS CARDS
DOOR HANGERS
ENVELOPES
FLYERS
HANG TAGS
LETTERHEAD
POSTCARDS
PRESENTATION FOLDERS
RACK CARDS
Flash
ANIMATION
STREAMING VIDEO
NAVIGATION