SlideShare a Scribd company logo
LECTURE 5: SOFTWARE PROJECT
MANAGEMENT
Software Engineering
Mike Wooldridge
Lecture 5 Software Engineering
1 Introduction
• The “software crisis” of the 1960s and
1970s was so called because of a string of
high profile software project failures: over
budget, overdue, etc.
• The crisis arose in part because the greater
power available in computers meant that
larger software projects were tackled with
techniques developed on much smaller
projects.
• Techniques were needed for software
project management.
Good project management cannot
guarantee success, but poor management
on significant projects always leads to
failure.
Mike Wooldridge 1
Lecture 5 Software Engineering
• Software projects have several properties
that make them very different to other
kinds of engineering project.
– The product is intangible.
Its hard to claim a bridge is 90%
complete if there is not 90% of the
bridge there.
It is easy to claim that a software project
is 90% complete, even if there are no
visible outcomes.
– We don’t have much experience.
Software engineering is a new
discipline, and so we simply don’t have
much understanding of how to
engineer large scale software projects.
– Large software projects are often “bespoke”.
Most large software systems are
one-off, with experience gained in one
project being of little help in another.
– The technology changes very quickly.
Most large software projects employ
new technology; for many projects, this
is the raison d’etre.
Mike Wooldridge 2
Lecture 5 Software Engineering
• Activities in software project management:
– project planning;
– project scheduling;
– risk management;
– managing people.
Mike Wooldridge 3
Lecture 5 Software Engineering
2 Project Planning
• The biggest single problem that afflicts
software developing is that of
underestimating resources required for a
project.
• Developing a realistic project plan is
essential to gain an understanding of the
resources required, and how these should
be applied.
• Types of plan:
– Software development plan.
The central plan, which describes how
the system will be developed.
– Quality assurance plan.
Specifies the quality procedures &
standards to be used.
– Validation plan.
Defines how a client will validate the
system that has been developed.
Mike Wooldridge 4
Lecture 5 Software Engineering
– Configuration management plan.
Defines how the system will be
configured and installed.
– Maintenance plan.
Defines how the system will be
maintained.
– Staff development plan.
Describes how the skills of the
participants will be developed.
• We will focus on software development &
quality assurance plan.
Mike Wooldridge 5
Lecture 5 Software Engineering
2.1 The Software Development Plan
• This is usually what is meant by a project
plan.
• Specifies the order of work to be carried
out, resources, responsibilities, and so on.
• Varies from small and relatively informal
to large and very formal.
• Developing a project plan is as important
as properly designing code:
On the basis of a project plan, contracts will be
signed and careers made or broken...
• Important not to:
– overestimate your team’s ability;
– simply tell clients what they want to
hear;
– be pressured by developers (“we can do
that in an afternoon!”)
Mike Wooldridge 6
Lecture 5 Software Engineering
2.2 Structure of Development Plan
1. Introduction
brief intro to project — references to
requirements spec
2. Project organisation
intro to organisations, people, and their
roles
3. Risk Analysis
what are the key risks to the project?
4. Hardware and software resources
what h/ware and s/ware resources will
be required for the project and when?
5. Work breakdown
the project divided into activities,
milestones, deliverables; dependencies
between tasks etc
6. Project schedule
actual time required — allocation of dates
7. Reporting and progress measurement
mechanisms to monitor progress.
Mike Wooldridge 7
Lecture 5 Software Engineering
2.3 Work Breakdown
• There are many ways of breaking down
the activities in a project, but the most
usual is into:
– work packages;
– tasks;
– deliverables;
– milestones.
Mike Wooldridge 8
Lecture 5 Software Engineering
• A workpackage is a large, logically distinct
section of work:
– typically at least 12 months duration;
– may include multiple concurrent
activities;
– independent of other activities;
– but may depend on, or feed into other
activities;
– typically allocated to a single team.
• A task is typically a much smaller piece of
work:
A part of a workpackage.
– typically 3–6 person months effort;
– may be dependent on other concurrent
activities;
– typically allocated to a single person.
Mike Wooldridge 9
Lecture 5 Software Engineering
• A deliverable is an output of the project that
can meaningfully be assessed.
Examples:
– a report (e.g., requirements spec);
– code (e.g., alpha tested product).
Deliverables are indicators (but only
indicators) of progress.
• A milestone is a point at which progress on
the project may be assessed.
Typically a major turning point in the
project.
EXAMPLES:
– delivery of requirements spec;
– delivery of alpha tested code.
Mike Wooldridge 10
Lecture 5 Software Engineering
• Usually...
– work packages are numbered WP1,
WP2, ...;
– tasks are numbered T1.1, T1.2, etc,
the first number is the number of the
workpackage;
the second is a sequence number.
– deliverables are numbered D1.1, D1.2,
etc
– milestones are numbered M1, M2 etc.
Mike Wooldridge 11
Lecture 5 Software Engineering
• For each workpackage & task, it is usual to
document:
– brief description;
– earliest start date;
– earliest end date;
– total person months effort;
– pre-requisite WPs or tasks;
– dependent WPs or tasks;
– who is responsible.
Mike Wooldridge 12
Lecture 5 Software Engineering
2.4 Critical Paths
• The pre-requisites and dependencies of
WPs and tasks determine a critical path: the
sequence of dependencies in the project.
• The critical path is the sequence of
activities that takes the longest time to
complete.
• Any delay to an activity in the critical path
will cause delays to the overall project.
• Delays to activities not on the critical path
need not necessarily cause overall delays.
Mike Wooldridge 13
Lecture 5 Software Engineering
3 Gantt Charts & Activity Networks
• Gantt charts are a kind of bar chart:
– time plotted on x axis
– bars on y axis for each activity.
Mike Wooldridge 14
Lecture 5 Software Engineering
• An activity network is a labelled graph,
with:
– nodes corresponding to activities,
– arcs labelled with estimated times;
– activities are linked if there is a
dependency between them.
Mike Wooldridge 15
Lecture 5 Software Engineering
4 Risks
When planning a project, it is critically
important to know what the key risks are,
and is possible plan for them:
• staff turnover;
• management change;
• hardware unavailability;
• requirements change;
• specification delays;
• size underestimate;
• technology change;
• product competition.
Mike Wooldridge 16
Lecture 5 Software Engineering
5 Quality Assurance
• Many organisations make use of a quality
assurance plan, which sets out standards
to be maintained during project
development.
• – Documentation standards:
∗ what documents;
∗ format & content;
– Coding standards:
∗ class/method/variable naming
conventions;
∗ comment standards
(e.g., javadoc);
∗ testing conventions;
Mike Wooldridge 17

