Scope creep: something that development houses and customers view with strong aversion. While it can kill profitability, where it really gets interesting is the almost exclusively adverse reaction it draws from customers - and for good reason.
Scope creep is a manifestation of a fundamental failure of the analysis and design phase. As such, it means there is implicit functionality required in the software solution, which was never discussed at the design and specification phase. As a result, it could mean that without scope creep, the customer will not get anything usable out of the project.
Simply defined, scope creep is an increase in the amount of work needed to do without an increase in time or budget.
Busy, busy, busy
For the project manager, scope creep means more work than expected and very possibly, the prospect of the profitability of the exercise evaporating. The business analysts won't be happy as their initial projections and inputs are rendered inaccurate. For the customer, it means longer time to delivery, increased direct and indirect costs, and the stress associated with an application, which may end up performing poorly or even not at all.
Avoiding scope creep is therefore in the interests of all parties involved in the design, specification, creation and commission of a custom application. That said, it is a frequently encountered problem, which is best addressed by careful - very careful - scoping and planning.
Application development by necessity has to involve those who understand the business, those who understand the technology and those who understand both.
A thorough scoping exercise requires the attention of presales experts, business analysts and lead programmers to painstakingly evaluate the existing technology and application environment, understand the business need for a new application, the business processes, which will be affected by the new application, and the extent of the work to be done. It is rarely a trivial exercise and by extension, it is an exercise that incurs cost.
Unambiguous
What has to be clear in the management of client expectations is that application development projects are often a lot more complex than may initially meet the eye. It is therefore important for developers to explain what assumptions are made and how these affect cost.
For the project manager, scope creep means more work than expected and very possibly, the prospect of the profitability of the exercise evaporating.
Nick McKenzie is technical director at nVisionIT.
Once the project is rolling, the client may start asking for work to be done around the project, but which falls outside of the scope initially provided for. Developers may be tempted to get involved to assist the client - but that sets a precedent, which can become deleterious to the engagement.
Even small 'sidelines' can quickly snowball and become major consumers of time and effort, eliminating profitability from the engagement. If anything goes wrong (and technology being what it is, this possibility can never be ruled out), the application development house is held responsible; what started as 'helping out' can quickly turn into sour grapes.
However, locking down scope is not the answer or it can become a potentially sticky point; the client should never be discouraged from asking for change, but there have to be tradeoffs of resources with features, time and budgets. Change requests are not synonymous with scope creep; however, if a client wants new features now, they have to be prepared to extend budget and project timing or sacrifice some elements of the original design.
Some finesse is required to manage such requests and ensure they do not amount to scope creep - and mitigating the risk of scope creep therefore depends on sound, thorough and disciplined analysis, planning, specifications and detailed execution in line with rigorous project management.
In the next Industry Insight, I will discuss application life cycle management and how this affects the design, creation, delivery and management of custom applications.
* Nick McKenzie is technical director at nVisionIT.
Share