The other day someone wrote to me expressing surprise that their software support folks refused to give a firm estimate for some small piece of work (adding a printer definition within the app). They wanted my opinion as to common practice. Well, in common practice most software vendors sell all encompassing support contracts that cover this sort of thing, so this was a little unusual to start with. My answer was probably surprising, though.
I agreed with the vendor. I won't do estimates for even the most trivial work. If I can, I'll give you a rough idea of what kind of time might be required, but there is no way that I'm going to quote a not-to-exceed price for anything. Well, that's not entirely true: once in a great while, if I have one of those strange situations where the received value is much higher than the work involved, or where it's something I want to do for educational purposes, I may give a firm price. I might also do it for a charity where I'm intending to charge them as little as I possibly can anyway. But generally, no way - I sell time and knowledge, not necessarily results.
That can be hard for some people to accept. "I can't do business with you if you won't give a firm price". Fine. We can't do business. I didn't come knocking on your door soliciting work, did I? You came to me. If you insist on a firm price, you'll have to go elsewhere.
Arrogant? Maybe. But consider this: whatever it is you want me to do, I probably do have some idea of what it involves, and I will tell you that: "Should be no more than two hours normally". Ahh, but there is that "normally". I have no idea what I might run into on your system when I go to do it. It's your system, and your network. There are literally dozens of potential pitfalls I can probably think of instantly, and dozens more that I might not ever expect to see. But everyone of them could cost me time, and in my business, time really is money.
I might be able to do research to know whether or not problems exist. For example, if I'm going to do this remotely, I might want to check that your firewall will let me in and that it won't kick me out five minutes later. If I'm adding software, I might check that you have disk space and all prerequisite software that you should have but might not have. There will be other things I need to check.. but every one of these checks takes time. Time costs me money, and unfortunately the pre-check time might in itself be awfully close to what it would take to just do the work. It might even be more: if I just charged in and did it, I might find no obstacles at all, and get done more quickly than it would take to check every condition.
Well, too bad, you say. We have the same problems in our business, but we average it out. We know that once in a while we'll have a problem or two outside of our control, but that's just part of the cost. The good with the bad, as they say.
OK, I say, but you make widgets, or build boxes, or whatever. I do thousands of different things, in thousands of different places. Most of your environment is known and controlled - mine isn't. I can't average it out in any way that would make sense.
So, yes, you might see that as arrogance. Or even laziness, stubborness, or maybe even foolishness because of lost business. Perhaps it is all of that. But it is how I've done business for over twenty years, and I'm not likely to change.
More Articles by Tony Lawrence - Find me on Google+
Have you tried Searching this site?
Unix/Linux/Mac OS X support by phone, email or on-site: Support Rates
This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more. We appreciate comments and article submissions.
Many of the products and books I review are things I purchased for my own use. Some were given to me specifically for the purpose of reviewing them. I resell or can earn commissions from the sale of some of these items. Links within these pages may be affiliate links that pay me for referring you to them. That's mostly insignificant amounts of money; whenever it is not I have made my relationship plain. I also may own stock in companies mentioned here. If you have any question, please do feel free to contact me.
Specific links that take you to pages that allow you to purchase the item I reviewed are very likely to pay me a commission. Many of the books I review were given to me by the publishers specifically for the purpose of writing a review. These gifts and referral fees do not affect my opinions; I often give bad reviews anyway.
We use Google third-party advertising companies to serve ads when you visit our website. These companies may use information (not including your name, address, email address, or telephone number) about your visits to this and other websites in order to provide advertisements about goods and services of interest to you. If you would like more information about this practice and to know your choices about not having this information used by these companies, click here.
Click here to add your comments
---December 1, 2004
Not arrogant at all, Tony. As a system admin, and someone who wears a lot of hats in our business, I can understand your policy. The hard part is conveying this to people who do not understand computers, who are unfortunately, the people who sign the checks some of the time.
We are a printing company, and I started out in estimating. Our business is far from making widgets - we are a custom printer, so each job is a new reinvention of the wheel. Some jobs are similar, but few are the same. For estimating, that is hard, since the customer always expects a firm price. We always eat the development time, if we go over estimate in certain production areas, because usually it is a new process to us.
I can compare both, because I have seen both, and there is no correct answer in our case. We eat lots of development time, because we are in a highly competitive market, which the Chinese are getting better at every day. We have to keep all of our costs low, for our survival. There are not a lot of manufacturing companies left in the US. So, it is hard for our managers to take a non firm answer from a consulting firm, in any case. I guess to put things in perspective, we would have to compare computer consulting to lawyers. They bill on time, and not results. Not to compare computer consultants to lawyers, I do not want to offend :-) It is so difficult sometimes to explain projects, costs, and computers to those who do not know.
In fact, I had one check signer tell me that my job was not hard, and did not understand why things took so long! I think he thinks that I sit there and double click, and my typing speed is not fast enough. In fact, he recommmended that I take typing lessons, because I could not type as fast as a receptionist who types letters all day! He honestly thought faster typing would help me get my job done faster! To some degree he is correct, but I highly doubt that skill would help me out that much.
It is always hard explaining computer stuff, be it consulting, new system design, fixing problems, or the numerous other aspects of a problem to someone who does not understand them to begin with. Just yesterday, I had a manager ask why a new employee could not be used to write some much needed reports, that are published on our Intranet. This task requires knowledge in SQL, PHP, and HTML. The employee had *none* of these skills, yet thought the employee should be able to do this task in a few hours! What?!? I had to hold my composure, and explain that because this employee was bright, that he could not learn 3 different computer languages effectively in a day or two, or even a month! These are the people I have to explain why my projects take time. I also put out fires each day, sometimes correcting errors done by said managers :-)
So, I do not think you are arrogant, Tony. You just do a better job of explaining yourself, and your business to people, and you many years of experience has taught you well!
- Bruce Garlock
One comment about typing:
I had a customer ask me if I felt my two-fingered typing hampered my programming. I replied that I couldn't write code in my head anywhere near one finger typing speed, never mind two. In fact, if I had to peck it out with a rod glued to my forehead, I doubt the final result would be delayed by any time at all.
Besides, typing fast just lets you make mistakes more quickly. Quite seriously, slow typing has saved me from disaster more than once..
--TonyLawrence
-
Don't miss responses! Subscribe to Comments by RSS or by Email
Click here to add your comments
If you want a picture to show with your comment, go get a Gravatar