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

Lecture 00 - Introduction to Course

Software Project Management

Uploaded by

NGÔ THẾ ANH
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

Lecture 00 - Introduction to Course

Software Project Management

Uploaded by

NGÔ THẾ ANH
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 18

Software Project

Management

spm - ©2014 adolfo villafiorita - introduction to software project management


Introduction to SPM

spm - ©2014 adolfo villafiorita - introduction to software project management


Motivations (1/3)

• Many courses in computer science and


electronic engineering focus on the technical
aspects and on the notations to develop good
software (e.g., how to do testing; how to write
requirements; how to model systems; UML;
Java)
• However, in order to build good software, a
well defined and managed process, which
organizes the activities in an efficient and
controlled way

spm - ©2014 adolfo villafiorita - introduction to software project management


Motivations (2/3)
• Consider the following:
– Writing good requirements is no good if you
don’t have a controlled process, for instance, to
accept changes and trace revisions
– The techniques to do testing are useless if you
don’t have any time left to do testing (because,
for instance, you underestimated the
development time and are late with a release)
– The development of a software system requires to
execute, monitor, and control various activities
which have little or nothing to do with writing
code. Consider, for instance: training users,
packaging a product, managing publicity and
communication, writing user documentation

spm - ©2014 adolfo villafiorita - introduction to software project management


Motivations (3/3)
• If you want to deliver on time and within
budget a product which has the quality
properties agreed upon (be it a software or
any other product), you need:
– A process to define a schedule, a budget, and
agree on the (quality) characteristics of a product
– A list of techniques to define, agree, plan,
execute, and monitor: goals, quality, time, and
costs

spm - ©2014 adolfo villafiorita - introduction to software project management


Skills and some goals of
the course
• Managing a (software development) project, thus,
requires specific competences, skills, and
techniques
• Some of the questions you will be able to answer at
the end of this course include:
– How do I estimate how long it will take to complete a
task?
– How much am I going to charge for a project?
– How do I keep the team motivated and ensure projects
are fulfilling and an occasion to learn, grow, and advance
in one’s career?
– How do I deal with project risks?
– How do I assess whether the project is on time, on
budget, on schedule?
– How do I control the quality of the final output?
spm - ©2014 adolfo villafiorita - introduction to software project management
Software Project
Management
The Project Management techniques are
intrinsically multidisciplinary …

… what you will learn in this course is


applicable to virtually any other
(engineering) domain.

There are however certain characteristics


that make the management of software
projects particularly interesting.

spm - ©2014 adolfo villafiorita - introduction to software project management


Software Project
Management
• Software project management is
interesting and challenging because:
– The product is intangible
– The product is uniquely flexible (e.g.
different sizes; different constraints)
– Many software projects are 'one-off'
– The development process is uniquely
flexible
– Size and complexity are increasing
exponentially
– Human lives might depend on software
running as expected (consider the control
system of an airplane)- safety critical
spm - ©2014 adolfo villafiorita - introduction to software project management
10000
Complexity (1/2)
M I S S I O N C O N T R O L : G R O U N D STAT I O N ATF
SKYLAB 2 SHUTTLE/OPERATIONAL PRO J E C TE D
B-2
F-15E
AP OL L O 17 SHUTTLE/OFT B-1B
AP OL L O 7
1000 G E M I NI 12
SHUTTLE/OFT
MANNED SYSTEMS
B-1A
F-16 C/D C-17
G E M I NI 3 P-3A PRO J E C TE D
AWAC S MISSILE
G ALIL E O
S -3A
AP OL L O 11
E -2C
100 P-3A
UNMANNED SYSTEMS
F-15 P E RS H I N G 11(ED)
G E M I NI 2 AP OL L O 7 SKYLAB 2
F-111 TITAN 34D (IUS)
F-111 V I K I NG
M E R C U RY 3
C-5A
P E RS H I N G 11(AD)
A-7D /E UNMANNED
10 TRIDENT C4
G E M I NI 3 U N M A N N E D INTE RPLANETARY
TITAN IIIC VOYAG E R
M A N N E D A/C
P E RS H I N G 1 POS E I D ON C3 M A N N E D S PAC E
P E RS H I N G 1A
M ARI NE R
TITAN M A N N E D S PAC E CO NT RO L
1 S U RV E YO R V E N U S M E R C U RY