More Related Content

What's hot

Case Tools
Case ToolsCase Tools
Case tools
Case toolsCase tools
Case tools
Mukund Trivedi
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
SADEED AMEEN
 
Software engineering process
Software engineering processSoftware engineering process
Software engineering process
KanchanPatil34
 
Software AND its Types & CASE toolS
Software  AND     its   Types   &    CASE toolSSoftware  AND     its   Types   &    CASE toolS
Software AND its Types & CASE toolS
kashif Shafqat
 
Case tools
Case toolsCase tools
Case tools
Jeya Krishnan
 
SWE-401 - 12. Software CASE Tools Overview
SWE-401 - 12. Software CASE Tools OverviewSWE-401 - 12. Software CASE Tools Overview
SWE-401 - 12. Software CASE Tools Overview
ghayour abbas
 
Bai giang-se-16jan14
Bai giang-se-16jan14Bai giang-se-16jan14
SE chapter 4
SE chapter 4SE chapter 4
SE chapter 4
Hardik Patel
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
Carlos Gavidia-Calderon
 
Case tools
Case toolsCase tools
Case tools
Anne Badong
 
Software engineering
Software engineeringSoftware engineering
Software engineering
sweetysweety8
 
Software engineering
Software engineeringSoftware engineering
Software engineering
sweetysweety8
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
Fadhil Ismail
 
Software engineering
Software engineeringSoftware engineering
Software engineering
sakthibalabalamuruga
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
Rupesh Vaishnav
 
