SlideShare a Scribd company logo
1 of 31
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT1
MANAGING SOFTWAREMANAGING SOFTWARE
DEVELOPMENTDEVELOPMENT
MANAGING SOFTWAREMANAGING SOFTWARE
DEVELOPMENTDEVELOPMENT
COMP 211COMP 211
INTRODUCTION TOINTRODUCTION TO
SOFTWARE ENGINEERINGSOFTWARE ENGINEERING
COMP 211COMP 211
INTRODUCTION TOINTRODUCTION TO
SOFTWARE ENGINEERINGSOFTWARE ENGINEERING
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT2
MANAGING SOFTWARE DEVELOPMENT —MANAGING SOFTWARE DEVELOPMENT —
THE CHALLENGETHE CHALLENGE
up front we need to:
come up with a plan for software development with
– incomplete knowledge (requirements, people, etc.)
– limited resources (time, money, skills, etc.)
decide
– what features are required – tasks to be done
– whether to build or buy – effort to be expended
– what resources are required – schedule to follow
– what are the risks – what development tools to use...
continuous process: “plan the work” and “work the plan”
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT3
THE SOFTWARE DEVELOPMENT PLAN (SDP)THE SOFTWARE DEVELOPMENT PLAN (SDP)
the SDP documents exactly how the project will be managed
it defines the project
first need to define the scope of the development
– define the problem → agree on what constitutes success
– analyze the requirements → so you can make sizing estimates
– prepare a top-level package diagram → overall view of the system
– estimate the time and effort needed to deliver the product
input needed from:
– development manager → project organization, WBS, budget
– experienced system architect → top-level package diagram,
project sizing
– expert user or domain expert → requirements understanding
outcome is a go/no-go decision
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT5
DELIVERABLESDELIVERABLES
Customer products → given to the customer
– executable code – tutorials
– user manuals – examples
– help files – templates
– installation scripts – developer manuals
– installation manuals – license managers
Process artifacts → outcomes of the development process
– use-case databases – requirements, analysis, design specs
– object design files – source code
Internal deliverables → of value to organization beyond this project
– source code libraries – make files
– test libraries – problem report database
Services → additional deliverables for the customer
– training – on-site support
– consulting – customization
– installation
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT6
DEVELOPMENT ENVIRONMENTDEVELOPMENT ENVIRONMENT
need to choose hardware and software development tools
appropriate for the project
development tools development process≠
tools are effective only if they make well-understood processes
more efficient
in choosing a development support tool evaluate:
– support of the lifecycle: UML; management oversight and control;
architectural control; collaboration support;
developer efficiency; library integration;
documentation support
– risk of adoption to both cost and schedule:
external cost; internal cost; time loss;
product instability; investment protection
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT7
SIZE AND EFFORT ESTIMATESSIZE AND EFFORT ESTIMATES
EstimatingEstimating:: trying to quantify something before it occursEstimatingEstimating:: trying to quantify something before it occurs
we usually need to estimate:
– size – effort – duration
– productivity – development cost
based on:
– experience – historical data – courage!
which is facilitated if we:
– establish project scope in advance
– use software metrics from past projects
– divide and conquer
estimating carries inherent risk
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT8
SOFTWARE METRICS FOR ESTIMATINGSOFTWARE METRICS FOR ESTIMATING
We can collect many types metrics about many aspects of
software.
Question: What metrics are useful for estimating and
how can they be used for estimating?
Technical metrics
Quality metrics
Productivity metrics
Size-oriented metrics
Function-oriented metrics
Human-oriented metrics
Productivity metrics
Size-oriented metrics
Function-oriented metrics
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT10
SIZE-ORIENTED METRICSSIZE-ORIENTED METRICS
and use it to calculate:
Productivity = KLOC/effort Quality = errors/KLOC
Cost = $K/KLOC Documentation = pages/KLOC
project effort $K KLOC pages errors people
A 24 168 12.1 365 29 3
B 62 440 27.2 1224 86 5
C 43 314 20.2 1050 54 6
We collect:
What is the problem with this approach?
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT11
FUNCTION-ORIENTED METRICSFUNCTION-ORIENTED METRICS
FP = count-total * [0.65 + 0.01 * sum(Fi)]
Productivity = FP/effort Quality = errors/FP
Cost = $/FP Documentation = pages/FP
Weighting factor
Measurement parameter Count Simple Average Complex
Number of user inputs x 3 4 6 =
Number of user outputs x 4 5 7 =
Number of user inquiries x 3 4 6 =
Number of files x 7 10 15 =
Number of external interfaces x 5 7 10 =
Count - total
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT14
ESTIMATION METHODSESTIMATION METHODS
System/Package-level analogy
– use experience from a previous similar development
may use Delphi technique - average 3 or more estimates
Pert estimation
each expert provides a range of values, typically
– optimistic – most likely – pessimistic
expected value computed as a weighted average of optimistic
(o), most likely (m) and pessimistic (p)
E = (o + 4m + p)/6 SD = (p - o)/6
actual size between E-SD and E+SD 68% of the time
SD is a measure of schedule and budget risk
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT15
ESTIMATION METHODS (cont’d)ESTIMATION METHODS (cont’d)
Parametric models
use parametric formulas empirically derived from a limited
sample of projects to predict effort, project duration, etc.
static single-variable models (e.g., COCOMO)
Resource = c1 x (estimated characteristic)C2
static multi-variable models
Resource = c11e1 + c12e2 + ...
dynamic multi-variable models (e.g., Putnam)
– estimates resource requirements as a function of time
c - empirically derived constants e - ith
software characteristic
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT16
COCOMO—COCOMO—COCONSTRUCTIVENSTRUCTIVE COCOSTST MOMODELDEL
Model 1 - Basic COCOMO
E = ab(KLOC)**(bb) effort in person-month
D = cb(E)**(db) development time in months
Software project ab bb cb db
Organic 2.4 1.05 2.5 0.38
Semi-detached 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32
organic – relatively small, simple software projects, non-rigid requirements
small teams with good application experience
semi-detached – an intermediate project;
teams with mixed experience levels;
must meet a mix of rigid and less rigid requirements
embedded – project must meet set of tight hardware, software and
operational constraints
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT17
COCOMO—COCOMO—COCONSTRUCTIVENSTRUCTIVE COCOSTST MOMODELDEL
Model 2 - Intermediate COCOMO
E = ai(KLOC)**bi x EAF effort in person-month
Software project ai bi
Organic 3.2 1.05
Semi-detached 3.0 1.12
Embedded 2.8 1.20
Model 3 - Advanced COCOMO
– Model 2 plus an assessment of each cost driver’s impact on each
step of the software engineering process
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT19
PUTNAM ESTIMATION MODELPUTNAM ESTIMATION MODEL
E = L3
Ck
3
td
4
L = LOC
Ck = state-of-technology constant
td = development time in years
Requirements Analysis & Design Implementation Operation & Maintenance
Coding
Test & validation
Installation
Time →
Manpower(person/year)→
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT20
ESTIMATION — FINAL THOUGHTSESTIMATION — FINAL THOUGHTS
incomplete and imprecise requirements hinder accurate cost
estimation
under uncertainty, develop resource requirements incrementally
a cost estimation model is doing well if it can estimate software
development costs within 20% of actual costs, 70% of the time
on its “own turf”
always perform estimation in more than one way and do cross-
checks on your results
essential to have experienced developers do estimating
automated tools can help
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT21
RISK PLANNINGRISK PLANNING
If you do not actively attack risks, they will actively
attack you!
T. Gilb
If you do not actively attack risks, they will actively
attack you!
T. Gilb
try to:
– determine what can go wrong, before it happens
– determine its impact
– determine the likelihood that it could happen
– develop cost-effective contingency plans (what to do if it happens)
the ability to do this well is one of the important qualities of a good
manager
related to preventive management (i.e., determine the risk and
execute preventive action before the problem can take place)
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT22
RISK ANALYSISRISK ANALYSIS
Risk is one of the few certainties of
life!
Risk is one of the few certainties of
life!
project risks
– budget, schedule, personnel, resource, customer, requirements
problems, …
technical risks
– design, implementation, interfacing, testing, maintenance, …
business risks
– no market, no need, sales force can’t sell, no management
support, ...
it is important to identify all the risks that we can
use a risk checklist
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT23
RISK PROJECTION (ESTIMATION)RISK PROJECTION (ESTIMATION)
likelihood (li) of the risk (ri)
– establish a scale → Boolean, subjective, probabilities
consequences and impact (xi) of the risk
– its nature → what is likely to happen
– its scope → what is likely to be affected and to what degree
– its timing → when and duration
accuracy of projection
– basis for likelihood and impact
prioritize risks
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT24
RISK ASSESSMENTRISK ASSESSMENT
for each risk identified attempt to define the referent point
– project will be terminated above referent point
try to avoid/manage risks which could lead to project termination
Projected cost overrun
Projectedscheduleoverrun Project termination
will occur in this
region
referent point
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT25
RISK MANAGEMENT AND MONITORINGRISK MANAGEMENT AND MONITORING
Example: ri=high staff turnover li=0.7
xi=“increase duration by 15% and overall cost by 12%”
What steps can be taken to mitigate this risk?
“If you know the enemy and you know yourself, you
need not fear the result of a hundred battles.”
The Art of War, Sun Tzu
“If you know the enemy and you know yourself, you
need not fear the result of a hundred battles.”
The Art of War, Sun Tzu
need to perform cost/benefit analysis of countermeasures
Do they cost more than the consequences
of the risk itself?
apply 80:20 rule: 80% of all project risk is accounted for by
20% of identified risks
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT26
WORK BREAKDOWN STRUCTURE (WBS)WORK BREAKDOWN STRUCTURE (WBS)
breaks the project into tasks, sub-tasks, … → divide and
conquer
– usually shown in a tree structure
– identify all the activities/tasks required to complete the project
– estimate resources required for each leaf node and then “roll-up” to
get estimate for the entire project
– used in both budgets (cost of task) and schedules (time to do task)
WBS should allow each task to be:
– easily planned → has a well-defined start and end
– easily assigned → to individuals/teams
– tracked → can monitor progress and know who is working on it
– budgeted → has an associated cost
– of the right granularity → not too small and not too large
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT28
SCHEDULESSCHEDULES
need to determine schedule items and when they happen
– task ordering → dependencies (sequential, parallel)
– time estimates for each task → start time, duration (range?)
– resource assignment → people, hardware, software
– milestones → important management decision points
– deliverables → specifications, documents, code, etc.
– critical path → chain of tasks which determine project duration
prioritize by risk, criticality, resource utilization
usually three levels of schedule needed:
– master schedule → for communicating with management, customer
– macroschedule → for day-to-day management of project
– microschedule → for team management
Gantt and PERT charts commonly used
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT29
SCHEDULES — GANTT CHART EXAMPLESCHEDULES — GANTT CHART EXAMPLE
Task
Prepare project plan
Capture Requirements
Build System Prototype
Database Design
Implementation
Testing and Evaluation
Deployment
Post Project Review
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
WeekCurrent Week
Incomplete Task
Partially Complete Task
Completed Task
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT30
SCHEDULES — PERT CHART EXAMPLESCHEDULES — PERT CHART EXAMPLE
4
A B
C
D E
F
G H
1 3
4
5 9
10
2 1
critical path 7
1 2 3 5 6 8 9
overall schedule depends on critical path
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT32
STAFFING AND ORGANIZATIONSTAFFING AND ORGANIZATION
create a (hierarchical) project organization chart that:
– identifies project roles and responsibilities
– plans the number of staff in each role
– establishes product teams as needed
interdisciplinary teams to coordinate certain efforts
team organization should:
– be modular to limit communication and complexity of interaction
– invest each team member with a clear sense of ownership
this implies that:
– teams should be formed to “own” the design and implementation of
one or more packages
– classes should be assigned to individuals for design and
implementation
– owners (leads) should be identified for packages and the system
achieving right level of communication is key to success
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT33
TIME-PHASED BUDGETTIME-PHASED BUDGET
a time-phased budget details
– when the project’s budget is planned to be spent
– what is expected to have been accomplished at each level of
expenditure
manpower will likely be your major cost
– to each WBS item assign costs based on duration, staffing level,
and cost for each type of staff
BUT, don’t forget other costs!
– travel – software licenses
– hardware – etc.
– plus some reserve (between 10-15%)
track your spending!
– compare planned and actual money spent against planned and
actual completion monthly
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT34
METRICS PLANMETRICS PLAN
for purposes of project management we need to:
– identify which development metrics to collect
– provide a plan for how to collect each of them
– describe procedures and tools the will be used to collect them
project management metrics are usually related to size:
– number of use cases
– number of classes
– lines of source code
compare planned sizes with current sizes to determine:
– progress: how much of the planned development is in place
– stability: how much change has there been in project requirements
and change estimates
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT35
PROJECT TRACKING AND CONTROLPROJECT TRACKING AND CONTROL
““software projects fall behind schedule one day at asoftware projects fall behind schedule one day at a
timetime””
““software projects fall behind schedule one day at asoftware projects fall behind schedule one day at a
timetime””
need to have constant, consistent, inoffensive monitoring of
project activities
primary purpose is to make sure the project is
meeting the budget and schedule
change is nearly inevitable despite best efforts to minimize it
key is to handle it in a controlled manner → SCM
““Adding manpower to a late software project makes itAdding manpower to a late software project makes it
later.”later.”
Frederick P. Brooks The Mythical Man-Month
““Adding manpower to a late software project makes itAdding manpower to a late software project makes it
later.”later.”
Frederick P. Brooks The Mythical Man-Month
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT36
METHODS OF PROJECT TRACKING & CONTROLMETHODS OF PROJECT TRACKING & CONTROL
project status meetings → weekly, monthly
doing project reviews and evaluating the results of each review
check if milestones are accomplished as planned
compare actual budget with planned budget and actual start
dates with planned start dates for activities
informal chats with project staff
if slipping
– diagnose and recover as best you can: reorganize, change
schedule, etc.
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT37
PROJECT TRACKING & CONTROL – FINAL THOUGHTSPROJECT TRACKING & CONTROL – FINAL THOUGHTS
need to identify what tasks in the WBS need to be done by when
and by who, AHEAD OF TIME
its the only way to know what you are doing and what else can
be changed (reordered) to try to stay on track
even if the schedule changes, you should identify why first and
incorporate knowledge into measurements for next time
a schedule slip is not good, but understandable, if you know why
it happened
BUT, missed deadlines with no schedule or knowledge of why
things are happening that way is INCOMPETENCE
COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT38
MANAGING SOFTWARE DEVELOPMENT SUMMARYMANAGING SOFTWARE DEVELOPMENT SUMMARY
“Manage the process, don’t let the process manage
you.”
Khoa Nguyen, CEO Videoserver

