Slashdot Mirror


Why are Businesses Willing to Spend More for Software?

Lost Canadian Abroad asks: "As a software developer I have always found it strange that large companies are willing to spend obscene amounts of money for software development. Until recently I have shrugged it off as 'the cost of doing business', but something happened not long ago that has caused me to start questioning that practice. The more I talk about it with other people, who are business people themselves, the more irritated I get about the whole thing. Why is it that if you're not charging a company tens of thousands of dollars for a development project that you're not taken seriously?" I've always wondered about this, myself. This practice seems to contradict common sense. Is it that higher prices imply a certain degree of quality and/or assurance to managers? Do you think that businesses might be better off if they took a risk and tried the lower end of the costs spectrum?

"I recently had a the chance to bid on a contract, which I didn't win because of my estimated project cost. The winner of the bid had an estimated cost of $15,000 whereas my estimated cost was around $5,000 for the same project. The contract was not a complex project: a system comprised of database-generated web pages, with file submission and minor document management features.

I had, in about 8 hours of preliminary work, 50% of the website and associated back-end completed and had the rest of the site roughed out for what they wanted. The work is simple and I think almost anyone who has done similar types of site designs would agree with me.

The reason I got for not winning the project was that my proposed bid was seen as too low.

Does this make any kind of sense to anyone? Why would a company prefer to spend $15,000 on a project instead of $5,000."

