Timescales

just some thoughts about clients who want the greatest app ever … like … YESTERDAY.

I was invited to submit a proposal for a web app recently. I felt I gave reasonable timescales, given experience of the real world and taking into account the fact that if this app is critical to their business it MUST NOT fail once deployed.

Now the initial timescale I gave was lengthened by the fact that I’m busy (working my butt off in fact) working on a couple of other projects right now, with deadlines looming etc. But even so, I explained that the usual timescale I give for any project is 1 month (from starting) and that 2 would be better given the need for thorough testing. 3 would be best of all and ensure plenty of time for everything.

The app was a fairly complex one - not in terms of the programming knowledge required, but definitely in terms of scope. Essentially they want custom software to manage their business (don’t know how specific to be as the job is still “live” and it might be recognised …). And it’s a very complicated business model.

In short lots of bang for their buck - all the bells and whistles, a lovely admin area where they can adjust and view everything under the sun, dealing with real money and real people (who will be furious if something goes wrong).

All for less than $500 and they say “we are in a hurry”.

So I didn’t get it (I think).

The thing is, this reminded me of something people here often say. Don’t bother competing with the very quick, very cheap deals. Just tell them “fine and come back if you have problems”, pretty much knowing they will fall flat on their faces when they realise it’s just not possible to get what they want at that speed and price.

“Fast, Cheap, Good - pick any two” etc.

When I thought about it I realised their business was little better than the ones where people hand out flyers in the street, and really I couldn’t see how their business model would really work anyway (not giving too many details).

A lot of work out there seems to be for very tiny businesses - well fair enough, I’m a tiny business too. But they don’t value their business in the first place enough to either:

  1. pay proper money for something that really should be quite expensive - a custom-made app with all the bells and whistles.

  2. allow a decent timescale before deployment.

I’m interested to know what people say. I expect there will be the Whizz Kids who claim to be able to produce this stuff in 3 hours flat whilst simultaneously playing the harmonica and spinning plates. But I know some professional programmers in Real Life - OK I don’t mean web developers (I know some of those too, but not as well). They get paid big bucks for what they do and the timescales are never less than 6 months MINIMUM. The work that they have been doing recently is not conceptually any more complex than this job (maybe less, in fact).

What is the difference? I suspect that it’s that the companies that contracted them are SERIOUS about their business in an entirely different way. Large organisations where there cannot be a single error - certainly no lost data. Not a chance of it. Like a friend who was developing an app to track batches of pet food in a factory - if someone (humans eat pet food sometimes too) dies, they MUST be able to trace the batch. And so on.

And I see the same people - in real life - getting stuck, frustrated, scratching their heads, googling things, coming over and asking to borrow one of my books or asking if I know anything about X because it’s giving them a problem … and so on. These are people who have been programmers for 30 years, it’s not inexperience. I tell them about these job ads and they think it’s completely crazy. Their only advice was to get the work if I can and re-use code as much as possible, and hope to build client loyalty and a good name to get more work in future.

One tip was that in the long term, maintenance fees add up to a substantial income after say 10 years, and that you have to take the long view.

Any comments appreciated. I thought about making a post on my blog but I haven’t got a definite “no” yet and certainly don’t want to put off anyone in future who wants a cheap deal …

Maybe I am seeing this the wrong way?

I think you need to rearrange the way you look at this problem, and in my opinion you need to look at it in terms of qualifying clients and projects as viable and potentially profitable.

Consider the following, and see if you would stipulate these comments as facts:

  1. There will always be clients who want projects to be done in a time frame that doesn’t allow you any real likelihood of success.

  2. There will always be vendors willing to accept such clients, but with rare exceptions they will not be successful in delivering the project and will almost certainly not be profitable.

  3. Clients who make unreasonable requests today are unlikely to be satisfied with your work tomorrow. If you agree to their terms, you will probably not be able to satisfy them. If you push back on their terms, you’ll have frustrated them from the get-go.

If you agree with the above statements, then you can essentially make the argument that there is no reason to work with this kind of client except in some special circumstances (noted below). This is a simple conclusion - if you probably can’t satisfy the client and probably can’t make a profit, then will probably have an unhappy client and less money. That’s not good business.

There is a great way to handle these clients that I like to call ‘reverse new business’. Simply tell the client in a sincere, supportive manner that you think that they SHOULD go with a vendor who agrees to their terms, schedule and budget. Tell them that if they can get the job done in x weeks for y dollars they should absolutely go for it, and they should share the name of the vendor with you because that vendor must really be talented and it sounds like a great deal!

