I’ve had a lot of fun this past week meeting with clients. Meeting clients to discuss new projects is probably one of my favourite parts of this job. I get to sit down with someone and bring that pie in the sky down to a solid solution that is going to saves their business money. During this conversation, some people know exactly what they want and it’s a matter of understanding what they’re thinking. Others simply know there’s a problem that needs fixing. But invariably, as we discuss our shared dream, the dream grows and grows… and grows and grows some more.
It’s not intentional, it just sort of happens. Oh, what if we add this workflow over here? And what about this magic button over here, that would save so much time! At this point in the conversation, I usually take a step back. The client had an initial problem that is causing real pain. We’ve already come up with some sort of solution and now we’re adding on the extra “nice-to-haves”. The reason I break up the conversation here is for a couple important reasons:
- Larger projects take longer to remove that initial pain
- Larger projects have more working parts and more things that could go wrong and stall or cancel the project
- Often you learn important lessons creating that first part of your solution that may change the direction you take with the rest of the project.
- Often it isn’t more expensive or time consuming to take baby steps and release each feature as it’s completed.
I had this discussion this past week with a client. He had quite a well thought out manual process for managing his staff that he wanted to optimize with software. Implementing the software for this was going to take a month or two. As we talked, we figured out ways to breakup the manual process and optimize it section at a time. Soon we laid out the parts we’d have to build and you could see his excitement building. He could pick the problem that was affecting him the most and we’d solve that one first. He didn’t have to wait for the invoicing section (which wasn’t all that bad to begin with) to be completed before we would have a solution for this scheduling problem.
This is the beauty of building things incrementally, in stages. We can solve the important problems first and get to the less important things later. Everyone wins.
That’s all for today. I’ve love to hear what you think. My email is firstname.lastname@example.org