1960 65 70 75 80 85 90 95

Source: Mars and Beyond: NASA’s Software Challenges in the 21st


Century
Dr. Michael R. Lowry. NASA Ames Research Center. December 5,
2003 web.cecs.pdx.edu/~black/S3S/MichaelLowry.ppt

spm - ©2014 adolfo villafiorita - introduction to software project management


Complexity (2/2)
• The entire Saturn V stack, that is, all three
stages of the booster plus the command
module and the lunar module, had less
computing capacity combined than today’s
typical cell phone.
Source:
Apollo by Charles
Murray and
Catherine Bly Cox

spm - ©2014 adolfo villafiorita - introduction to software project management


A Brief History of
(Software)
Project Management

spm - ©2014 adolfo villafiorita - introduction to software project management


Frederick Winslow Taylor
• Taylor’s “Scientific Management” is the first
theory of work and management
• Beginning of 1900
• A negative view of workers (they perform
at the slowest rate which goes
unpunished)
• Some more interesting characteristics:
– Scientific definition of work
– Scientific selection of personnel
– Sharing of responsibilities between
workers and management
– Incentives and rest periods (to make
workers more efficient)
1
2
spm - ©2014 adolfo villafiorita - introduction to software project management
Henry Gantt
• Gantt’s “Gantt chart” notation is
still used today to schedule
projects
• Defined during the First World War
• First used to schedule and monitor
work and progress in ship building:
distinction between work and
progress
• His book available for download
from archive.org

1
3
spm - ©2014 adolfo villafiorita - introduction to software project management
Example of Gantt Chart

Source: The Gantt chart, a working tool of


management Clark, Wallace and Gantt, Henry

spm - ©2014 adolfo villafiorita - introduction to software project management


Fifties and Sixties
• 2nd World War:
– Manhattan Project: process flow diagrams
• 1957 CPM (Critical Path Method)
– Mathematically based algorithm for
scheduling a set of project activities, used
to plan maintenance activities in plants
– Dupont + Remington Rand UNIVAC team
– No fundamental changes to date
• 1958 PERT (Program Evaluation and
Review Technique)
– U.S. Navy Polaris missile program (Booz
Allen & Hamilton (management consulting
firm) working as ORSA team for Lockheed
Missile System)
1
5
spm - ©2014 adolfo villafiorita - introduction to software project management
Motivation for CPM and
PERT
What activities could delay the project
delivery of the following plan?

Printe
d:
33 x
48
inches
(83 x
121
cm)

1
6
spm - ©2014 adolfo villafiorita - introduction to software project management
Fifties and Sixties
• 1960’s Big Government contracts (Vietnam, nuclear
power plants, NASA Apollo): standardization and
automation
– PERT/COST and WBS become compulsory in
Government’s sponsored projects
– Earned Value Analysis (EVA) is defined
– Configuration management
– Project organizations (PMI, IPMA) promote
profession and techniques
– (1961) IBM uses PM commercially

• 1970 Software development gets into the


equation
– EVA developed for monitoring schedule and cost
– Waterfall model for software development
– The mythical man-month highlights many pitfalls of
software development
1
7
spm - ©2014 adolfo villafiorita - introduction to software project management
The Computer Revolution
• 1980’s
– Hardware and software proliferation make PM tools
accessible to smaller firms
– Hardware capacity grows exponentially (Moore’s Law)
and so does software
– Estimation models (FP and COCOMO) are introduced to
predict software complexity

• 1990’s
– Total quality
– Leaner, quicker, more responsive organizations

• Today
– Web application and new application distribution
models
– Development with components and frameworks
– Agility, quick interaction, constant feedback
1
8
spm - ©2014 adolfo villafiorita - introduction to software project management

You might also like