INSE - Lecture 15 SE Project Management This lecture is a brief overview – mainly things to remember to do!
Definition: “ project ” "Planned undertaking, long-term task..." (Concise Oxford Dictionary) … for our purposes, it would be a software- building task leaves “ long-term ” as a matter of judgement.
Definition: “ Management ” For us, this quite a few kinds of activity: Innovating — new ideas Planning — exactly what Estimating — cost, effort, time, resources Scheduling — when Directing — who does what, when Re-planning — handling difficulties Auditing — was it okay? Monitoring — is it/will it be okay? Recording — for the future Reporting — to management Representing — to clients ……
Software is different … … in ways that make PM of SE different than other PM: Invisibility – nothing for client to see from end of prototyping until delivery. Complexity – both the need and the product Conformity – meet user need precisely Flexibility – a strength and a weakness
PM extras to the lifecycle Lifecycle models usually leave out PM activities! Such PM activities include: Feasability – is the project practicable? Costing – what resources will it require? Planning – what should be done when?
PM extensions of the lifecycle Most of the rest of the lecture! Often just a tedious set of checklists
Preparatory Choose the right Project Manager! ?Perhaps the most common cause of failure of major projects? Needs SE knowledge Experience in the application domain
Contract Problem: need the requirements to do the spec to do enough design to do estimates to know what cost to put in contract; but don’t have £££ to do that work till after contract. Especially need requirements ahead of time often have to guess for contract purposes “Don’t forget” issues Acceptance criteria & mechanisms Reuse policy Safety/security issues …
Preparation Major delivery or incremental deliveries? Estimation Scheduling Staffing – team & training Pre-technical – standards & guidelines tools? language? FM? review style & infrastructure? Risk assessments, contingency plans
Requirements/Spec stages Monitor! User check/prototype Ensure a Review!
Design stage Monitor! Design method? tools? Strategy – top-down? hardest-first? Modularization & reuse Division of labour Prototype? Maintainability Ensure a review
Coding stage Monitor! Ensuring/measuring progress Ensuring good style/conformance to Standards and guidelines Ensuring maintainability Scheduling – very project-sensitive Ensure a review!
Test stage Monitor! Ensure adequate philosophy/design/ planning Harnesses & any stubs ready ahead of need Records Audit trail Ensure a review!
Debug (& corrective maintenance) Adequate system for reporting & tracking Monitor! Ensure adequate re-testing afterwards
Delivery Adequate user preparation Ensure smooth hand-over Contingency plans for problems? Acceptance tests often need some following up
Innovative Maintenance All again – not allowing any deterioration
Throughout Good documentation! Conformance to Standards & guidelines! Configuration management Team & individual issues Routine admin
After this lecture Watch your managers! For the things to do better than, when you get the chance/need For the things not to do
© C Lester
The Software Project Manager?