If you’ve managed a project before you’ve probably been burned by requirements at some point or another. On one project you’ll spend way too much time trying to define the requirements down to such a detailed level you have no money left to do the development. Customer gets pissed b/c they don’t get their product. On another project you’ll agree to some high-level goals and do the development. You deliver to the customer and they tell you it’s not what they wanted. Frustrating.
So, as a PM you know you don’t want to be at either ends of this Requirements spectrum, but you need to turn out a product that meets your customer’s needs. What’s the middle ground?
The approach I’m taking on my current project is as follows:
- Spend good time (8 – 10 hours) hammering out as many requirements, with the customer in the room, as we can. We are using the customer’s goals as the starting point.
- Once we have a solid concept of what the customer wants, we are going to start prototyping. Any requirements that didn’t get finalized in Step 1’s 8 – 10 hours of meetings probably didn’t get finalized for a reason…the customer doesn’t know what they want. And it’s not their fault, I’m not placing blame. As a PM you have to understand that this is going to happen, cut your losses and move on.
- Once we beging prototyping iterations we’re going to meet with our customer on a weekly basis. This does a couple of things: gets the customer’s buy-in, allows them to provide input and further tweak their ‘unknown’ requirements, and it prevents development from getting too far down a potentially unwanted path.
The more visionary the project (enterprise social media PMs take note) the less you can talk about requirements up-front and the more ‘show’ you have to do in the prototype phase. You’re dealing with people who have goals, but don’t know how to get there. They get the warm fuzzies when they can see something and play around with it; they know what you’re talking about and can provide feedback. Then maybe you write the the requirement and get them to sign off on it. (But, only after they like it 😉 )