In why "Time and Materials" contracts ("T&M" in short) are the only sensible structure for sophisticated software development like we work on at Six Feet Up, but only in concert with a project management methodology that reduces risk for clients., I described
As I wrote, "The key to reducing the risk of time and materials is transparency and frequent check-ins... A successful engagement must transparently manage your risk, enabling you to see exactly how your dollars are being spent, and empowering you to make frequent, well-informed decisions that concern the budget and scope."
Our "Flex6" methodology does just that.
First, Traditional Project Management
Traditionally, your service provider spends a bunch of up-front time putting the project details on paper and getting client approval. Then development takes place. The provider tests and debugs and finally shows the project to you. With a little luck, the original estimate was accurate and the project, at this point, is right on budget and on time.
What happens when you review the work and want changes? Certain features maybe didn't get implemented in quite the way you imagined. Remember, this is the first time you’re really getting a chance to play with the new system. We all know how hard it is to give feedback on something you haven't actually seen yet.
Inevitably, something unexpected comes up during that client review. Since it was, by definition, unexpected, it wasn’t budgeted for. Uh oh. Now there’s a problem. If you are to get what you want, the project is going over budget.
But now you’re angry. You think your service provider misinterpreted something you wanted. They think they built exactly what you asked for and show you the approved scope of work, proving they’re in the right.
But does that make any difference? What really matters is that even though the project is nearly done, and even if in the end the project is a big success, everybody is left with a bad taste. The relationship has been damaged.
A Better Way: Flex6
To better manage our client’s projects we have developed a methodology we call "Flex6." The key attributes of Flex6 are:
- We build, test, and debug one component or milestone at a time, working on the most critical tasks first, and immediately have a client review before moving on.
- During this review, we get our clients’ feedback on the work performed and discuss the budget. We know how much time was supposed to be put into the component. If we’re tracking too high or low, we can adjust much earlier in the process.
- After each review, we tweak the reviewed component based on the feedback, and work on the next component. Then, we do another detailed feature and budget review.
- Since we work on the most critical features first, if something needs to be cut from the scope in order to keep to a budget, it's the least important features that will be cut.
- All throughout this process, our clients can fully control their budget allocation. There are no surprises.
While this process is still hourly, it meets all of the important criteria I mentioned in my last post:
- Confidence: Set and manage your budget. Yes.
- Transparency: Know how much money you’ve spent at all times. Yes.
- Visibility: Know how much of the project is done, and how much is left to complete. Yes.
- Understanding: Understand the impact of any desired scope changes (and allow you to make them in the first place). Yes.
- Alignment: Make sure your service provider is properly incented. Yes.
Interested in discussing how our Flex 6 process can benefit your custom software development needs? Just contact us.
Also, be sure to sign up for our newsletter to read more interesting articles and blog posts related to sophisticated software development.