More Related Content

What's hot

software project management Assumption about conventional model
software project management Assumption about conventional modelsoftware project management Assumption about conventional model
software project management Assumption about conventional modelREHMAT ULLAH
 
Build an integrated master plan and integrated master
Build an integrated master plan and integrated masterBuild an integrated master plan and integrated master
Build an integrated master plan and integrated masterGlen Alleman
 
Integrated Master Schedule
Integrated Master ScheduleIntegrated Master Schedule
Integrated Master Scheduleellefsonj
 
Presentation SBM 1300 – Nathalia Atademos de Oliveira - Rev. 3
Presentation SBM 1300 – Nathalia Atademos de Oliveira - Rev. 3Presentation SBM 1300 – Nathalia Atademos de Oliveira - Rev. 3
Presentation SBM 1300 – Nathalia Atademos de Oliveira - Rev. 3Nathalia Atademos
 
Performance based management in a nut shell (v5)
Performance based management in a nut shell (v5)Performance based management in a nut shell (v5)
Performance based management in a nut shell (v5)Glen Alleman
 
Earned value, XP and government contracts
Earned value, XP and government contractsEarned value, XP and government contracts
Earned value, XP and government contractsGlen Alleman
 
A Gentle Introduction to the IMP/IMS
A Gentle Introduction to the IMP/IMSA Gentle Introduction to the IMP/IMS
A Gentle Introduction to the IMP/IMSGlen Alleman
 