12 of 619 comments (clear)

  1. if it's anything like a government contract... by YaRness · · Score: 4, Insightful

    ..and especially this time of the [fiscal] year, people are sometimes looking to spend more money so they use up their whole budget (otherwise they get less money next year).

  2. Having seen the same thing by f00zbll · · Score: 5, Insightful
    It's about the perception of value. If they only pay 5K for a website, the perception is the value is less. Of course in a lot of cases, that's not the end product. I've seen first hand how a higher bid often results in lower quality.

    Business people don't think in terms of how "hard or easy" a particular project is. It's about gaging what a potential client percieves as the value of that service. I was told by friends who have been running their own business for 20 years you have to give a high bid, but let the client know the price has room for adjustment. If you're quote is much higher, 90% of the time they will contact you to ask "why is your bid so high?". Whereas a substantially lower bid gets tossed out.

    So the lesson I learned after having made the mistake is to bid high and then adjust the price later. In the end, it says two things about the service you provide:
    1. your time is valuable
    2. you take your profession seriously

    Having a lower bid most often is precieved as "amatuer".

  3. Business Logic? An Oxymoron? by Captain+Large+Face · · Score: 5, Insightful

    In the eyes of a business (or its PHB, at least), cost is seen as directly proportional to the quality of a product.

    This isn't just true in terms of software, but extends to all industries and products. Take a regular cup of coffee as an example:

    You walk into a shop and pay $3.00 for a cup of coffee. You'd expect it to be a pretty decent cup of coffee, right? What if you bought a cup of coffee for $1.00? Would you expect it to be more or less good than the $3.00 cup of coffee? The majority of people would expect the $3.00 cup of coffee to be nicer than the $1.00 cup of coffee, but until they taste them both, they don't know.

    If a business asks for quotes for a project, and someone is outbidding you 3:1, then they are likely to perceive your project as being underdeveloped, whether or not this is true. :-(

    If a project needs to be completed within a certain timescale, it stands to reason that the company will pay over the odds, rather than going with the cheaper option and running the risk of having to pay for someone to take over a project if it goes tits-up, along with the added time that situation implies.

  4. Cost of software by buss_error · · Score: 4, Insightful
    I've seen this in consulting too. I gave a bid for about twenty hours work, and was refused because the price was seen as too low.

    I've stopped (mostly) thinking about how much it will cost me to do something, and instead think of what it's worth to the company, and charge THAT rate. I don't do it to companies that I've done a lot of business with, because they already know they will get good work for a fair price.

    If I feel really guilty about what I charge, I give them back enough so that I don't feel too guilty, and tell them it's a discount because of unexpected savings doing the work.

    It's a fine balance to chage enough so that they know the work will be there, vs. estimating so much that I lose out. Sometimes I want to send two estimates: One for how much I think I need to make, another for how much I think it will take to be considered a player.

    --
    Necessity is the plea for every infringement of human freedom. It is the argument of tyrants; it is the creed of slaves.
  5. CYA by platos_beard · · Score: 5, Insightful

    Suppose your a manager of some sort.

    If you choose the lowest bidder and it doesn't work out, it's your fault.

    If you choose the highest bidder and it doesn't work out, it's the contractor's fault.

    And remember, it's not your money that your spending. It's budget money. And where do you, Mr. Manager, want to be at the end of the budget year?

    Slightly over budget with good results. That way you get a bigger budget next year.

    --
    What's a sig?
  6. They don't care about how much work it takes by autopr0n · · Score: 4, Insightful

    They care about how much it will do for them. If an app is going to make a company a million dollars a year, why not pay someone really good $10,000 even if you think you could do it in 16 hours?

    Maybe it is easy, but so what? It makes absolutely no difference how easy it is to the overall value they get.

    The only thing you'd need to look out for is idiot MCSEs with over-inflated egos, but beyond that, it's probably better to go with someone with more experience, a better presentation, whatever if you've got the money.

    --
    autopr0n is like, down and stuff.
  7. Re:heh by kawika · · Score: 5, Insightful

    I really doubt that the core problem is you didn't make a high enough bid. To the client, a low bid may be an indication that you don't understand the project well enough. Did you provide a detailed written proposal or was your response "I think that will take a few weeks and cost $5,000"? Did your bid account for the inevitable post-delivery tweaks and fixes for misunderstandings about the requirements? If not, were you planning to try and charge extra for these as they arose? Did you put in time for training them on the operation of your code? If they plan to maintain it with in-house resources, did you account for that time as well?

    Bidding is about risk management on both sides. Even the process of giving a bid is a calculated risk. If you spend a day or more to really understand the customer requirements and write up a good proposal, you're already in the hole on a project. Obviously you can reduce the initial cost by using the "two weeks and $5k" approach but that doesn't inspire confidence.

    Once you've established a relationship with a client you can often dispense with the detailed written bids, but it's often important for that first foot in the door.

  8. Consulting economics by hey! · · Score: 5, Insightful

    I think part of this is the difference between the way geeks view software vs. clients. When a geek gets software with source, he has the finished product, and if it works OK and is reasonably well written, he is satisfied. The non-geek is going to need somebody around who can take care of problems and enhancements, ideally the author.

    So, non-geeks like to procure software from people they know are going to be around later. A geek doesn't give a rats ass if you fell off the end of the Earth tommorow, so long as he has source. A non-geek wants to know that you have a sustainable business. It looks like you lost because your lack of business savvy showed too obviously.

    Probably the number one problem I've seen is that geeks often don't do a good job of including cost of sales and overhead in their estimates. Look at it this way. Suppose you wanted to tkae home about 60K$ per year out of your business. Suppose you run this out of your home, so your overhead is very low (good for you). Your only expense is say $50 a month for internet connectivity. Suppose your computers, consumables, wear and tear on your car and everything amount to $1500 per year. You need to gross $62100. But, you want to take vacations; say two weeks a year, plus miscellaneous sick time and what not. Figure that you must make $62,100 over 48 weeks, which amounts to very roughly $1300 per week. Furthermore, you can only count on having work for three out of five days, so you need to bill 433 per day. I look at the project and running it through the handwaving machine it looks like about ten days of work, or 4330, so I round it up to an even 5000 or 11 1/2 days. Piece of cake, right?

    Except it's taken you a week of meeting with the client, writing, revising, and meeting with the client again. So, while you've estimated for 10 days, quoted for 11 1/2 days, you actually use fifteen days on the project; 1/3 of the time has been spent on sales costs. You have a target of being paid 433 for each day of work, thought you was going to be paid 500 for each day of work, and ended up being paid 333 per day of work, counting the effort to sell. If you bid all your projects this way, you are going to be making less than $46K, rather than the target of $60K. Plus you have all the hassles of having your own business. If you were making less than $46K somebody comes along and offers you $50K to be a clock punching 9-5 employee, just to code with no responsibility for sales or accounting or that other stuff, what would you do?

    And, in fact, this assumes you win all your bids like this. The fact is, you have to pay yourself whether you win or lose. If you win half your bids, then you have to essentially double your estimate for how much to include to cover your proposal writing time in every estimate.

    Of course the customers don't necessarily go through this, but they can sense when somebody is not making realistic bids. The smaller the project, the higher a fraction cost of sales will be of the total labor costs. This means there are project sizes below which it makes no financial sense to bid, unless you can simply dash off a boilerplate proposal. If you spent more than two or three hours and came up with a bid of $5000, then any sensible businessman realizes you are not going to be paying yourself much. The only people who hire you would be people who are financially unsophisticated or don't care if you decide to close up shop and get a regular job.

    The more overhead you have, the higher the minimum practical project becomes. I work with a geek who simply finds it impossible to spend less than three days on any proposal. This means that for him he cannot efficiently bid on a project smaller than $15,000 (we have an office, leased line internet, office manager, accountants, phone lines etc.)

    One way to handle this is to try to find ways of making the $5000 project into a $15000 project. You can simply pad the project with $10,000 of fluff, but this goes against most geeks' sensibilities. One thing we do is to offer our clients a "General Services Agreement." We say right up front that it isn't worth our while to bid on a $5000 project, but over the course of the year we know that there will be numerous small jobs that will add up. So, we will bill up to $5000 for the immediate job, and include $10000 of unspecified work to be done in the future. This allows us over the next year to do a day of work here and there, or even the occasional hour, without going through the rigamarole of bidding and contracting. The client just picks up the phone and tells us what needs to be done and we do it, unless it is going to take over a thousand dollars in which case we give him a written estimate. If it turns out that they don't want this service, they only pay $5000 (and we lose out big time). But once they have the contract in hand, and find out they can call us out on a one or two our job, then they always do use it.

    This kind of agreement helps because the client knows that (1) we are planning to stick around and (2) they will not only be taken care of, they can get common day to day hassles taken care of quickly without fuss.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  9. Red Hat and my boss by cr@ckwhore · · Score: 5, Insightful

    One day, I was speaking candidly with my boss about the possibilities of using Red Hat for various server tasks. He never took linux seriously, but had been hearing more and more rumors in recent times, that its "getting big".

    In our discussion, he still wasn't listening with a serious attitude... until he asked if we could buy it... and when I said "yes", then the lightbulb went off in his simple little mind. He repeated with, "You mean, they have pricing and licenses?" I replied "YES", just to make him happy... and with that freshly learned knowledge, he now takes Red Hat seriously.

    --
    Skiers and Riders -- http://www.snowjournal.com
  10. Re:bid evaluation by BrianH · · Score: 5, Insightful
    I'm not sure that this is particularly true. I've sat on a half dozen bid evaluations in the past, and I recently chaired the bid committee for a government website and had this same discussion with a couple disgruntled bidders. Our project was for an educational website with about 10 processes and 45 screens. we received 17 bids on the project, with prices ranging from $8,000 to $325,000. The bid we selected was somewhat in the middle at $74,000. When some of the lower bidders called asking why they'd been overlooked, I had to explain a few points:
    1. Price is often the last thing bid evaluators look at. While it is true that stupidly high and stupidly low bids get tossed without evaluation, price usually doesn't have any effect early in the evaluation process.
    2. Company size really does matter. The point of view is that the more developers work on the project, the more likely it is to be completed and delivered on-time. In the project I recently awarded, we had two proposals that were even in every way, except that the $55,000 proposal had four developers (one graphic designer, a DBA, and two programmers), and the $74,000 proposal had seven developers (one graphic designer, a DBA, and five programmers). Guess which one we chose?
    3. Company history is VERY important. Gaming and personal sites don't count, and neither do projects you completed while employed for someone else. If you are approaching me as XYZ Web Inc., then I want to see an impressive portfolio of websites that were actually built by XYZ Web Inc. I personally don't care if you've worked at Yahoo, Amazon, or Ebay, because I'm not hiring them to do the job. I'm hiring your company, so I need to see your companies credentials. It's amazing that such a simple concept can be so consistently forgotten by bidders.
    4. You need specialists, or you need to go out of your way to show that your general developers have specific training in multiple fields. If I put out a bid for a website that requires graphics work and a database, then you had BETTER show me that there will be a professional graphic designer and a DBA working on the project, in addition to the web developers. If that's not possible, I need to know the certifications and training that your general developers have had in those fields. "Self Taught" earns your bid a short trip to my circular file.
    5. Did you submit a proposal, or just a price? You cannot write a good bid that is less than 20 pages long...period. We need your company portfolio, your developer histories, the list of the technologies you plan to use, timelines as well as a quick development plan and at least one use-case scenario to prove that you really understand what the project is all about. I've seen far too many bids that basically said "We're XYZ Web Inc., and we can build your website for $5,000". Maybe you can, maybe you can't, but either way you have to give me enough information to base my decision on.
    6. Never ever argue technology with the client. Our datacenter is pretty standardized: We run IPlanet on the webservers, Oracle on the databases, and Solaris as the OS for everything. When we put things out for bid, we make it clear that our websites/software must run on this platform, and that our web sites MUST be written in JSP. Given that, I've never understood why so many bidders see fit to argue the point; "PERL is better!", "Linux is cheaper", "Apache is more stable", "IIS is the web standard", and other pitches may or may not be true, but I really don't care. If my RFP says that you must use technologies A, B, & C, then that bid had better use those technologies. Anything else gets you dumped.
    7. What about goodies? Maintentance? Most good bids (read:expensive) include statements that the developer will train internal staff to maintain the webpages, construct the site so that a secretary or merketing lackey can edit it, or otherwise pile on peripheral site features that aren't neccesarily included in the bid request. Showing the client that you're willing to go above and beyond what they asked for is a good way to get their attention.
    8. See any room for improvement? Suggest it! The bidders who won the last eval I chaired partially did so because they improved our own requirements. When the developers saw our RFP and saw the requirments and features, they realized a better way to solve one of our problems and suggested it. We were so impressed with the improved suggestion that they got the project.
    9. Be professional. Bids will often have bidder meetings where some of the top proposers get called in to answer questions or clarify their proposals. If you get called to one of these, you need to remember this: These are not your friends, or your bosses, or your co-workers, they are your potential clients and you need to treat them as such. This means no bluejeans and t-shirts with Google logos on them. Put on some slacks and a tie (and a coat if it's a large or formal institution), and toss that big pile of papers in a briefcase. If you can't present yourself properly, how can we expect you to rpesent us properly?
    Price gets weighed in AFTER all of these factors are considered. If we evaluate our bids and find that two companies offer equally outstanding proposals, make equally compelling sales pitches, and have equal backgrounds and development staff, then we might weigh price in as the deciding factor. But that's actually a pretty rare situation :\
    --

    There is nothing so pathetic as seeing a beautiful young theory roughed up by a tough gang of facts.
  11. You need to learn basic software engineering by Anonymous Coward · · Score: 5, Insightful

    Several of your items sound reasonable, but are actually foolish.

    For instance number 2 on your list is that the more developers that you have working on a project, the more likely it is to be completed and delivered on time. In fact software engineering literature from The Mythical Man-Month on comes to exactly the opposite conclusion. Adding bodies to software development creates basic infrastructure problems that make the project more difficult to accomplish, let alone to accomplish in a timely manner.

    Real world project data supports that. Most large projects fail. Larger projects fail worse, more often. At one point Sun had an internal rule that no project would be accepted that was supposed to take more than 6 months or cost over $1,000,000. The odds of failure were just too high.

    Now of course a given project has minimum realistic needs in terms of how many skills are required, and how much work will be needed. There is a minimum team size for a given project. But for the optimal productivity and probability of successful completion, you really want a team that is close to that minimum.

    And that gets us into your technology decisions. Agreed that when you are trying to bid on a contract for a client, you do what the client wants. If the client wants a series of unproductive technologies, you have to increase your development costs because of your projected unproductivity, but that isn't the time to sell them on the benefits of their letting you work more productively.

    However at this moment we are not dealing with an RFP. So I am going to point out to you that if there are real software engineering reasons to want development teams that are as small as feasible, then there is good reason to want a development environment that makes developers more productive and therefore reduces the minimum size of development team that you need for your projects. I won't say which tools and what environment that is because the answer depends on a lot of hard to evaluate factors (though I admit to thinking that your choices "leave room for improvement"), but I can point to Beating The Averages for a sample essay showing how much of a difference it can make. And I cannot emphasize enough that it is a very powerful experience for a developer when they see first hand what kind of difference it makes for them to be in a productive environment.

    That said, there is a good business case for not experimenting with your development environment. It is one that puzzles most techies, so it is worth explaining.

    If you start making changes in areas that your company does not personally have a lot of experience in, then some of your decisions will be good and some will be bad. The problem is that the bad ones will cost you far more than the good ones win you - you are essentially gambling on your ability to pick correctly in an area that you know nothing about.

    Therefore outside of areas of strong company expertise there is a lot of pressure to try to make similar decisions to your competitor. Those are no more likely to be good or bad than trying to make your own choices would be, but they have the decided advantage that you won't accidentally choose badly where your opponent chose well, in an area that turns out to be the deciding factor.

    Incidentally this is a principle that explains the advice offered by Paul Graham in Revenge of the Nerds. In that special case Paul is talking about how a nerd should take advantage of their area of expertise. And the answer is to pick a line of business to which your special knowledge applies, go into that business, and let your correct decisions tell. But when you do that, do not simultaneously attempt to rethink every other area of business that you must deal with, because you will get a lot of that wrong!

  12. Self taught by sterno · · Score: 4, Insightful
    "Self Taught" earns your bid a short trip to my circular file.


    Eliminating the "self taught" out of hand seems like a bit of throwing the baby out with the bath water. I've seen many a person who had a number of certifications and couldn't program their way out of a paper bag. Certificiations, depending on the type, can be almost completely meaningless.


    Personally the only certificiation I have is as a Java programmer and I will tell you right now that all this means is I read the book. If you want a good measure of skill, get a sample of some of the developers and what their real-world experience is. Most of the good developers I know have few if any certifications.

    --
    This sig has been temporarily disconnected or is no longer in service