4 ms·
You're not a Lawyer or a Mechanic The nature of the arrangement is more similar that not. Both do project based work as service professionals. And both have un
by kls 16y ago
You're not a Lawyer or a Mechanic
The nature of the arrangement is more similar that not. Both do project based work as service professionals. And both have unforeseen variables that cannot be known at the time of estimating. Lawyers routinely deal with unforeseen political issue (ruling not going the way they expected) and mechanics routinely deal with unforeseen problems that are technical in nature (mechanical failure, that was not known until the heads where pulled off).
Software developers routinely deal with both natures of unforeseen variables in addition to the client adding work after the estimate. Which would be akin to a mechanic giving someone a quote and then when they are half way through the project the client saying well while you are in there go ahead and change out the pistons for forged steel ones, and then arguing because the client got charged for the parts and labor. In all three cases the client pays for the additional work not the service provider.
paying by the hour is a poor and dated way to do business
I differ on that opinion as well Sitepoint does too, almost all of the top talent in any development field works by the hour not by the project. Most know to not take the entrepreneurial risk of another company while engaging in a contract that limits their reward.
http://blogs.sitepoint.com/2010/09/14/flat-rate-pricing-vs-hourly-billing/ http://blogs.sitepoint.com/2010/09/14/flat-rate-pricing-vs-h...
You're selling a software solution to a client, so you should charge for that solution
Right and if I am shouldering the risk of the development costs, I am going to license it to that company as well as there competitors. If they own the result of my labor then they pay for that labor.
building software isn't an exact science and many projects overrun.
and that is not the developers burden to bear. Scope creep is a reality with any novice firm who is looking for software development. A fixed bid set up an adversarial relationship immediately. You will constantly be parroting "out of scope" to the point that the client will be just as pissed as they would have been about cost overruns as they are about not getting the product they want. The knife cuts both ways, and the reality is more fixed bid projects fail, because at a certain point of losses the developer walks or the software gets shelved because the project as scoped is not what the client thought they wanted at the time of developing a functional specification.
That's a fantastic way not to get hired for a project.
It's really not, I educate my clients on the risks of software development and what they can do to limit scope creep, changes in priorities and politics, the three big killers of projects. Further all of my clients now are big tech firms, so they are well versus in these realities. Not allowing myself to into a bad deal in no way affects my ability to get projects. Coming off as an amateur in contract negotiations can hurt far more than being firm on how you structure your work.
because you're the expert and you'll have the better idea of how long it should take.
Unless you are a politician, there is no way that you can do this with any accuracy, the client will creep scope, it is a given, with time and materials you have a lever that you can pull to say OK we can add it, but it is going to affect you budget by X and your delivery by Y. It puts the onus on them to control scope creep, if it is on you, you will be strong armed into accepting it.
If you don't they are just as mad as cost overruns and you have received no money, so when they pull the plug you are the one left holding the bag. I have been doing this for 20 years and have seen first hand that fixed bids cause more problems for both sides. Take a look at all the top guys on HN, take a look at there stories as to why they only do time and materials, each and every one of them will have a fixed big horror story.
- EnderMB 16y agoAs most of your comments focus on the same subjects I'll address them with one reply. When I work I simply tally up the time it will take me to do things, add a bit more time for delays, some small scope creep and a bit extra for time to polish things off and to finish early and charge a single fee, with half to be paid at the start of the project and half when the project is completed. Before I start any project I have it written in the contract everything that I am paid to do, and with this I stress deeply that this is the final list and that any additions are separate payments (although I don't charge for basic alterations, or won't charge on one change to keep clients happy). This system has worked perfectly for me, and I rarely experience scope creep or drastically late projects. If anything, I make it my business to make a project finish before time to add extra features for my client to make them feel that they're getting a better product for their initial investment in me. Ever since I started doing this I have not lost a single client, and have gained more than I can handle from word-of-mouth. Believe me, I've tried educating my clients, but when they've got kids that can build a basic page in Dreamweaver or a secretary that has written a basic HTML newsletter people will believe that building large-scale websites is easy.