definition of a project - scit.wlv.ac.ukcm1947/modules/cp2089/largeslidespdf/lecture… · pert &...

26
Lecture 9 Project Management

Upload: others

Post on 19-Oct-2020

1 views

Category:

Documents


0 download

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