Agile project management is systems management
Agile project management is systems managementAgile project management is systems management
Agile project management is systems managementGlen Alleman
 
Software Project Managment
Software Project ManagmentSoftware Project Managment
Software Project ManagmentSaqib Naveed
 
Lect1 intro to software project management
Lect1 intro to software project managementLect1 intro to software project management
Lect1 intro to software project managementmeena466141
 
Technical Performance Measures
Technical Performance MeasuresTechnical Performance Measures
Technical Performance MeasuresGlen Alleman
 
Implementing Technical Performance Measures
Implementing Technical Performance MeasuresImplementing Technical Performance Measures
Implementing Technical Performance MeasuresGlen Alleman
 
Integrated Master Plan Development
Integrated Master Plan DevelopmentIntegrated Master Plan Development
Integrated Master Plan DevelopmentGlen Alleman
 

What's hot (19)

software project management Assumption about conventional model
software project management Assumption about conventional modelsoftware project management Assumption about conventional model
software project management Assumption about conventional model
 
Build an integrated master plan and integrated master
Build an integrated master plan and integrated masterBuild an integrated master plan and integrated master
Build an integrated master plan and integrated master
 
Unit 2 spm
Unit 2 spmUnit 2 spm
Unit 2 spm
 
Integrated Master Schedule
Integrated Master ScheduleIntegrated Master Schedule
Integrated Master Schedule
 
