Upload
bruce-ezra-quinn
View
219
Download
2
Tags:
Embed Size (px)
Citation preview
Project planning
Software project management• Informal definition of management
– The art of getting work done through other people• Software project management is concerned with
activities involved in ensuring that software is delivered on time and on schedule and in accordance with the requirements of the organisations developing and procuring the software
• Project management is needed because software development is always subject to budget and schedule constraints that are set by the organisation developing the software
Management activities• Proposal writing• Project planning and scheduling• Project costing• Project monitoring and reviews• Personnel selection and evaluation• Report writing and presentations
Project planning• A plan, drawn up at the start of the project,
should be used as the driver for the project• The initial plan should be the best possible
plan given the available information. It must be regularly revised as new information becomes available
Project planning processEstablish the project constraints Make initial assessments of the project parameters Define project milestones and deliverableswhile project has not been completed or cancelled loop
Draw up project scheduleInitiate activities according to schedule
Wait ( for a while ) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables if ( problems arise ) then Initiate technical review and possible revision end ifend loop
The project plan
• The project plan sets out:– The resources available to the project– The work breakdown– A schedule for the work
Project plan structure• Introduction
– Objectives, constraints (e.g., budget, time, etc…)
• Project organisation– People involved and their roles in the team
• Risk analysis– Possible risks, their likelihood and reduction strategies
• Hardware and software resource requirements• Work breakdown
– Breaks down the project into activities, identifies milestones, deliverables
• Project schedule– Activity dependencies, estimated milestone time, people allocation
• Monitoring and reporting mechanisms
Activity organization• Activities in a project should be organised to
produce tangible outputs for management to judge progress
• Milestones are the end-point of a process activity
• Deliverables are project results delivered to customers
• The waterfall process allows for the straightforward definition of progress milestones
Project scheduling• Split project into tasks and estimate time and resources required to
complete each task• Organize tasks concurrently to make optimal use of workforce• Minimize task dependencies to avoid delays caused by one task
waiting for another to complete• Important to note that the schedule evolves over time. During early
stages of planning, a macroscopic schedule is developed that identifies all major SE activities. As the project gets under way, each entry is refined into a detailed schedule where specific tasks required to accomplish an activity are identified and scheduled
Scheduling problems• Estimating the difficulty of problems and hence the cost of
developing a solution is hard• Common myth: “If we fall behind schedule, we can always
add more programmers and catch up later in the project”– Productivity is not proportional to the number of people working on a
task– Adding people to a late project makes it later because of
communication overheads (CLASS DISCUSSION)– Example: 4 software engineers, each capable of producing 5000
LOC/year, are working on an individual project. They are placed on a team project. Assume the overhead associated with each communication path is 250 LOC/year. What will the team productivity be?
Bar charts and activity networks• Graphical notations used to illustrate the
project schedule• Show project breakdown into tasks. Tasks
should not be too small. They should take about a week or two
• Activity charts show task dependencies and the critical path
• Activity Bar charts show schedule against calendar time
Task durations and dependencies
What is the minimum total duration of this project?
Activity network
What if T8 is delayed by 14 days?
Activity bar chart (Gantt chart)“slack” time
one week, 5 business/working days
Staff allocation