Presentation on theme: "CS3500 Software Engineering Project Management (1) In 1986 one well-known software engineer (Tom DeMarco) made the simple but important observation: “You."— Presentation transcript:
CS3500 Software Engineering Project Management (1) In 1986 one well-known software engineer (Tom DeMarco) made the simple but important observation: “You can’t control what you can’t measure”
CS3500 Software Engineering Project Management (2) Following from DeMarco’s statement – if we do not measure the number and size of the tasks in a project, the time, personnel and money resources used project progress risks that threaten project success then we cannot expect to be able to control the execution of a software project and nor to have any certainty about critically-important issues, namely completion dates consumption of resources risk impact quality
CS3500 Software Engineering Project Management (3) What is “management”? Basically, “management” means defining objectives and putting resources and control mechanisms in place to ensure that these objectives are achieved without disruption. Management involves the following activities: Organising (scheduling, budgets) Staffing (People – to which tasks and when) Monitoring (checking progress, risks, etc) Controlling (taking action to keep to schedule and budgets ) Planning (deciding what is to be done) Directing (informing staff of what to do) Communication & Reporting (formal ways interaction across & between levels)
CS3500 Software Engineering Project Management (4) Software Project Plans Several different kinds of plan can be used during a SD project. The more complex the project then the more important it is to use a variety of plans Schedule (activity) plans Budget plan Risk management plan Test plan Quality plan
CS3500 Software Engineering Project Management (5) Activity Planning A project is made up of a number of interrelated activities A project may start when at least one of its activities is ready to start A project is completed when all its activities have been completed An activity should have a clearly defined start-point and end- point The end-point of an activity is usually marked by the production of a deliverable It must be possible to forecast the duration of an activity Some activities may require that others are completed before they can begin (precedence requirements)
CS3500 Software Engineering Project Management (6) Gantt Charts A Gantt or timeline chart allows representation of the progress of a project’s activities as a bar-chart over time. A Gantt chart can be developed (a) for an entire project, (b) for separate project functions, or (c) for each individual person working on the project.
CS3500 Software Engineering Project Management (6) Gantt charts – an example
CS3500 Software Engineering Project Management (7) PERT (1) Activities & Milestones in PERT A project is made up of activities or tasks that are carried out either in sequence or in parallel. The completion of a task means that a MILESTONE has been reached. Reaching a milestone usually means a deliverable is produced. A deliverable can be a document, a report, diagrams/charts, a software component, test results, etc. PERT (Program Evaluation &Review Technique) provides a means of mapping activities and milestones in a network to allow the progress of a project to be monitored over time.
CS3500 Software Engineering Project Management (8) PERT (2) 2 3 3 2 1 4 5 6 1 Activities in SequenceActivities in Parallel Milestones can be numbered 1, 2, 3 etc as above. Tasks can be named according to the milestones they connect. So, the task named “1-2” is the activity that takes the project from milestone 1 to milestone 2 A task (activity) takes the project from one milestone to another milestone! 2 Task 1-2 1
CS3500 Software Engineering Project Management (9) PERT (3) Milestones and Tasks have timings! Task ID EET = earliest event time LET = latest event time 123 0 3 3 5 8 Tasks have durations EET = Max (EET i + duration) LET = Min (LET t – duration) Slack = LET t – EET i – duration
CS3500 Software Engineering Project Management (9) PERT (4) Calculating the LET’s – make LET of terminal event equal to its EET 123 0 3 3 5 8 EET = Max (EET i + duration) LET = Min (LET t – duration) Slack = LET t – EET i – duration 830 LET = LET t – duration = 3Slack = Let t – EET i - duration The path through the network which has zero slack is called the critical path. A delay in any activity along the critical path will delay the final completion date of the whole project.
CS3500 Software Engineering Project Management (9) PERT (5) A project is measured as having 9 deliverables from start to finish There are 10 milestones including the Start and Finish milestones There is one dummy activity – this indicates a dependency between 2 activities on different branches of the network There are 12 activities (tasks) to be completed Dummy activities do not consume resources but must be included for timing calculations Activities are named by the milestones they connect, e.g. 1 -2, 4 – 8, or 6 - 9 PERT – a full example: