Posts tagged ‘project management’

June 2, 2015

Why Your Software Project Isn’t Like Buying a Car, It’s Like Seeing Your Doctor

For the past 15 years or so, I’ve worked in software, managing projects. I’m still surprised when the word “estimate” and “time and materials” means one thing to me, and something entirely else to customers. I’m not blaming the customer, per se – it’s not their milieu, so how should they know better?

For example:

Patrick Customer
Estimate An approximation of time and cost, based on what we know right now. Subject to change over time as we learn more. This is exactly how long it will take and exactly how much it will cost. Probably less.
Time and materials We’ll work on a time and materials basis – if it takes longer for any reason, we’ll let you know. This is a fixed fee project. If you make mistakes, that’s your fault and I’m not paying another dime.

I get it, though: I recently did a small bedroom update, and my contractor worked on a time and materials basis. But since I don’t build things for a living, it was easy for me to be shocked at the price and the timeline.

For example, after the demolition was done, I thought “how could this take 4 more weeks?”

It looked like it was much closer to completion than it was – looks can be deceiving. It was my lack of experience that made me feel that way, not that my contractor wasn’t doing a terrific job.

Not Like Buying a Car

When you buy a car, you are purchasing a product that is complete already. Sure, you can pay more or less when you pick tires, a stereo, a sun-roof. But you know before you sign how  much it will cost, and you also know when you’ll get to drive off of the lot. That’s terrific.

Software isn’t like that. Sure, we know a lot more than we did: there are scores of books about software development and best practice, and software tools are better than ever.

What those things don’t do though, is solve for all of the stuff that you (and we) don’t know.

Here are a few examples of areas where small unknown’s or seemingly simple choices can skew project costs:

1. You don’t know your data, and we don’t get to see it in advance. So we make a good faith effort to tell you how long it will take to migrate it to the new system. When we see the data we find out that you’ve blended all of the first names and last names into a single field, so we have to review and parse all of your data first.

2. You have an existing system and a previous developer purchased a calendar widget to make it work. That software is no longer available and doesn’t work with modern operating systems or browsers. So we have to replace your entire calendaring system.

3. You are certain that your case managers work always start with a screening so we build a screening widget. We find out at launch that you just wished they started with screening, but really they always do a full intake. So we have to tear out the screening features, and fix all of the processes to match what is really happening at your agency.

More Like Seeing Your Doctor

Say you have a cold, or think you do. You go and see your doctor, and she says “There’s a thing going around. Rest, drink a lot of liquid, and come back in 5 days if you aren’t feeling better”.

You come back in five days.

Your doctor says “This looks like it could be allergy related. Take one of these every day for the next 5 days, and come back if you aren’t feeling better”.

You come back in five days.

Your doctor does some additional testing and determines that you have an infection. She prescribes medicine and you get better.

Great. You just saw your doctor on a time and materials basis, and what you paid for was the fix and all of the steps along the way.

With software, you do the same thing: you pay for the process. But a lot of customers want to pay for just the solution. Imagine going back to your doctor and telling them that you aren’t paying for the first two visits. Wouldn’t that be nice for you?

But you know better: medicine is an enormous field, and experts work through a process to help you. The apparent thing isn’t always so; the path forward is sometimes murky; and its better to start with simplicity and move towards complexity than it is to go the other way around.

Software is like that, too.

What Can You Do, Then?

  1. Shop around. You can tell when the person at the car lot is blowing smoke, so you can learn to figure out which software vendors are reputable.
  2. Have a contingency fund.
  3. Be ruthless about features, and implement the crucial ones first. Don’t get bewitched by the cool, bright and shiny thing that increases your cost without providing commensurate value
  4. Make sure you actually participate in the project.
  5. Grow your technical expertise. You don’t have to become a software developer, but you should learn as much as you can about their proposed solution as possible.
Advertisements
February 12, 2011

Patrick is Getting Particular (about some things)

The hell you say! Hasn’t he been particular for a long time? Like – maybe since birth? You know:

  • Coffee snob: Roasts his own coffee, buys green coffee beans, won’t drink coffee at most public places  because it doesn’t meet his standards.
  • Beer snob: Makes his own beer. Makes jokes about the popular brands, using words like “water”, “lite”, and “better off lighting a couple of dollars on fire”.
  • Scotch snob: Is in a scotch club. ‘Nuff said.
  • Music snob: Out of tune and off pitch is certainly not acceptable.

(okay – on over to first person, singular)

And that’s not all – there’s more. If we’ve worked together, you’ve probably noticed that I’m particular about the how – how things are written, how things are accomplished, how steps are followed.  How a scope of work is created, and what is included. What to tell a customer, a co-worker, a boss.

And if we’ve travelled together, shared a house, or been in a band, you’ll remember that I like things tidy, organized, neat. I have low tolerance for messy (even though I can certainly be a mess, don’t get me wrong). I like to show up early for important things that really have a fixed start time (like weddings, gigs, baseball games).

And if we’ve played music together, you’ll know that pitch matters. Knowing your gear matters. Memorizing your lyrics matter. Understanding how the freaking sound system works matters. Understanding how the lights work matters. Tempo matters. And helping load and unload the gear really matters.

(That all sounds terribly rigid, and in many circumstances  – it is. Pick up after yourself, okay? Don’t show up without the tools you need for the job. Don’t over-promise. Practice. That doesn’t mean that there isn’t room for mistakes, mind you. God knows – I’m a champ at mistake making – if they gave out medals for that, I’d have gold. But you get what I mean here, right? Making a mistake is different than not caring, than showing up un-prepared, than not caring to learn).

And yet – I’m also starting to become LESS particular about a lot of things, too. It’s almost like I’ve spent the first half of my life becoming particular, and in the 2nd half – shedding some of those things. (If the actuaries are right – I’m just past the middle – they think I’ll make it to 77.4, but I think I’ll beat that. Please don’t tell my life insurance company – I plan on them having to pay out in spades!)

For instance – my sense of faith and spirituality was quite particular. I grew up Catholic, and in an era and area largely devoid of some of the crappy things the Catholic church had to offer.

But in the last bunch of years – I’ve become much less particular about faith, religion, spirituality – (even if I discount the exceptionally bad behavior of the Catholic church in the last decade).

You may know what I mean – I used to love to play music at church, to understand the various theological jumping off points for this and that – and now – not so much. My metric has changed to a pretty simple one: Whatever your sense of spirituality, or your faith community – as long as it includes rather than excludes – live and be well. The rest no longer matters to me.

And I’m feeling less particular about people, too. Want to put ice in your single malt scotch? Water down your coffee? Guzzle a PBR? Get right to it – I may choose other things – but you certainly don’t have to.

And ditto for politics (at least in general). Provided you’re willing to start with details, are willing to look at more than a single data source – I don’t give a flip if you are conservative, liberal, or something else. I do care that we can have a conversation, that we can learn from each other, that we can disagree politely (but only after we’ve agreed to the facts, mind you. And we CAN agree to the facts. It might take some research and we might have to change our minds – but that’s a good thing).

S0 – we’ll see. Will I become more particular, or less? I can’t say for sure, but it will be fun finding out!