definition of a project - scit.wlv.ac.ukcm1947/modules/cp2089/largeslidespdf/lecture… · pert &...
TRANSCRIPT
-
Lecture 9
Project Management
-
Definition of a Project
"The accomplishment of a number of actions in series and in parallel in order to reach an objective."
(Robertson 1967).
-
Project ManagementAny large-scale project needs to be planned and managed.
Do you understand the problem?Can you design and build a satisfactory solution?How long will it take?How much will it cost?
-
Project Management in Computing
Is a Software Engineering project any different to any other project?
Constantly increasing levels of technology.Change is inevitable and hard to deal with.Intangible. When is a project 90% finished?Projects are often unique so historical data is often not applicable.
-
Additional SE problemsProject management - has a history of being carried out badly in computing. Software maintenance is now a huge overhead on companies.
-
What Do Businesses Require From Their Systems Departments?
A recent commercial study listed the following:Dependability
• Being able to deliver on time – even more important than satisfying requirements!
Fast Response • The ability to implement solutions rapidly
Productivity • improved productivity without compromising on quality
-
….Study Continued
Value • Project managers need to demonstrate the
value of the project to the business
Integration • Project must integrate with
– the business processes that surround it – the people who are expected to use it
-
Reasons for FailureThe UK Office of Government Commerce (2000) notes the following reasons for failure:
Design & Definition• No clear goals• Over ambitious
Decision Making• Management by committee• “No decision” is the worst decision
-
Reasons for Failure..cont.Project Discipline• Poor milestone setting• Slippage not managed• Change not managed• Risks not recognised
-
Reasons for Failure..cont.Supplier Management• Poor Quality products• Poor Services• Lack of Support/Communication
People• Poor communication• Not spotting/acknowledging problems• Poor technical ability
-
Successful Projects“Success” factors:
Project mission• Management support from the top• A realistic project plan and schedule
Sensible client consultation.• Client agreement and acceptance.• Feedback mechanisms in place
Good Quality Personnel • Technical task capability.• Communication skills• Troubleshooting skills
-
Project PlanningIn almost any discipline, we can divide a project up into a number of phasesA project schedule is needed, comprising of a list of :
Activities; parts of a project carried out over timeMilestones; completion of activities at particular points in time
Knowledge of previous, similar projects helps to provide guidelines for estimates
-
Project planning – cont.ComplexityCoordination (if more than one person ) Cost estimationResource allocation -
People (and specializations)Computer equipment
-
Project Planning If we assume sequential stages to a project then a possible set of planning items might include:
Definition of Objectives.Work Breakdown.Work ScheduleBudgeting and Project Organisation.
-
Software Is Often Late Some of the reasons may be:
Unrealistic deadlinesChanging customer requirementsUnderestimation of required resourcesUnconsidered riskTechnical difficultiesHuman difficultiesPoor communicationFailure to spot or to deal with problems early on
-
Control Through Scheduling and Tracking
General project scheduling tools can be used.Specific tools for software development include:
Program Evaluation & Review Technique (PERT)Critical Path Method (CPM)
-
PERT & CPMThese cover:
Estimates of effortDecomposition of product functionSelection of appropriate process model and task setDecomposition of tasks
-
PERT & CPM cont…And result in:
Determination of “Critical Path”Estimation of “most likely times” Calculation of “Boundary times” (windows)
(considered in a later lecture)
-
Gantt chartsDiagrammatical tool for showing what should happen when
May cover the whole projectMay detail specifics for either a task or a personAllows illustration of milestones
-
Gantt Charts – The processDraw up a list of appropriate project activities.Estimate their duration.Note any deadlinesList available personnelAllocate activities to people
-
Identifying Activities The following are all POOR choices of individual activities:
Carry out entire operating system designImplement 50% of the XYZ file update routineWrite 10 lines of code
When making decisions bear in mind:SIZE – set a max duration for any one task e.g. 2 weeks;IDENTIFIABLE COMPLETION - thus avoiding the 90:90 syndrome
-
Gantt Chart
Time in days
Activities
Analysis of XAnalysis of YDesign of XDesign of Y
Develop interface
Code XCode Y
8 DecPrototype session
BS
BS/HPCD
CD/JH
AW/BS/HP
CD
JH
-
Gantt chartGood points:
Clear SimpleEasy to identify areas of high activity.
Bad points: No Dependencies Take up a lot of room• Difficult to follow if long time scale or large no.
of activities
-
TrackingTools for checking the progress of the project
Qualitative techniques e.g.:Project status meetingsEvaluation of the results of reviewsChecking milestonesInformal meetings
Quantitative Techniques e.g.:Earned Value Analysis (considered in a later lecture)
-
Time-BoxingA method used for incremental delivery
Define a set of subtasksDefine a (short) timescale for deliveryDo not allow the task to over-run
-
ConclusionsProjects are difficult to manageWe need tools and techniques for
PlanningSchedulingControlling