Presentation SBM 1300 – Nathalia Atademos de Oliveira - Rev. 3
Presentation SBM 1300 – Nathalia Atademos de Oliveira - Rev. 3Presentation SBM 1300 – Nathalia Atademos de Oliveira - Rev. 3
Presentation SBM 1300 – Nathalia Atademos de Oliveira - Rev. 3
 
Modern Project Management - Overview
Modern Project Management - OverviewModern Project Management - Overview
Modern Project Management - Overview
 
Performance based management in a nut shell (v5)
Performance based management in a nut shell (v5)Performance based management in a nut shell (v5)
Performance based management in a nut shell (v5)
 
San se unit
San se unitSan se unit
San se unit
 
Pmp Final Review - M Maged
Pmp Final Review - M MagedPmp Final Review - M Maged
Pmp Final Review - M Maged
 
Earned value, XP and government contracts
Earned value, XP and government contractsEarned value, XP and government contracts
Earned value, XP and government contracts
 
A Gentle Introduction to the IMP/IMS
A Gentle Introduction to the IMP/IMSA Gentle Introduction to the IMP/IMS
A Gentle Introduction to the IMP/IMS
 
Agile project management is systems management
Agile project management is systems managementAgile project management is systems management
Agile project management is systems management
 
Software Project Managment
Software Project ManagmentSoftware Project Managment
Software Project Managment
 
Lect1 intro to software project management
Lect1 intro to software project managementLect1 intro to software project management
Lect1 intro to software project management
 
Og0 091 ass2
Og0 091 ass2Og0 091 ass2
Og0 091 ass2
 
Spm unit 2
Spm unit 2Spm unit 2
Spm unit 2
 
Technical Performance Measures
Technical Performance MeasuresTechnical Performance Measures
Technical Performance Measures
 
Implementing Technical Performance Measures
Implementing Technical Performance MeasuresImplementing Technical Performance Measures
Implementing Technical Performance Measures
 
Integrated Master Plan Development
Integrated Master Plan DevelopmentIntegrated Master Plan Development
Integrated Master Plan Development
 

Similar to Proj mgmt complete)

SE_Module1new.ppt
SE_Module1new.pptSE_Module1new.ppt
SE_Module1new.pptADARSHN40
 
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsSe 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsbabak danyal
 
Chapter 3- Software Project Management(Reduced).ppt
Chapter 3- Software Project Management(Reduced).pptChapter 3- Software Project Management(Reduced).ppt
Chapter 3- Software Project Management(Reduced).pptpayelguria1
 
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...SohamChatterjee47
 
