Keeping the Creep Out of Your Scope
December 9th, 2008
Web projects are deceivingly complex, and notoriously susceptible to
"scope creep". For those of you who have been lucky enough to remain
unacquainted with scope creep, here's how it's defined in Web ReDesign 2.0:
"The slow, inevitable swelling of a project's scope from something
defined to something significantly bigger, scope creep happens with
almost every project". This dismal evaluation concedes that scope creep
is an unavoidable threat to every web project, but it can be minimized
with good planning.
All too often a
project's requirements are not clearly defined before the designers and
developers dive into their work, and this is the primary cause of scope
creep. Planning for web projects is especially tricky because it's
nearly impossible to predict every single requirement before actually
starting to build a web site. With this in mind, you should consider
separating the process of requirements gathering into the following
stages:
- Determine
the Business Requirements – Define the main objective of the web
project (ie: the site must allow users to make purchases online and
integrate the transactions with an internal accounting system).
- Assess
the User Requirements – Develop use cases that map out the steps a user
must take in order to achieve the business requirements of the site
(ie: users should be guided through the process of choosing one or more
products, adding them to a shopping cart, and supplying the information
needed to complete the transaction). Consider every possible scenario,
such as what should happen if a user decides to backtrack at any point
during the process.
- Determine the
Functional Requirements – At this stage, it’s time to consider the
technologies that will be employed in order to meet the business and
user requirements of the project. This includes addressing issues such
as: which client and/or server technologies should be used, or if a
database is required, how should it be built. Functional requirements
gathering also includes identifying the actual web pages that must be
built, and what task each page will be required to perform. At this
time it’s a good idea to start developing mockups of the user interface
and high-level prototypes. This will help to identify any user and
business requirements that may have been overlooked. If you unearth
anything that could lead to major scope creep, then it’s time to
revisit the business and user requirements with these new
considerations in mind. In a worst-case scenario you might discover
that the project is not feasible, but at least you’ve realized this
during the planning stage, and not halfway through the development.
- Define
the Quality of Service Requirements – Once the business and user
requirements have been refined, and the functional requirements have
been set, you'll want to be sure that the final product will perform at
an acceptable level. It would be a disaster to complete a complex web
application, only to find that it cripples your network, or that the
database can't keep up with the number of concurrent users at any given
time.
Thorough
requirements gathering can be a lot of work, but it’s worthwhile to put
the effort into planning a project so that all players involved
understand their roles and the expectations of the project from the
beginning. Without this understanding, you're just asking for scope
creep.