0% found this document useful (0 votes)
3 views

5_Beginning_a_Project_Project_Management

The document outlines the aims and challenges of project management in software development, emphasizing the importance of completing projects on time, within budget, and to client satisfaction. It discusses various aspects of project management such as planning, progress tracking, and the use of tools like Gantt charts and activity graphs. Additionally, it highlights the roles of project managers and the need for effective communication and resource management throughout the project lifecycle.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

5_Beginning_a_Project_Project_Management

The document outlines the aims and challenges of project management in software development, emphasizing the importance of completing projects on time, within budget, and to client satisfaction. It discusses various aspects of project management such as planning, progress tracking, and the use of tools like Gantt charts and activity graphs. Additionally, it highlights the roles of project managers and the need for effective communication and resource management throughout the project lifecycle.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Software Development

Project Management

The Aim of Project Management


• To complete a project:
– On time
– On budget
– With required functionality
– To the satisfaction of the client
– Without exhausting the team
• To provide visibility about the progress of a
project

2
The Challenge of Project Management
• Clients wish to know:
– Will the system do what was promised?
– When will it be delivered? If late, how late?
– How does the cost compare with the budget?
• Often the software is part of a larger activity
– If the system is a product, marketing and development
must be combined (e.g., Microsoft Office)
– If the system has to work with other systems,
developments must be coordinated (e.g., embedded
systems in an automobile)

The Challenge of Project Management

BUT:
• Every software system is different
• Most systems are not well specified, or the
requirements change during development
• Estimating time and effort is full of errors,
even when the system is well understood

4
Aspects of Project Management
Planning
• Outline schedule during feasibility study
• Fuller schedule for each part of a project (e.g.,
each process step, iteration, or sprint)
Contingency planning
• Anticipation of possible problems (risk
management)

Aspects of Project Management


Progress tracking
• Regular comparison of progress against plan
• Regular modification of the plan
• Changes of scope, etc. made jointly by client
and developers
Final analysis
• Analysis of project for improvements during
next project
6
Terminology
Deliverable
• Work product that is provided to the client
(mock-up, demonstration, prototype, report,
presentation, documentation, code, etc.)
• Release of a system or subsystem to customers or
users
Milestone
• Completion of a specified set of activities (e.g.,
delivery of a deliverable, completion of a process
step)

Terminology
Activity (or Task)
• Part of a project that takes place over time (also known as a
task)
Event
• The end of a group of activities, e.g., agreement by all
parties on the budget and plan
Dependency
• An activity that cannot begin until some event is reached
Resource
• Staff time, equipment, or other limited resources required
by an activity

8
Standard Approach to Project
Management
• The scope of the project is defined early in the process
• The development is divided into tasks and milestones
• Estimates are made of the time and resources needed for
each task
• The estimates are combined to create a schedule and a
plan
• Progress is continually reviewed against the plan, perhaps
weekly
• The plan is modified by changes to scope, time, resources,
etc.
Typically the plan is managed by a separate project
management team, not by the software developers

Agile Approach to Project


Management
• Planning is divided into high level release
forecasting and low level detailed planning
• Release plans are continually modified, perhaps
daily
• Clients and developers take joint control of the
release plans and choice of sprints
• For each time-box, the team plans what it can
achieve
• The team may use Gantt charts or other planning
tools

10
Estimating the Time for an Activity
Underestimations:
• The time from almost "done" to completely
"done" is much longer than anticipated.
(Code, patches etc.)
• The distractions are not planned for. (Server
crashes, bugs.)
• Some things have to be done twice.

11

Estimating: Analysis
Example
Administrative computing department at
Dartmouth used activity graphs for the program
design and implementation phases of major
projects (plan developed after project was well-
understood).
Experience:
Elapsed time to complete projects was consistently
30% to 40% longer than predicted by model.

12
Estimating: Analysis
Analysis:
• Some tasks not anticipated (incomplete
understanding)
• Some tasks had to be redone (change of
requirements, technical changes)
• Key personnel were on many activities
(schedule conflicts)
• Non-billable hours
13

Team-based Estimating
• The team often has the best understanding of
what it can achieve in a single time-box or
sprint
• The team commits to the outcome of a sprint
• The team must have an internal schedule to
allocate tasks within a sprint