Lecture 9 (02-06-2011)
Lecture 9 (02-06-2011)Lecture 9 (02-06-2011)
Lecture 9 (02-06-2011)love7love
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software managementmeena466141
 
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDpptunit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDpptWrushabhShirsat3
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5SIMONTHOMAS S
 
3wis_2.pdf
3wis_2.pdf3wis_2.pdf
3wis_2.pdfaustdali
 
COCOMO methods for software size estimation
COCOMO methods for software size estimationCOCOMO methods for software size estimation
COCOMO methods for software size estimationPramod Parajuli
 
The software management and engineering in the AI-oriented projects tutorial
The software management and engineering in the AI-oriented projects tutorialThe software management and engineering in the AI-oriented projects tutorial
The software management and engineering in the AI-oriented projects tutorialrpietruszkiewicz
 
Elico Solutions' Odoo ERP Project Management Implementation Approach
Elico Solutions' Odoo ERP Project Management Implementation ApproachElico Solutions' Odoo ERP Project Management Implementation Approach
Elico Solutions' Odoo ERP Project Management Implementation ApproachElico Solutions Singapore
 
Aligning Product and Software Design
Aligning Product and Software DesignAligning Product and Software Design
Aligning Product and Software DesignSandro Mancuso
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710Nikhil Todkar
 
Introduction To Software Engineering
 Introduction To Software Engineering Introduction To Software Engineering
Introduction To Software EngineeringMohsinAli773
 
3. Lect 29_ 30_ 32 Project Planning.pptx
3. Lect 29_ 30_ 32 Project Planning.pptx3. Lect 29_ 30_ 32 Project Planning.pptx
3. Lect 29_ 30_ 32 Project Planning.pptxAbhishekKumar66407
 

Similar to Proj mgmt complete) (20)

SE_Module1new.ppt
SE_Module1new.pptSE_Module1new.ppt
SE_Module1new.ppt
 
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsSe 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
 
Chapter 2.ppt
Chapter 2.pptChapter 2.ppt
Chapter 2.ppt
 
Spm unit1
Spm unit1Spm unit1
Spm unit1
 
Chapter 3- Software Project Management(Reduced).ppt
Chapter 3- Software Project Management(Reduced).pptChapter 3- Software Project Management(Reduced).ppt
Chapter 3- Software Project Management(Reduced).ppt
 
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
 
Lecture 9 (02-06-2011)
Lecture 9 (02-06-2011)Lecture 9 (02-06-2011)
Lecture 9 (02-06-2011)
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
 
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDpptunit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
 
3wis_2.pdf
3wis_2.pdf3wis_2.pdf
3wis_2.pdf
 
COCOMO methods for software size estimation
COCOMO methods for software size estimationCOCOMO methods for software size estimation
COCOMO methods for software size estimation
 
The software management and engineering in the AI-oriented projects tutorial
The software management and engineering in the AI-oriented projects tutorialThe software management and engineering in the AI-oriented projects tutorial
The software management and engineering in the AI-oriented projects tutorial
 
Elico Solutions' Odoo ERP Project Management Implementation Approach
Elico Solutions' Odoo ERP Project Management Implementation ApproachElico Solutions' Odoo ERP Project Management Implementation Approach
Elico Solutions' Odoo ERP Project Management Implementation Approach
 
LECT9.ppt
LECT9.pptLECT9.ppt
LECT9.ppt
 
Aligning Product and Software Design
Aligning Product and Software DesignAligning Product and Software Design
Aligning Product and Software Design
 
Risk management
Risk managementRisk management
Risk management
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 
Introduction To Software Engineering
 Introduction To Software Engineering Introduction To Software Engineering
Introduction To Software Engineering
 
3. Lect 29_ 30_ 32 Project Planning.pptx
3. Lect 29_ 30_ 32 Project Planning.pptx3. Lect 29_ 30_ 32 Project Planning.pptx
3. Lect 29_ 30_ 32 Project Planning.pptx
 

More from Noor Ul Hudda Memon

More from Noor Ul Hudda Memon (13)

The Perceptron and its Learning Rule
The Perceptron and its Learning RuleThe Perceptron and its Learning Rule
The Perceptron and its Learning Rule
 
Neuro Linguistic Programming (artificial intelligence)
Neuro Linguistic Programming (artificial intelligence)Neuro Linguistic Programming (artificial intelligence)
Neuro Linguistic Programming (artificial intelligence)
 
