(^66) 97 Things Every Project Manager Should Know
How Do You Define “Finished”?
How Do You Define “Finished”?
How Do You Define “Finished”?
Brian Sam-Bodden
Scottsdale, Arizona, U.S.
IT IS hARD FoR A SoFTWARE DEvEloPMEnT TEAM To SUCCEED if there
isn’t a clear definition of what success means. For developers, success entails
delivering a product that meets customer expectations. However, to define
total project success, we need an accurate, shared definition among the larger
project team of what it means to “finish the project.”
To embrace the overall project scope, the core tenet of traditional, iterative
software development is “divide and conquer.” The project is broken into
deliverables, which are then divided into work packages. Those are ultimately
broken into activities assigned to a specific person.
Using an agile approach with one- to several-week iterations, or work periods,
the necessity to consider overall project scope can be masked. Finishing the
goals of one iteration can be clearly set out as creating working software that
passes unit tests, possibly clears limited integration tests, and allows prom-
ised software features to be demo’d to the stakeholders for their approval and
feedback.
The problem is that at the macro level, a project has many other considerations
beyond the code and its accompanying tests. Using the traditional waterfall
method, testing was relegated to the end of a project and became a flaw in the
process. In a more agile approach, developers may erroneously defer or dis-
miss all the nonprogramming items or activities as not having a place in their
view of what a software project entails.
Some of these items may be unit and integration testing between a newly cre-
ated component/feature and the components/features created in prior iterations.