A CSE 4345 project can be thought of as a single


sprint
14
Start-up Time
On a big project, the start-up time is typically
three to six months:
• Personnel have to complete previous projects
or be recruited
• Hardware and software has to be acquired
• Staff learns new domain areas and software
• Clients may not be ready.

15

Project Planning Tools


Critical Path Method, Gantt charts, Activity bar
charts, etc.
• Build a work-plan from activity data
• Display work-plan in graphical or tabular form
Project planning software (e.g., Microsoft Project)
• Maintain a database of activities and related data
• Calculate and display schedules
• Manage progress reports

16
A Simple Gantt Chart

17

Gantt Charts
Recommended for 4345 projects

Used for small projects, single time-boxes, and sprints


• Dates run along the top (days, weeks, or months)
• Each row represents an activity. Activities may be
sequential, in parallel or overlapping
• The schedule for an activity is a horizontal bar. The left
end marks the planned beginning of the task. The right
end marks the expected end date.
• The chart is updated by filling in each activity to a
length proportional to the work accomplished
• Progress to date can be compared with the plan by
drawing a vertical line through the chart at the current
date
18
A More Complex Gantt Chart

19

Activity Graph
A group of scheduling techniques that
emphasizes dependencies

20
Example: Activity Graph for first Part of
a Distance Learning Course

21

Scheduling using Activity Graphs:


History
• PERT
– Program Evaluation and Review Technique introduced by
the U.S. Navy in 1957 to support the development of its
Polaris submarine missile program
• PERT/Time
– Activity graph with three time estimates (Shortest, most
probable, longest) on each activity to compute schedules
– Because of the difficulty of obtaining good time estimates,
usually one estimate is made and called Critical Path
Method
• PERT/Cost
– Added scheduling of resources (e.g. facilities, skilled
people, etc.)

22
Critical Path Method
• Uses an activity Graph with single time
estimate for each activity
• A standard method for managing large
construction projects
• On big projects, activity graphs with more
than 10,000 activities are common
The following slides work through the calculations in
using the critical path method for the example of
distance learning course

23

Time Estimates for Activities (in weeks)

24
Earliest Event Dates and Earliest Start
Dates
• Earliest Start Date: the earliest date that it is possible
to start an activity
• Earliest Event Date: the date that all the activities
ending at the node will be completed, assuming that
every activity begins at its earliest start date
• Earliest project completion Date: the date on which the
project is completed assuming that every activity
begins on its earliest start date
• These calculations all depend on the dependencies
represented by the activity graph and the accuracy of
the estimates of the time to carry out the individual
tasks

25

Earliest Event Dates and Earliest Start


Dates

26
Latest Event Dates and Latest Start
Dates
• Latest Start Date: the latest date that is
possible to start an activity and still complete
the project by the earliest project completion
date
• Latest Event Date: the latest date that all the
activities ending at that node must be
completed in order to complete the project by
the earliest project completion date

27

Latest Event Dates and Latest Start


Dates

28
Critical Path

29

Slack

30
Slack and Critical Path
• Slack: the difference between the latest start date and the
earliest start date of an activity
• Slack = (latest event)end - (earliest event)begin - (time estimate)
• Critical path: a path through the graph where every activity
has zero slack
• If an activity on the critical path is not started on its earliest
start date or takes longer than the predicted time to
complete, then the project completion date is delayed.
• The earlier that a problem is known, the easier it is to fix.
• Example: Purchase key item of equipment earlier than
anticipated.

31

Adding Resources to Activity Graph or


Gantt Chart
• Each activity is labeled with resources, e.g.,
– Number of people (e.g., 2 Java programmers)
– Key personnel (e.g., chief system architect)
– Equipment (e.g., 3 servers with specified software)
– Facilities (e.g., video conference center)
• Each resource is labeled with availability, e.g.,
– Hiring and training
– Vacations
– Equipment availability

32
The Project Manager
• Create and maintain the schedule
• Track progress against schedule
• Keep some slack in the schedule (minimize risk)
• Continually make adjustments:
– Start activities before previous activity complete
– Sub-contract activities
– Renegotiate deliverables
• Keep senior management informed (visibility).
The project manager needs the support of the head of
the development team and the confidence of the team
members.

33

You might also like