Software Project Management (Chapter 13) "moved up to match the class project"

advertisement
Project Management “Process”
• Why do we need project management?
• Why can’t we just follow one of the software
development process and be left alone?
All projects – small and large – need project management
because all projects need some degree of POMA:
1. 2. 3. 4. -
Planning
Organizing
Monitoring of status
Adjustment
This process looks
sequential at the macro
level, but may be very
iterative at the micro
level
Project
Planning
Project
Organizing
Project
Monitoring
Project
Adjusting
Software Project Management (POMA) Process
Goals of Software Project Management
• End results of the project satisfy the
customer’s needs
• All the desired and the needed product/project
attributes (quality, security, productivity, cost,
schedule, etc.) are met
• Team members are operating effectively and at
a high level of morale
• Required tools and other resources are made
available and are effectively utilized
Planning (POMA)
•
The 1st step of project planning is to
understand the requirements of the project.
–
•
This step itself may be a mini-project
Then the following 4 steps are included in
the rest of project planning:
1. Perform Estimation of
a) the work effort,
b) the schedule, and
c) the needed resources
2. Clearly define and establish measurable ‘goals’
for the project
3. Determine the project resource allocations of
a)
b)
c)
d)
people,
process,
tools, and
facilities
4. Identify and analyze the project risks
Organizing (POMA)
• Once a project plan is formulated or partially
formulated, organizing may start
– Organization structure needs to be designed
– Human resource hiring needs to start and be
completed along with acquisition of other
resources
– Any required education and training have to be
completed
– Mechanisms for tracking must be established
• Risk tracking and mitigation
• Project goals (schedule, cost, market place, etc.)
Planning
Organizing
Project content and deliverables
(requirements)
Project tasks and schedule
Set up tracking mechanisms of
tasks and schedules
Project resources
Acquire, hire and prepare resources
such as people, tools and processes
Project goals and measurement
Project risks
Establish mechanism to measure
and track the goals
Establish mechanism to list, track,
and assign risk mitigation tasks
Comparing and Pairing
Planning and Organizing Activities
Monitoring (POMA)
•
Once the project is organized and set into
motion, there still needs to be regular
tracking to ensure that it is headed in the
right direction. (Projects can not be left to
coast along by itself.)
•
3 main components of project monitoring:
1. Project status information collection
2. Analysis and evaluation of collected information
3. Presentation and communication of the project
status
Pie Chart
Histogram
Pareto Diagram
Upper
limit
lower
limit
time
Time Chart
Control Chart
Kiviat Chart
Different ways of Visualization/Reporting of
Information and Project Status
Adjusting (POMA)
• It is highly unlikely that a software project
progresses with no problem. As soon as the
project status suggests potential problem,
we must not be afraid to make changes.
• 3 main areas of adjustments are (or
combinations of) :
– Resources
– Schedule
– Project content
Software Project Management Process
is not the same as
- Software Development Process or
- Software Life Cycle
Some Project Management Techniques
• Planning : Project Effort Estimation
– General view:
• Units of effort = [ a + b (size)c ] Λ Σ(factors)
where a, b, and c set of estimated constants,
size is the estimated size of the project
and factors are additional factors of concern
– Most of the estimating techniques use some form
of this general “formula”
• COCOMO I and COCOMO II models
– “Macro” project effort and elapsed time estimation
• Function Point model
– Size/Complexity estimation
pages 354-364 of your
textbook
Some Project Management Techniques
(cont.)
• Planning and Organizing: Work Breakdown
Structure
– Estimation of the complete project by
• Deliverables
• Tasks required to develop the deliverables
• Resources required to perform the tasks
Work Breakdown Structure (WBS) Steps
1.
Examine and determine the external deliverables of the project.
2.
Identify the steps and tasks required to produce each of the
deliverables, including the tasks that are required to produce any
intermediate internal deliverables
3.
Sequence the tasks, showing any potential for parallelism
4.
Provide an estimate size (e.g. loc) of each of the tasks
5.
Provide an estimate of the productivity of the personnel (e.g.
loc/person-hrs) that is most likely to be assigned to each of the
tasks
6.
Calculate the effort (person-hrs) required to accomplish each task
7.
For each of the external deliverable, lay out the timeline of all the
tasks needed to produce that deliverable and label the resources
that will be assigned to the tasks.
Task-3a
6
Task 1
12
Task 2
2
Task-3b
6
Task-3c
6
Task-4a
2
Task-4b
2
Task-4c
2
Task-5a
1
Task-5b
1
End
Task-5c
1
Example of: Task Network with Estimated per-hrs Units
Tasks
Time
Person
12 units
1
X,Y,Z
2
X,Y,Z
3a
X
6
3b
Y
6
3c
Z
6
4a
Z
2
4b
X
2
4c
Y
2
5a
X
1
5b
Y
1
5c
Z
1
2
End result of WBS = “Initial Schedule” Estimate
Some Project Management Techniques
(cont.)
• Monitoring: Earned Value
– A technique to track the project status by
comparing (at some specific time):
• How much effort has been actually expended
versus
• How much effort was planned to have been expended
Definitions for Earned Value
• Budgeted Cost of Work (BCW) : estimated effort for each of the
work tasks
• Budgeted Cost of Work Scheduled (BCWS): sum of estimated
effort of all the tasks that were planned to be completed (by a
specific date)
• Budget at Completion (BAC): estimate of the total project effort
or sum of all the BCWs
• Budgeted Cost of Work Performed (BCWP): The sum of the
estimated efforts of all the tasks that have been completed (by a
specific date)
• Actual Cost of Work Performed (ACWP): The sum of the actual
efforts of all the tasks that have been completed (by a specific
date)
• Earned Value (EV) indicates how much of the estimated work is
completed on a specific date.
EV = BCWP / BAC
Date : 4/5/2014
Work
Tasks
Estimated
Effort in
Pers-days
Actual
Effort spent
so far in
Pers-days
Estimated
Completion
date in
mm/dd/yy*
Actual
Completion
date in
mm/dd/yy*
1
10
10
2/5/14
2/5/14
2
15
25
3/15/14
3/25/14
3
30
15
4/25/14
4
25
20
5/5/14
5
15
5
5/25/14
6
20
15
6/10/14
* mm/dd/yy is month/ day/ year format
Earned Value Example
4/1/14
Note the status
checking date
Earned Value Example (cont.)
•
•
•
•
•
For work task 4, BCW is 25 person-days; for task 6, BCW is 20 persondays.
BAC is the sum of the estimated efforts for all the tasks or
BAC = (10+15+30+25+15+20 = 115 person-days)
BCWS for the date 4/5/06 is the sum of the estimated effort of all the
tasks which were schedule to be completed on or before 4/5/06 or
BCWS = ( 10 + 15 = 25 person days)
BCWP for the date 4/5/2014 is the sum of the estimated effort of all the
tasks which were actually completed on or before 4/5/06 or
BCWP = (10 + 15 + 25 = 50 person-days)
ACWP for the date 4/5/06 is the sum of the actual efforts expended for
all the tasks that have been completed on or before 4/5/06 or
ACWP = ( 10 + 25 + 20 = 55 person-days)
- EV = BCWP / BAC = 50/115 = .434 or
the project is estimated to be 43% complete as of 4/5/2014
Earned Value Example (cont.)
• There are two more measurements we look
at:
– Cost Variance = BCWP – ACWP = 50 – 55 = - 5
– Schedule Variance = BCWP - BCWS = 50 – 25 = 25
Download