0% found this document useful (0 votes)
23 views18 pages

Lecture 00 - Introduction to Course

Software Project Management

Uploaded by

NGÔ THẾ ANH
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views18 pages

Lecture 00 - Introduction to Course

Software Project Management

Uploaded by

NGÔ THẾ ANH
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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