System Analysis And Design Management Information System
System Analysis And Design Management Information SystemSystem Analysis And Design Management Information System
System Analysis And Design Management Information System
nayanav
 
CSC426 - Software Engineering Lecture Note
CSC426   - Software Engineering Lecture NoteCSC426   - Software Engineering Lecture Note
CSC426 - Software Engineering Lecture Note
Bro Shola Ajayi
 
Bai giang-spm-11mar14
Bai giang-spm-11mar14Bai giang-spm-11mar14
Slides chapter 3
Slides chapter 3Slides chapter 3
Slides chapter 3
Priyanka Shetty
 

What's hot (20)

Case Tools
Case ToolsCase Tools
Case Tools
 
Case tools
Case toolsCase tools
Case tools
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software engineering process
Software engineering processSoftware engineering process
Software engineering process
 
Software AND its Types & CASE toolS
Software  AND     its   Types   &    CASE toolSSoftware  AND     its   Types   &    CASE toolS
Software AND its Types & CASE toolS
 
Case tools
Case toolsCase tools
Case tools
 
SWE-401 - 12. Software CASE Tools Overview
SWE-401 - 12. Software CASE Tools OverviewSWE-401 - 12. Software CASE Tools Overview
SWE-401 - 12. Software CASE Tools Overview
 
Bai giang-se-16jan14
Bai giang-se-16jan14Bai giang-se-16jan14
Bai giang-se-16jan14
 
SE chapter 4
SE chapter 4SE chapter 4
SE chapter 4
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
 
Case tools
Case toolsCase tools
Case tools
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 
System Analysis And Design Management Information System
System Analysis And Design Management Information SystemSystem Analysis And Design Management Information System
System Analysis And Design Management Information System
 
CSC426 - Software Engineering Lecture Note
CSC426   - Software Engineering Lecture NoteCSC426   - Software Engineering Lecture Note
CSC426 - Software Engineering Lecture Note
 
Bai giang-spm-11mar14
Bai giang-spm-11mar14Bai giang-spm-11mar14
Bai giang-spm-11mar14
 
Slides chapter 3
Slides chapter 3Slides chapter 3
Slides chapter 3
 

Similar to software project management

Emergancy guide
Emergancy guideEmergancy guide
Emergancy guide
Hemanth Khan
 
UNIT-I.pptx
UNIT-I.pptxUNIT-I.pptx
UNIT-I.pptx
sayalishivarkar1
 
Project scheduling
Project schedulingProject scheduling
Project scheduling
Jaafer Saeed
 
The Waterfall Model
The Waterfall ModelThe Waterfall Model
The Waterfall Model
Damian T. Gordon
 
Project Management in Information Technologies
Project Management in Information TechnologiesProject Management in Information Technologies
Project Management in Information Technologies
C.T.Co
 
SPM_UNIT-1(1).pptx
SPM_UNIT-1(1).pptxSPM_UNIT-1(1).pptx
SPM_UNIT-1(1).pptx
Sushant895574
 
Lec1
Lec1Lec1
Computer current applications
Computer current applicationsComputer current applications
Computer current applications
Mohamad Eldehemy
 
Cs414 lec1 f2014
Cs414 lec1 f2014Cs414 lec1 f2014
Cs414 lec1 f2014
MostafaBadawy93
 
Spm tutorials
Spm tutorialsSpm tutorials
Spm tutorials
Vinod Kumar
 
Planning in Software Projects
Planning in Software ProjectsPlanning in Software Projects
Planning in Software Projects
Jayakumar PP
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
Fáber D. Giraldo
 
223417 Diploma_Sem4_software_engg-chap-05.ppt
223417 Diploma_Sem4_software_engg-chap-05.ppt223417 Diploma_Sem4_software_engg-chap-05.ppt
223417 Diploma_Sem4_software_engg-chap-05.ppt
Deepgaichor1
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
Reetesh Gupta
 
Chapt5.pptx it is notes of the 5th chapter
Chapt5.pptx it is notes of the 5th chapterChapt5.pptx it is notes of the 5th chapter
Chapt5.pptx it is notes of the 5th chapter
preetidamakale
 
