I’m always a little puzzled when I’m asked by clients to do things ‘quickly’, ‘simply’, or ‘cheaply’. Not that I don’t understand what these things mean, rather I am unsure what their expectation is of me. Inevitably, I have to explain that I would be happy to give them what they want, but I have to know what else is important to them in terms of completing the project. Do you want it simple and cheap, cheap and quick, or quick and simple?
And then they look a little puzzled, too.
My formal post-college education was limited to some classes at The Learning Tree. Of the several classes I took there, the ones on project management are those that continue to stand out most clearly in my mind, even after a decade. (I could probably still whip up a Gantt chart if necessary). In one class, we were introduced to the Project Management Triangle, which most people are aware of as the adage, “You can have it cheap, fast, or good – pick two.” But even this still needs an explanation.
The Project Management Triangle
As a developer, I will give my clients the highest quality product or service that I am being asked to provide. This is my work ethic and there is no compromising on this point. Given that absolute, there are three other constraints on any project that are adjustable. These are Cost (“cheap”), Schedule (“fast”), and Scope (“good”), respectively, also known as the Project Management Triangle.
By adjusting these three constraints to reflect their importance to my client, I can manage their expectations on the project deliverables. Here are some examples to understand what I’m talking about:
If a client tells me they want to spend the minimum amount of money, but they need it in a week, I can do that, but it will be very limited in its functionality. There will be no bells or whistles, and no changes to the scope of the project.
If a client tells me they need something in a week, but it needs a complete feature set, then I may have to bring in other people to work on it, so it will cost more to hire additional help.
If a client tells me they want don’t want to spend more than the minimum amount, but they want it to have a particular feature set, I can do it, but it has to be worked into my production schedule as a lower priority project.
Put another way:
If a client asks for something to be done ‘quickly’, you don’t know if they want to spend the money to get it done faster or if they want a simplified version of the project.
Likewise, if a client says they want something done that “doesn’t cost a lot of money,” does that mean they want something that only does the basic job it’s designed to do, or do they want something that doesn’t have a deadline?
Asking for something to be done “simply” is really a misnomer. Are they really asking for something ‘simple’ with fewer features, or do they want it feature-reach and ‘simple’ to use.
Once you and your client clearly understand what the expectations are, you will be able to establish your priorities for the project.