Then remind them that you are around if there are any speed bumps along the way. When they come back to you, try to determine if they have learned any lessons yet and act accordingly.

So, the advice is to do nothing except be nice to the client and hope that they remember you as the vendor who ‘couldn’t match the price or schedule but sure seemed to know what she was doing’.

Of course, there are lots of exceptions. I have taken impossible projects because of family requests, wanting to get experience with certain technology, personal favors, etc. And these issues occur in degrees and aren’t absolute, like everything in business, so you need to consider them carefully.

The ‘pick two’ talking point is interesting to people who are in the business, but some clients don’t want to pick two they want to pick three! Clients like that won’t be impressed with the pick two thing, and clients who understand it are already experienced in professional services. Go for the clients who have already learned the lessons :slight_smile:

oh I do absolutely agree - although at the moment I’m settling for happy clients and no profit as I need to build up a reputation. I’m not willing to risk messing things up when I can’t say “well the other 99 projects were wonderful” …

I do remember the advice you gave and all of that went through my mind - I wasn’t quite confident enough to say all the things you suggest, but I hinted at it. I essentially agreed that if they were in such a rush then it probably wasn’t what they wanted, but suggested that they could always get back in touch if things didn’t work out or they had another project.

Remember I was invited to submit a proposal, I wasn’t seeking the work. I was already 110% busy.

Another major factor is that I have enough experience to know perfectly well how much time is really needed for a project - any project at all. I’ve done lots of different things in my life, and I’m capable of doing an astonishing amount of work in a short time (I know that is big-headed, but it’s true). So when I know that a project X for myself will take about 2 weeks, and that once liasing with a client is involved that stretches to 4 (because you have to take into account things like asking a question on Monday and not getting a straight answer till Thursday night) then I know that for a FACT.

I suppose more ambitious projects can take longer, I’m just describing the real-world phenomenon of project design, approval, construction, completion. It’s not possible to compress below 2 weeks even if client satisfaction isn’t a factor.

I stopped worrying about this and beating myself up mentally about why I couldn’t be faster, and thinking that somehow if I could only be faster I would make enough money, when I did a course in Book Illustration taught by a famous illustrator.

One of the first things he said when describing the process of working (and how much you get paid) was "we all know it takes 2 weeks to draw a picture, whether you are being paid £50 or £5000, and the same amount of work goes into it … and if the client wants changes potentially it would take another 2 weeks again … "

He went on to describe quick “cheats” which could help reduce the SECOND two weeks.

OK so the topic was drawing pictures. But the principal is sound and seems to hold whatever the subject matter. You spend a week thinking, sketching, mocking up code, or researching in the library, and about a week perfecting your creation.

Obviously the key was to build up a client base in order to charge more for the same amount of work.

I have never worried about it since. I don’t care what anyone thinks they know or don’t know or what some random person on the internet claims they can do in a day or a week. I know I’m intelligent and I work very hard, and would be working round the clock to make sure that someone’s project (of any kind) was done properly and ON TIME. I pride myself on never missing deadlines no matter what, and on doing things right.

I might not have much experience as a programmer, but I do have experience of life in general, of working to deadlines, and of working with clients to a brief. I realised years ago, when I was still working as an artist (for commissions) that the client needs to be TOLD certain boundaries, and if they don’t accept them they can take a hike. If you want money up front, just tell them straight and don’t worry about it. It’s a good way of making sure they take things seriously. If you want £X, likewise. It quickly can get to the point where you don’t have TIME for the people who aren’t bothered enough - I first started asking people to pay for drawings simply to cut down on the number of requests and force people to take what I was doing seriously enough not to change their specs every time we met. The more conditions I piled on the more people queued up asking for me and paying good money.

Anyway I am back on track - I had a big break because of illness and that’s when I got into web design. I’m in the phase now of doubling the prices and refusing to be moved on things like timescales. I am REALLY too busy to care.

That’s a bit of a rant and I’m writing in the quick post box so it’s hard to re-read, but I think the gist is just: I know how long stuff takes. My time is valuable and I have at least enough confidence to know that if I took on a project I’d make damn sure it was done well and on time.

I just need to convince a few more people to give me a go and I will be able to bid on projects with larger budgets with as much confidence.

At the moment my client base is expanding without me even having to do anything at all - clients are asking for more work, and referring their friends. This latest person found my details online and was clearly attracted by specific details in my CV. I’ve also finally got around to registering another domain which I will be using entirely to build something of my own in php and xml (I have several thousand academic papers that need organising and there is no way I will do that by hand) - so maybe I will get all the experience I feel I need just doing that in my spare time.

Not that it’s looking like I will have much of that, the way things are going …