Introduction to Software Project Management:
Introduction to Software Project Management:Introduction to Software Project Management:
Introduction to Software Project Management:
Lovely Professional University
 
Software Project management
Software Project managementSoftware Project management
Software Project management
sameer farooq
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
ShudipPal
 
unit-1.ppt
unit-1.pptunit-1.ppt
unit-1.ppt
Jayaprasanna4
 
PME UNIT-3.pptx
PME UNIT-3.pptxPME UNIT-3.pptx
PME UNIT-3.pptx
MayankVasisthGandhi
 

Similar to software project management (20)

Emergancy guide
Emergancy guideEmergancy guide
Emergancy guide
 
UNIT-I.pptx
UNIT-I.pptxUNIT-I.pptx
UNIT-I.pptx
 
Project scheduling
Project schedulingProject scheduling
Project scheduling
 
The Waterfall Model
The Waterfall ModelThe Waterfall Model
The Waterfall Model
 
Project Management in Information Technologies
Project Management in Information TechnologiesProject Management in Information Technologies
Project Management in Information Technologies
 
SPM_UNIT-1(1).pptx
SPM_UNIT-1(1).pptxSPM_UNIT-1(1).pptx
SPM_UNIT-1(1).pptx
 
Lec1
Lec1Lec1
Lec1
 
Computer current applications
Computer current applicationsComputer current applications
Computer current applications
 
Cs414 lec1 f2014
Cs414 lec1 f2014Cs414 lec1 f2014
Cs414 lec1 f2014
 
Spm tutorials
Spm tutorialsSpm tutorials
Spm tutorials
 
Planning in Software Projects
Planning in Software ProjectsPlanning in Software Projects
Planning in Software Projects
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
223417 Diploma_Sem4_software_engg-chap-05.ppt
223417 Diploma_Sem4_software_engg-chap-05.ppt223417 Diploma_Sem4_software_engg-chap-05.ppt
223417 Diploma_Sem4_software_engg-chap-05.ppt
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
 
Chapt5.pptx it is notes of the 5th chapter
Chapt5.pptx it is notes of the 5th chapterChapt5.pptx it is notes of the 5th chapter
Chapt5.pptx it is notes of the 5th chapter
 
Introduction to Software Project Management:
Introduction to Software Project Management:Introduction to Software Project Management:
Introduction to Software Project Management:
 
Software Project management
Software Project managementSoftware Project management
Software Project management
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
 
unit-1.ppt
unit-1.pptunit-1.ppt
unit-1.ppt
 
PME UNIT-3.pptx
PME UNIT-3.pptxPME UNIT-3.pptx
PME UNIT-3.pptx
 

More from Ankit Gupta

Biometricstechnology in iot and machine learning
Biometricstechnology in iot and machine learningBiometricstechnology in iot and machine learning
Biometricstechnology in iot and machine learning
Ankit Gupta
 
Week2 cloud computing week2
Week2 cloud computing week2Week2 cloud computing week2
Week2 cloud computing week2
Ankit Gupta
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture material
Ankit Gupta
 
Week 4 lecture material cc (1)
Week 4 lecture material cc (1)Week 4 lecture material cc (1)
Week 4 lecture material cc (1)
Ankit Gupta
 
Week 3 lecture material cc
Week 3 lecture material ccWeek 3 lecture material cc
Week 3 lecture material cc
Ankit Gupta
 
Week 1 lecture material cc
Week 1 lecture material ccWeek 1 lecture material cc
Week 1 lecture material cc
Ankit Gupta
 
Mod05lec25(resource mgmt ii)
Mod05lec25(resource mgmt ii)Mod05lec25(resource mgmt ii)
Mod05lec25(resource mgmt ii)
Ankit Gupta
 
Mod05lec24(resource mgmt i)
Mod05lec24(resource mgmt i)Mod05lec24(resource mgmt i)
Mod05lec24(resource mgmt i)
Ankit Gupta
 
Mod05lec23(map reduce tutorial)
Mod05lec23(map reduce tutorial)Mod05lec23(map reduce tutorial)
Mod05lec23(map reduce tutorial)
Ankit Gupta
 