(Ch#1) artificial intelligence
(Ch#1) artificial intelligence(Ch#1) artificial intelligence
(Ch#1) artificial intelligence
 
Sqa lec. 07
Sqa lec. 07Sqa lec. 07
Sqa lec. 07
 
Software estimation models ii lec .05
Software estimation models ii lec .05Software estimation models ii lec .05
Software estimation models ii lec .05
 
Se notes
Se notesSe notes
Se notes
 
Risk management lec. 06
Risk management lec. 06Risk management lec. 06
Risk management lec. 06
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 
Ch04 agile development models
Ch04 agile development modelsCh04 agile development models
Ch04 agile development models
 
Ch03 process models
Ch03 process modelsCh03 process models
Ch03 process models
 
Agiel sw development
Agiel sw developmentAgiel sw development
Agiel sw development
 
Voice controlled robot ppt
Voice controlled robot pptVoice controlled robot ppt
Voice controlled robot ppt
 
bgp(border gateway protocol)
bgp(border gateway protocol)bgp(border gateway protocol)
bgp(border gateway protocol)
 

Recently uploaded

Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 

Recently uploaded (20)

Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 

Proj mgmt complete)

  • 1. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT1 MANAGING SOFTWAREMANAGING SOFTWARE DEVELOPMENTDEVELOPMENT MANAGING SOFTWAREMANAGING SOFTWARE DEVELOPMENTDEVELOPMENT COMP 211COMP 211 INTRODUCTION TOINTRODUCTION TO SOFTWARE ENGINEERINGSOFTWARE ENGINEERING COMP 211COMP 211 INTRODUCTION TOINTRODUCTION TO SOFTWARE ENGINEERINGSOFTWARE ENGINEERING
  • 2. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT2 MANAGING SOFTWARE DEVELOPMENT —MANAGING SOFTWARE DEVELOPMENT — THE CHALLENGETHE CHALLENGE up front we need to: come up with a plan for software development with – incomplete knowledge (requirements, people, etc.) – limited resources (time, money, skills, etc.) decide – what features are required – tasks to be done – whether to build or buy – effort to be expended – what resources are required – schedule to follow – what are the risks – what development tools to use... continuous process: “plan the work” and “work the plan”
  • 3. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT3 THE SOFTWARE DEVELOPMENT PLAN (SDP)THE SOFTWARE DEVELOPMENT PLAN (SDP) the SDP documents exactly how the project will be managed it defines the project first need to define the scope of the development – define the problem → agree on what constitutes success – analyze the requirements → so you can make sizing estimates – prepare a top-level package diagram → overall view of the system – estimate the time and effort needed to deliver the product input needed from: – development manager → project organization, WBS, budget – experienced system architect → top-level package diagram, project sizing – expert user or domain expert → requirements understanding outcome is a go/no-go decision
  • 4. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT5 DELIVERABLESDELIVERABLES Customer products → given to the customer – executable code – tutorials – user manuals – examples – help files – templates – installation scripts – developer manuals – installation manuals – license managers Process artifacts → outcomes of the development process – use-case databases – requirements, analysis, design specs – object design files – source code Internal deliverables → of value to organization beyond this project – source code libraries – make files – test libraries – problem report database Services → additional deliverables for the customer – training – on-site support – consulting – customization – installation
  • 5. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT6 DEVELOPMENT ENVIRONMENTDEVELOPMENT ENVIRONMENT need to choose hardware and software development tools appropriate for the project development tools development process≠ tools are effective only if they make well-understood processes more efficient in choosing a development support tool evaluate: – support of the lifecycle: UML; management oversight and control; architectural control; collaboration support; developer efficiency; library integration; documentation support – risk of adoption to both cost and schedule: external cost; internal cost; time loss; product instability; investment protection
  • 6. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT7 SIZE AND EFFORT ESTIMATESSIZE AND EFFORT ESTIMATES EstimatingEstimating:: trying to quantify something before it occursEstimatingEstimating:: trying to quantify something before it occurs we usually need to estimate: – size – effort – duration – productivity – development cost based on: – experience – historical data – courage! which is facilitated if we: – establish project scope in advance – use software metrics from past projects – divide and conquer estimating carries inherent risk
  • 7. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT8 SOFTWARE METRICS FOR ESTIMATINGSOFTWARE METRICS FOR ESTIMATING We can collect many types metrics about many aspects of software. Question: What metrics are useful for estimating and how can they be used for estimating? Technical metrics Quality metrics Productivity metrics Size-oriented metrics Function-oriented metrics Human-oriented metrics Productivity metrics Size-oriented metrics Function-oriented metrics
  • 8. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT10 SIZE-ORIENTED METRICSSIZE-ORIENTED METRICS and use it to calculate: Productivity = KLOC/effort Quality = errors/KLOC Cost = $K/KLOC Documentation = pages/KLOC project effort $K KLOC pages errors people A 24 168 12.1 365 29 3 B 62 440 27.2 1224 86 5 C 43 314 20.2 1050 54 6 We collect: What is the problem with this approach?
  • 9. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT11 FUNCTION-ORIENTED METRICSFUNCTION-ORIENTED METRICS FP = count-total * [0.65 + 0.01 * sum(Fi)] Productivity = FP/effort Quality = errors/FP Cost = $/FP Documentation = pages/FP Weighting factor Measurement parameter Count Simple Average Complex Number of user inputs x 3 4 6 = Number of user outputs x 4 5 7 = Number of user inquiries x 3 4 6 = Number of files x 7 10 15 = Number of external interfaces x 5 7 10 = Count - total
  • 10. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT14 ESTIMATION METHODSESTIMATION METHODS System/Package-level analogy – use experience from a previous similar development may use Delphi technique - average 3 or more estimates Pert estimation each expert provides a range of values, typically – optimistic – most likely – pessimistic expected value computed as a weighted average of optimistic (o), most likely (m) and pessimistic (p) E = (o + 4m + p)/6 SD = (p - o)/6 actual size between E-SD and E+SD 68% of the time SD is a measure of schedule and budget risk
  • 11. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT15 ESTIMATION METHODS (cont’d)ESTIMATION METHODS (cont’d) Parametric models use parametric formulas empirically derived from a limited sample of projects to predict effort, project duration, etc. static single-variable models (e.g., COCOMO) Resource = c1 x (estimated characteristic)C2 static multi-variable models Resource = c11e1 + c12e2 + ... dynamic multi-variable models (e.g., Putnam) – estimates resource requirements as a function of time c - empirically derived constants e - ith software characteristic
  • 12. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT16 COCOMO—COCOMO—COCONSTRUCTIVENSTRUCTIVE COCOSTST MOMODELDEL Model 1 - Basic COCOMO E = ab(KLOC)**(bb) effort in person-month D = cb(E)**(db) development time in months Software project ab bb cb db Organic 2.4 1.05 2.5 0.38 Semi-detached 3.0 1.12 2.5 0.35 Embedded 3.6 1.20 2.5 0.32 organic – relatively small, simple software projects, non-rigid requirements small teams with good application experience semi-detached – an intermediate project; teams with mixed experience levels; must meet a mix of rigid and less rigid requirements embedded – project must meet set of tight hardware, software and operational constraints
  • 13. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT17 COCOMO—COCOMO—COCONSTRUCTIVENSTRUCTIVE COCOSTST MOMODELDEL Model 2 - Intermediate COCOMO E = ai(KLOC)**bi x EAF effort in person-month Software project ai bi Organic 3.2 1.05 Semi-detached 3.0 1.12 Embedded 2.8 1.20 Model 3 - Advanced COCOMO – Model 2 plus an assessment of each cost driver’s impact on each step of the software engineering process
  • 14. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT19 PUTNAM ESTIMATION MODELPUTNAM ESTIMATION MODEL E = L3 Ck 3 td 4 L = LOC Ck = state-of-technology constant td = development time in years Requirements Analysis & Design Implementation Operation & Maintenance Coding Test & validation Installation Time → Manpower(person/year)→
  • 15. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT20 ESTIMATION — FINAL THOUGHTSESTIMATION — FINAL THOUGHTS incomplete and imprecise requirements hinder accurate cost estimation under uncertainty, develop resource requirements incrementally a cost estimation model is doing well if it can estimate software development costs within 20% of actual costs, 70% of the time on its “own turf” always perform estimation in more than one way and do cross- checks on your results essential to have experienced developers do estimating automated tools can help
  • 16. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT21 RISK PLANNINGRISK PLANNING If you do not actively attack risks, they will actively attack you! T. Gilb If you do not actively attack risks, they will actively attack you! T. Gilb try to: – determine what can go wrong, before it happens – determine its impact – determine the likelihood that it could happen – develop cost-effective contingency plans (what to do if it happens) the ability to do this well is one of the important qualities of a good manager related to preventive management (i.e., determine the risk and execute preventive action before the problem can take place)
  • 17. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT22 RISK ANALYSISRISK ANALYSIS Risk is one of the few certainties of life! Risk is one of the few certainties of life! project risks – budget, schedule, personnel, resource, customer, requirements problems, … technical risks – design, implementation, interfacing, testing, maintenance, … business risks – no market, no need, sales force can’t sell, no management support, ... it is important to identify all the risks that we can use a risk checklist
  • 18. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT23 RISK PROJECTION (ESTIMATION)RISK PROJECTION (ESTIMATION) likelihood (li) of the risk (ri) – establish a scale → Boolean, subjective, probabilities consequences and impact (xi) of the risk – its nature → what is likely to happen – its scope → what is likely to be affected and to what degree – its timing → when and duration accuracy of projection – basis for likelihood and impact prioritize risks
  • 19. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT24 RISK ASSESSMENTRISK ASSESSMENT for each risk identified attempt to define the referent point – project will be terminated above referent point try to avoid/manage risks which could lead to project termination Projected cost overrun Projectedscheduleoverrun Project termination will occur in this region referent point
  • 20. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT25 RISK MANAGEMENT AND MONITORINGRISK MANAGEMENT AND MONITORING Example: ri=high staff turnover li=0.7 xi=“increase duration by 15% and overall cost by 12%” What steps can be taken to mitigate this risk? “If you know the enemy and you know yourself, you need not fear the result of a hundred battles.” The Art of War, Sun Tzu “If you know the enemy and you know yourself, you need not fear the result of a hundred battles.” The Art of War, Sun Tzu need to perform cost/benefit analysis of countermeasures Do they cost more than the consequences of the risk itself? apply 80:20 rule: 80% of all project risk is accounted for by 20% of identified risks
  • 21. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT26 WORK BREAKDOWN STRUCTURE (WBS)WORK BREAKDOWN STRUCTURE (WBS) breaks the project into tasks, sub-tasks, … → divide and conquer – usually shown in a tree structure – identify all the activities/tasks required to complete the project – estimate resources required for each leaf node and then “roll-up” to get estimate for the entire project – used in both budgets (cost of task) and schedules (time to do task) WBS should allow each task to be: – easily planned → has a well-defined start and end – easily assigned → to individuals/teams – tracked → can monitor progress and know who is working on it – budgeted → has an associated cost – of the right granularity → not too small and not too large
  • 22. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT28 SCHEDULESSCHEDULES need to determine schedule items and when they happen – task ordering → dependencies (sequential, parallel) – time estimates for each task → start time, duration (range?) – resource assignment → people, hardware, software – milestones → important management decision points – deliverables → specifications, documents, code, etc. – critical path → chain of tasks which determine project duration prioritize by risk, criticality, resource utilization usually three levels of schedule needed: – master schedule → for communicating with management, customer – macroschedule → for day-to-day management of project – microschedule → for team management Gantt and PERT charts commonly used
  • 23. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT29 SCHEDULES — GANTT CHART EXAMPLESCHEDULES — GANTT CHART EXAMPLE Task Prepare project plan Capture Requirements Build System Prototype Database Design Implementation Testing and Evaluation Deployment Post Project Review 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 WeekCurrent Week Incomplete Task Partially Complete Task Completed Task
  • 24. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT30 SCHEDULES — PERT CHART EXAMPLESCHEDULES — PERT CHART EXAMPLE 4 A B C D E F G H 1 3 4 5 9 10 2 1 critical path 7 1 2 3 5 6 8 9 overall schedule depends on critical path
  • 25. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT32 STAFFING AND ORGANIZATIONSTAFFING AND ORGANIZATION create a (hierarchical) project organization chart that: – identifies project roles and responsibilities – plans the number of staff in each role – establishes product teams as needed interdisciplinary teams to coordinate certain efforts team organization should: – be modular to limit communication and complexity of interaction – invest each team member with a clear sense of ownership this implies that: – teams should be formed to “own” the design and implementation of one or more packages – classes should be assigned to individuals for design and implementation – owners (leads) should be identified for packages and the system achieving right level of communication is key to success
  • 26. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT33 TIME-PHASED BUDGETTIME-PHASED BUDGET a time-phased budget details – when the project’s budget is planned to be spent – what is expected to have been accomplished at each level of expenditure manpower will likely be your major cost – to each WBS item assign costs based on duration, staffing level, and cost for each type of staff BUT, don’t forget other costs! – travel – software licenses – hardware – etc. – plus some reserve (between 10-15%) track your spending! – compare planned and actual money spent against planned and actual completion monthly
  • 27. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT34 METRICS PLANMETRICS PLAN for purposes of project management we need to: – identify which development metrics to collect – provide a plan for how to collect each of them – describe procedures and tools the will be used to collect them project management metrics are usually related to size: – number of use cases – number of classes – lines of source code compare planned sizes with current sizes to determine: – progress: how much of the planned development is in place – stability: how much change has there been in project requirements and change estimates
  • 28. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT35 PROJECT TRACKING AND CONTROLPROJECT TRACKING AND CONTROL ““software projects fall behind schedule one day at asoftware projects fall behind schedule one day at a timetime”” ““software projects fall behind schedule one day at asoftware projects fall behind schedule one day at a timetime”” need to have constant, consistent, inoffensive monitoring of project activities primary purpose is to make sure the project is meeting the budget and schedule change is nearly inevitable despite best efforts to minimize it key is to handle it in a controlled manner → SCM ““Adding manpower to a late software project makes itAdding manpower to a late software project makes it later.”later.” Frederick P. Brooks The Mythical Man-Month ““Adding manpower to a late software project makes itAdding manpower to a late software project makes it later.”later.” Frederick P. Brooks The Mythical Man-Month
  • 29. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT36 METHODS OF PROJECT TRACKING & CONTROLMETHODS OF PROJECT TRACKING & CONTROL project status meetings → weekly, monthly doing project reviews and evaluating the results of each review check if milestones are accomplished as planned compare actual budget with planned budget and actual start dates with planned start dates for activities informal chats with project staff if slipping – diagnose and recover as best you can: reorganize, change schedule, etc.
  • 30. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT37 PROJECT TRACKING & CONTROL – FINAL THOUGHTSPROJECT TRACKING & CONTROL – FINAL THOUGHTS need to identify what tasks in the WBS need to be done by when and by who, AHEAD OF TIME its the only way to know what you are doing and what else can be changed (reordered) to try to stay on track even if the schedule changes, you should identify why first and incorporate knowledge into measurements for next time a schedule slip is not good, but understandable, if you know why it happened BUT, missed deadlines with no schedule or knowledge of why things are happening that way is INCOMPETENCE
  • 31. COMP 211COMP 211 MANAGING DEVELOPMENTMANAGING DEVELOPMENT38 MANAGING SOFTWARE DEVELOPMENT SUMMARYMANAGING SOFTWARE DEVELOPMENT SUMMARY “Manage the process, don’t let the process manage you.” Khoa Nguyen, CEO Videoserver