Is Your Budget too Small?

dollar's flow in black hole“Errors using inadequate data are much less than those using no data at all.”
-Charles Babbage

So you’re rebuilding your manufacturer pricing software?  In part 1 we discussed some of the complexities of building cabinet software kitchen and bath professionals will want to use.

Here are my top 12 things to consider when creating a budget to re-develop your manufacturer pricing program for the web and for easy kitchen quoting and bidding (this list assumes you’re looking to an outside vendor for development because only somebody completely insane would actually believe this could be pulled off with only internal resources):

  1. Talk to otherkitchen and bath companies. Ask around the industry and do some research.  Some manufacturer pricing programs are still not being used by dealers, even after many years of development.  Look at their product lines.  If your product line is more complex, but you’re being told you can re-develop your pricing program faster and cheaper, watch out.
  2. Don’t ship them your application.  Software vendors can’t reverse engineer the business rules built into your pricing program.  They certainly aren’t going to spend countless hours reading your spaghetti code which we all know is incredibly well documented (yeah right).  Instead, they will look at the number of screens and some of the menu paths and extrapolate.  This leaves enormous room for error.  If you want an accurate estimate, ship them your detailed requirements documents instead and have them estimate from that.  Otherwise, any estimate you do receive is no different than the number you get when closing your eyes while playing darts.
  3. Total cost of ownership.  Don’t fall into the trap of looking back just a few years and summing up the total expenses column to compute your estimate of what a pricing program should cost.  Do your homework and go back to day one.  Add in all expenditures over the life of your manufacturer pricing program.  Then add in the cost of your staff (IT department, people on related projects, etc.). Remember, over the years most people have forgotten all the things that were done to finish your pricing program, so be sure to account for the “greyness” in your estimate.  If you’re web-app is going to be more ambitious (more features, etc.) increase your estimate appropriately so you’re comparing apples to apples.
  4. Coding isn’t even half the battle.  Coding is only 25% of the overall effort. The rest is design, requirements, architecture, testing, usability, documentation, etc. Don’t forget to include these items in your budget.  If you’re first pricing program was created internally, there’s a good bet that many costs are missing from your estimate, unless of course you see lots of documentation, training material and requirements documents lying around…
  5. Requirements. There will be hundreds of pages of requirements that will need to be created by someone on your staff.  Unless they are trained in working with developers, these requirements usually leave large grey areas that can hide complexity.  If the complexity is hidden, it can’t be estimated upfront until they’re in the middle of coding it.  Once they start coding, this complexity will surface quickly and punch you square in the face in the form of budget overruns.
  6. Closing the gap.  After the initial development is completed, expect another significant development cycle shortly after release.  This development effort will be at least one-third or more of the original effort. This is necessary to “close the gap” from the lab to the field.  Double or triple this figure if you don’t have a subject matter expert well versed in dealership operations who will be intimately involved (as in day to day) with the developers and testers.
  7. Performance.  Your killer pricing program isn’t so killer if it takes 3 seconds (an eternity in web time) to pull up products from your catalog.  Expect significant budget dollars in performance tuning – maybe even entire rewrites of areas of the application.  Response times are critical for adoption of web-based software.  Nobody likes to wait on the web.
  8. Browsers.  Browsers sound cool, but which ones and what versions will you support?  Remember you have multiple user experiences to consider (and develop to) which makes things more complex.  When Google, Firefox, Safari or IE release a new version, remember to reserve a chunk of maintenance dollars for unexpected errors that need to be corrected as these companies update their browsers.
  9. Catalogs.  Don’t forget that the application is just half the battle.  With the complexities of the cabinet industry, you’re going to need a second application development effort just to handle your catalogs, pricing updates, promotions, etc.  Your app might look beautiful, but beauty is only skin deep.  The life blood of your application is the catalog data and pricing information so your users can quote and order accurately.
  10. Catalog rules. Expect yet another enormous development cycle to figure out rules so your users don’t make silly mistakes like upgrading a piece of crown molding to have full extension glides and wood drawers.
  11. Breaking new ground.  Technologies on the web are changing quickly.  The days of hiring the team who has done it all before are over.  What’s in today is out tomorrow.  There is an element of “newness” on every project, which means you’re team will be breaking new ground in some way.  Make sure to account for this in your estimates.
  12. Architecture.  Development and architecture are two entirely different things.  Most budgets fail to include architecture and instead focus on the front-end “wow” factor.  That’s no different than you hiring an amazing painter to build your house.  It might look pretty, but don’t try to live in it.  Always remember that architecture is king on the web.

Whatever you decide to do, just be sure you go in with a realistic budget. Remodels that go sideways are one thing, but software projects that go sideways can destroy jobs, bank accounts and hard earned  loyalty.

In Part 3 of this article, I’ll talk about the challenges of launching your pricing program into the cloud.  Once you have a realistic budget, there are serious decisions to work through to make sure your dealers will be able to enjoy what you built.