Mod05lec22(cloudonomics tutorial)
Mod05lec22(cloudonomics tutorial)Mod05lec22(cloudonomics tutorial)
Mod05lec22(cloudonomics tutorial)
Ankit Gupta
 
Mod05lec21(sla tutorial)
Mod05lec21(sla tutorial)Mod05lec21(sla tutorial)
Mod05lec21(sla tutorial)
Ankit Gupta
 
Lecture29 cc-security4
Lecture29 cc-security4Lecture29 cc-security4
Lecture29 cc-security4
Ankit Gupta
 
Lecture28 cc-security3
Lecture28 cc-security3Lecture28 cc-security3
Lecture28 cc-security3
Ankit Gupta
 
Lecture27 cc-security2
Lecture27 cc-security2Lecture27 cc-security2
Lecture27 cc-security2
Ankit Gupta
 
Lecture26 cc-security1
Lecture26 cc-security1Lecture26 cc-security1
Lecture26 cc-security1
Ankit Gupta
 
Lecture 30 cloud mktplace
Lecture 30 cloud mktplaceLecture 30 cloud mktplace
Lecture 30 cloud mktplace
Ankit Gupta
 
Week 7 lecture material
Week 7 lecture materialWeek 7 lecture material
Week 7 lecture material
Ankit Gupta
 
Gurukul Cse cbcs-2015-16
Gurukul Cse cbcs-2015-16Gurukul Cse cbcs-2015-16
Gurukul Cse cbcs-2015-16
Ankit Gupta
 
Microprocessor full hand made notes
Microprocessor full hand made notesMicroprocessor full hand made notes
Microprocessor full hand made notes
Ankit Gupta
 
Transfer Leaning Using Pytorch synopsis Minor project pptx
Transfer Leaning Using Pytorch  synopsis Minor project pptxTransfer Leaning Using Pytorch  synopsis Minor project pptx
Transfer Leaning Using Pytorch synopsis Minor project pptx
Ankit Gupta
 

More from Ankit Gupta (20)

Biometricstechnology in iot and machine learning
Biometricstechnology in iot and machine learningBiometricstechnology in iot and machine learning
Biometricstechnology in iot and machine learning
 
Week2 cloud computing week2
Week2 cloud computing week2Week2 cloud computing week2
Week2 cloud computing week2
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture material
 
Week 4 lecture material cc (1)
Week 4 lecture material cc (1)Week 4 lecture material cc (1)
Week 4 lecture material cc (1)
 
Week 3 lecture material cc
Week 3 lecture material ccWeek 3 lecture material cc
Week 3 lecture material cc
 
Week 1 lecture material cc
Week 1 lecture material ccWeek 1 lecture material cc
Week 1 lecture material cc
 
Mod05lec25(resource mgmt ii)
Mod05lec25(resource mgmt ii)Mod05lec25(resource mgmt ii)
Mod05lec25(resource mgmt ii)
 
Mod05lec24(resource mgmt i)
Mod05lec24(resource mgmt i)Mod05lec24(resource mgmt i)
Mod05lec24(resource mgmt i)
 
Mod05lec23(map reduce tutorial)
Mod05lec23(map reduce tutorial)Mod05lec23(map reduce tutorial)
Mod05lec23(map reduce tutorial)
 
Mod05lec22(cloudonomics tutorial)
Mod05lec22(cloudonomics tutorial)Mod05lec22(cloudonomics tutorial)
Mod05lec22(cloudonomics tutorial)
 
Mod05lec21(sla tutorial)
Mod05lec21(sla tutorial)Mod05lec21(sla tutorial)
Mod05lec21(sla tutorial)
 
Lecture29 cc-security4
Lecture29 cc-security4Lecture29 cc-security4
Lecture29 cc-security4
 
Lecture28 cc-security3
Lecture28 cc-security3Lecture28 cc-security3
Lecture28 cc-security3
 
Lecture27 cc-security2
Lecture27 cc-security2Lecture27 cc-security2
Lecture27 cc-security2
 
Lecture26 cc-security1
Lecture26 cc-security1Lecture26 cc-security1
Lecture26 cc-security1
 
