19-Soft-B6 Software Project Management · May 2015
Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)
Question text not reproduced: the examination questions are © Engineers and Geoscientists BC. Open the official past paper (linked at the top of this page) to read the question, then follow the worked solution below.
Part (a) — what is a software process model. A software process model (also called a software life-cycle model) is an abstract representation of the software development process — it describes, at a level independent of any one project's detail, the set of activities, the artifacts each activity produces or consumes, the roles that perform them, and the order or constraints under which they occur. It is a simplified, prescriptive view of how a real software process should be organized, used both to plan and communicate how a specific project will actually be run (which activities happen, in what sequence, with what checkpoints) and to compare and choose between different ways of organizing development (Waterfall, prototyping, incremental, agile, and so on, each a different process model applicable to different project risk profiles).
Part (b) — phases common to all process models. Despite their differences in sequencing, iteration, and emphasis, every software process model is built from the same generic set of framework activities:
| Generic phase | What happens |
|---|---|
| Communication / Requirements | Establishing what the customer/stakeholders actually need — eliciting, analysing, and documenting requirements. |
| Planning | Estimating effort, schedule and resources, and defining the work to be done and the risks involved. |
| Modeling / Design | Translating requirements into an architecture and detailed design that can be implemented. |
| Construction | Coding and testing the design — producing an executable work product. |
| Deployment | Delivering the product to the customer, obtaining feedback, and evaluating it against requirements (feeding back into the next iteration where the model is iterative). |
Every named process model is really a different arrangement of these same five phases — the Waterfall model performs them once, strictly in sequence; prototyping and the spiral model repeat modeling/construction/deployment in short cycles; agile methods compress and interleave all five within very short iterations — but no model can omit any of them, because each phase supplies an input the next phase depends on.
Part (c) — major project scope management processes. Project scope management (PMBOK) is the set of processes that ensures the project includes all, and only, the work required to complete it successfully:
Together these processes form a plan → define → decompose → deliver → validate → control cycle: the first three establish agreement on what "done" means, the WBS turns that agreement into schedulable work, and the last two protect that agreement for the rest of the project.