When our company develops software, one of the more difficult problems we face is taking a customer vision of a project and focusing it.  Software developers are generally very good at implementing functional requirements.  A skill that they aren’t as naturally good at is cutting and limiting requirements.

Why would we want to cut and limit features when the customer is asking for them?

Our experience has shown that our customers, not being developers, don’t always have a good handle on what features they ask for might entail or how important it is to prioritize them.   An article on scope creep says:

“…we are here to lead our clients, not to take their order. That requires being critical. Not critical in the sense of making value judgements (e.g. “that’s a dumb idea”) but in the sense of deconstructing ideas in order to justify them. We’ve got to get comfortable with challenging our clients’ requests by asking: Why? What is it for? How will it work? Who does it benefit? What does it cost? We can do this gently and kindly, by the way. I’m certainly not suggesting that we assault our clients with some kind of 3rd degree treatment. Our job is to help them make decisions, keeping in mind that there are priorities to consider with every possible feature: the purpose of it, the user experience, the content management experience, and of course, the cost-not necessarily of that specific thing, though that can be an issue, but of all these little features in the aggregate. In the end, managing the little things is the most powerful means of avoiding scope creep we have.”

Customers usually have a great vision for their products, but most of the time the budget doesn’t match the full vision, and more importantly, it’s better to have something smaller than the full vision but functional and actually released than to shoot for the full vision initially and miss the mark because the project is over budget.

One important way our team tries to solve this problem is by delivering software in small iterations rather than via “Big Design Up Front”.  This allows the customer to gauge how long it takes to see their ideas turn into something real and let’s them make adjustments along the way.

At Guru Technologies, we try to hire developers that can guide a project as well as be strictly write software.  We try to deliver something every week or every other week for the customer to look at, even if it is rough, to let them review, give feedback, and direct the next week’s work.

Read more at: How to Prevent Scope Creep.