Lecture 30 cloud mktplace
Lecture 30 cloud mktplaceLecture 30 cloud mktplace
Lecture 30 cloud mktplace
 
Week 7 lecture material
Week 7 lecture materialWeek 7 lecture material
Week 7 lecture material
 
Gurukul Cse cbcs-2015-16
Gurukul Cse cbcs-2015-16Gurukul Cse cbcs-2015-16
Gurukul Cse cbcs-2015-16
 
Microprocessor full hand made notes
Microprocessor full hand made notesMicroprocessor full hand made notes
Microprocessor full hand made notes
 
Transfer Leaning Using Pytorch synopsis Minor project pptx
Transfer Leaning Using Pytorch  synopsis Minor project pptxTransfer Leaning Using Pytorch  synopsis Minor project pptx
Transfer Leaning Using Pytorch synopsis Minor project pptx
 

Recently uploaded

Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
Divyanshu
 
Welding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdfWelding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdf
AjmalKhan50578
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
Hematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood CountHematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood Count
shahdabdulbaset
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
Seminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptxSeminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptx
Madan Karki
 
Material for memory and display system h
Material for memory and display system hMaterial for memory and display system h
Material for memory and display system h
gowrishankartb2005
 
Software Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.pptSoftware Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.ppt
TaghreedAltamimi
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
gerogepatton
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
co23btech11018
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
Gino153088
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
AI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptxAI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptx
architagupta876
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
ydzowc
 

Recently uploaded (20)

Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
 
Welding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdfWelding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdf
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
Hematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood CountHematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood Count
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
Seminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptxSeminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptx
 
Material for memory and display system h
Material for memory and display system hMaterial for memory and display system h
Material for memory and display system h
 
Software Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.pptSoftware Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.ppt
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
AI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptxAI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptx
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
 

