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."

2 of 619 comments (clear)

  1. Its about CYA by Isofarro · · Score: 5, Informative

    CYA - Cover Your Ass. Its a blame-culture thing.

    Business don't see the support structure behind Open Source - without that support structure, there's no-one to lay the blame on when things go wrong (Software is always the root cause of problems from a manager's point of view). So, somehow, just having the option of turning around to IBM and give them a royal bollocking is worth the exorbitant price.

    Our company has recently switched from using Netscape's IPlanet to IBM's HTTP server -- on the basis of IBM's product being much cheaper per CPU than IPlanet (and it comes with Websphere 4). Did we mention IBM's HTTP's server is basically a rebadged Apache? Yep. Did we say Apache was Open Source? Yep. "Can't use a free webserver to run a professional website."

    A few months earlier we were using an out-of-date copy of JRun on the main webserver. Something didn't work. Called the support line - being a product that Allaire no longer supported, there was no valid support contract. So the co bought a few copies of the supported JRun 3.0 (hence buying a new support contract and licenses). The bug was found, in one of the JSP's - not the servlet engine itself. And we still have shrinkwrapped copies of JRun 3.0 gathering dust in the filing cabinet. And we still run JRun 2.3.2.

    How's that for logic!

  2. Re:You need to learn basic software engineering by BrianH · · Score: 5, Informative

    First, someone mod this guy up, I may not agree with him 100%, but he makes some good, relevant points that many people here will miss because of the Score:0

    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.
    As a programmer myself, I agree completely. The debate, however, comes into play when deciding just where that line should be drawn. My personal standard is that there should never be more than 2 developers per use-case, but that it is preferable to limit teams to 1 developer per use-case and "cross-develop" features to ensure that a project stays developer independent. Using that theory, I would have accepted up to ten developers for this website.

    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

    Fundamentally I agree with you, but a bid is NOT the place to propose architectural changes to a potential client. I once took on a $15,000 project to add several features to a website that was written in Delphi, running on an ancient HTTPd server running on NT4, and connecting to a really old Informix database. I wrote my proposal to the clients specifications, and won the bid. After I won the bid and began developing the new features for the client, I presented them with a list of suggestions to improve their website. These ranged from implementing WCAG-AA design rules, to switching to a Solaris/Apache/Oracle architecture to improve performance. I also didn't argue for these changes "because they're better", but instead made solid business arguments as to why the changes should be made (reduced maintenance costs, improved reliability, better performance, greater expandability). The client eventually OK'd the upgrades, and my $15,000, 30-day project became a $160,000, six month project. So, yes, architectural changes CAN be suggested to the client (and they can often lead to much more lucrative contracts), but they should NOT be placed within the bid itself.

    ...though I admit to thinking that your choices "leave room for improvement...

    I'll actually agree with you there, but that brings up the other half of the "suggesting platform changes" issue: The people evaluating your bid may not have any control over the technologies used. In my position, for instance, I make web decisions daily that directly impact website development for more than 40,000 people. Despite this, I don't get to choose what goes in our datacenter. Decisions about what we run on are made by Datacenter Operations, the Director of IT's office, and the CIO herself. While I can make suggestions regarding what goes on our servers, I can't arbitrarily order them changed. So when I put out an RFP requesting a web-app that will run on IPlanet and Broadvision, and someone gives me a bid suggesting Apache and Slashcode, there just isn't much I can do with it...no matter HOW convincing your four page manifesto on the superiority of Apache might be. I've seen far too many proposals get chucked because development firms don't take this into account.

    I pretty much agree with everything else you say :)

    --

    There is nothing so pathetic as seeing a beautiful young theory roughed up by a tough gang of facts.