software project management

  • 1. LECTURE 5: SOFTWARE PROJECT MANAGEMENT Software Engineering Mike Wooldridge
  • 2. Lecture 5 Software Engineering 1 Introduction • The “software crisis” of the 1960s and 1970s was so called because of a string of high profile software project failures: over budget, overdue, etc. • The crisis arose in part because the greater power available in computers meant that larger software projects were tackled with techniques developed on much smaller projects. • Techniques were needed for software project management. Good project management cannot guarantee success, but poor management on significant projects always leads to failure. Mike Wooldridge 1
  • 3. Lecture 5 Software Engineering • Software projects have several properties that make them very different to other kinds of engineering project. – The product is intangible. Its hard to claim a bridge is 90% complete if there is not 90% of the bridge there. It is easy to claim that a software project is 90% complete, even if there are no visible outcomes. – We don’t have much experience. Software engineering is a new discipline, and so we simply don’t have much understanding of how to engineer large scale software projects. – Large software projects are often “bespoke”. Most large software systems are one-off, with experience gained in one project being of little help in another. – The technology changes very quickly. Most large software projects employ new technology; for many projects, this is the raison d’etre. Mike Wooldridge 2
  • 4. Lecture 5 Software Engineering • Activities in software project management: – project planning; – project scheduling; – risk management; – managing people. Mike Wooldridge 3
  • 5. Lecture 5 Software Engineering 2 Project Planning • The biggest single problem that afflicts software developing is that of underestimating resources required for a project. • Developing a realistic project plan is essential to gain an understanding of the resources required, and how these should be applied. • Types of plan: – Software development plan. The central plan, which describes how the system will be developed. – Quality assurance plan. Specifies the quality procedures & standards to be used. – Validation plan. Defines how a client will validate the system that has been developed. Mike Wooldridge 4
  • 6. Lecture 5 Software Engineering – Configuration management plan. Defines how the system will be configured and installed. – Maintenance plan. Defines how the system will be maintained. – Staff development plan. Describes how the skills of the participants will be developed. • We will focus on software development & quality assurance plan. Mike Wooldridge 5
  • 7. Lecture 5 Software Engineering 2.1 The Software Development Plan • This is usually what is meant by a project plan. • Specifies the order of work to be carried out, resources, responsibilities, and so on. • Varies from small and relatively informal to large and very formal. • Developing a project plan is as important as properly designing code: On the basis of a project plan, contracts will be signed and careers made or broken... • Important not to: – overestimate your team’s ability; – simply tell clients what they want to hear; – be pressured by developers (“we can do that in an afternoon!”) Mike Wooldridge 6
  • 8. Lecture 5 Software Engineering 2.2 Structure of Development Plan 1. Introduction brief intro to project — references to requirements spec 2. Project organisation intro to organisations, people, and their roles 3. Risk Analysis what are the key risks to the project? 4. Hardware and software resources what h/ware and s/ware resources will be required for the project and when? 5. Work breakdown the project divided into activities, milestones, deliverables; dependencies between tasks etc 6. Project schedule actual time required — allocation of dates 7. Reporting and progress measurement mechanisms to monitor progress. Mike Wooldridge 7
  • 9. Lecture 5 Software Engineering 2.3 Work Breakdown • There are many ways of breaking down the activities in a project, but the most usual is into: – work packages; – tasks; – deliverables; – milestones. Mike Wooldridge 8
  • 10. Lecture 5 Software Engineering • A workpackage is a large, logically distinct section of work: – typically at least 12 months duration; – may include multiple concurrent activities; – independent of other activities; – but may depend on, or feed into other activities; – typically allocated to a single team. • A task is typically a much smaller piece of work: A part of a workpackage. – typically 3–6 person months effort; – may be dependent on other concurrent activities; – typically allocated to a single person. Mike Wooldridge 9
  • 11. Lecture 5 Software Engineering • A deliverable is an output of the project that can meaningfully be assessed. Examples: – a report (e.g., requirements spec); – code (e.g., alpha tested product). Deliverables are indicators (but only indicators) of progress. • A milestone is a point at which progress on the project may be assessed. Typically a major turning point in the project. EXAMPLES: – delivery of requirements spec; – delivery of alpha tested code. Mike Wooldridge 10
  • 12. Lecture 5 Software Engineering • Usually... – work packages are numbered WP1, WP2, ...; – tasks are numbered T1.1, T1.2, etc, the first number is the number of the workpackage; the second is a sequence number. – deliverables are numbered D1.1, D1.2, etc – milestones are numbered M1, M2 etc. Mike Wooldridge 11
  • 13. Lecture 5 Software Engineering • For each workpackage & task, it is usual to document: – brief description; – earliest start date; – earliest end date; – total person months effort; – pre-requisite WPs or tasks; – dependent WPs or tasks; – who is responsible. Mike Wooldridge 12
  • 14. Lecture 5 Software Engineering 2.4 Critical Paths • The pre-requisites and dependencies of WPs and tasks determine a critical path: the sequence of dependencies in the project. • The critical path is the sequence of activities that takes the longest time to complete. • Any delay to an activity in the critical path will cause delays to the overall project. • Delays to activities not on the critical path need not necessarily cause overall delays. Mike Wooldridge 13
  • 15. Lecture 5 Software Engineering 3 Gantt Charts & Activity Networks • Gantt charts are a kind of bar chart: – time plotted on x axis – bars on y axis for each activity. Mike Wooldridge 14
  • 16. Lecture 5 Software Engineering • An activity network is a labelled graph, with: – nodes corresponding to activities, – arcs labelled with estimated times; – activities are linked if there is a dependency between them. Mike Wooldridge 15
  • 17. Lecture 5 Software Engineering 4 Risks When planning a project, it is critically important to know what the key risks are, and is possible plan for them: • staff turnover; • management change; • hardware unavailability; • requirements change; • specification delays; • size underestimate; • technology change; • product competition. Mike Wooldridge 16
  • 18. Lecture 5 Software Engineering 5 Quality Assurance • Many organisations make use of a quality assurance plan, which sets out standards to be maintained during project development. • – Documentation standards: ∗ what documents; ∗ format & content; – Coding standards: ∗ class/method/variable naming conventions; ∗ comment standards (e.g., javadoc); ∗ testing conventions; Mike Wooldridge 17