0% found this document useful (0 votes)
12 views34 pages

Template Lec1

The document outlines a course on Software Project Management at Mansoura University, detailing its motivations, skills, and goals. It covers the characteristics of software projects, the history of project management techniques, and the distinction between projects and operational work. Additionally, it discusses various types of software development projects and their management contexts.

Uploaded by

Zeinab Elganiny
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views34 pages

Template Lec1

The document outlines a course on Software Project Management at Mansoura University, detailing its motivations, skills, and goals. It covers the characteristics of software projects, the history of project management techniques, and the distinction between projects and operational work. Additionally, it discusses various types of software development projects and their management contexts.

Uploaded by

Zeinab Elganiny
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

Mansoura University

Faculty of Computers and Information


Department of Software Engineering
Second Semester: 2021-2022

[SWE143]
Software Project Management
Grade: 4

DR: Zahraa Tarek


Introduction to
Course

2
AGENDA

 Motivations
 Skills and some goals of the course
 Software Project Management
 A Brief History of (Software) Project Management
 Software Development Projects and Stakeholders
 Project definition and its characteristics
 Progressive Elaboration
 Project Management Context
 Projects and Operational Work
 Examples

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


COURSE RESOURCES

• Primary reference:
▫ Introduction to Software Project Management, by Adolfo Villafiorita.
CRC Press, 2014
• Secondary reading:
▫ An Introduction to Project Management, Fifth edition, by Kathy
Schwalbe, Schwalbe Publishing, 2015
MOTIVATIONS
• 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
MOTIVATIONS

• 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
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, onschedule?
– How do I control the quality of the final output?
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.
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 systems
Brief History

10
FREDERICKWINSLOW 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)
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
EXAMPLE OF GANTT CHART

Source: The Gantt chart, a working tool of management Clark, Wallace and Gantt, Henry
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 ORSAteam for Lockheed Missile System)
MOTIVATION FOR CPM AND PERT
What activities could delay the project delivery of the following plan?
SIXTIES AND SEVENTIES
• 1960’s Big Government contracts (Vietnam, nuclear power plants, NASAApollo):
standardization and automation
– PERT/COST and WBS become compulsory in Government’s sponsored projects
– Earned ValueAnalysis (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


– EVAdeveloped for monitoring schedule and cost
– Waterfall model for software development
– The mythical man-month highlights many pitfalls of software development
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
Software Development
Projects &
Stakeholders

The name of the game, the players, and (some of) the rules
WHAT IS A PROJECT (The name of the game)

A project is a temporary endeavor undertaken to create a unique


product, service,or result.

Characteristics of a Project:
 Temporary
 Delivers an output

 Resource constrained (like everything else in life)

 Progressive elaboration

 Unique products, service, or result


TEMPORARY

 The fact that a project is temporary has a natural consequence. Every project will, in fact, have
1. An initiating phase, during which the project infrastructure and the project’s goals are
drafted.
2. A planning phase, during which project goals are refined, activities identified and scheduled,
and many other support activities are properly planned.
3. An executing phase, during which the actual work takes place. Running in parallel, a
monitoring phase measures the progress and raises flags when plans and reality disagree.
4. A final closing phase, where the project outputs are handed out and the project is closed.

20
AMOUNT & INTENSITY OF WORK

Initiate Plan Execute Close

Monitor

Cumulative
Work

Time
DELIVERS AN OUTPUT

 The outputs are tangible, and often their proper- ties are also measurable. Thus, a project can be set up and
organized, starting from the description and the characteristics of the outputs it delivers.
 The description of the project outputs also defines the project completion criteria: the project ends when the outputs
are delivered as specified. Things are not always so simple, however.
 Consider, for instance, a situation in which we want to improve the performances of a software system. The goal is
clear, but the means to achieve it might not. In other situations, the outputs might not be completely clear or well
spelled out. This is quite common in software development, where coming out with a complete and unambiguous
description of a system is not always easy.

22
RESOURCE CONSTRAINED

 A limited time is available to build the project outputs. Also limited will be other project resources, such as the
budget and the team.
 An important consequence is that the project manager and the team have to find an achievable solution, while
respecting all project constraints.
 Thus, the output of a project is seldom the best possible solution but rather the best solution given the constraints.

23
PROGRESSIVE ELABORATION

 A project requires a progressive elaboration to build the project outputs.


 At the beginning, different ways are possible to achieve the project goals. As we move along, many project
activities require to take choices, which reduce the degrees of freedom, till we get to the end of the project with the
only possible implementation of the project goals.
 Thus, the cost of changes increases as a project progresses, since the amount of rework necessary to implement a
change increases as we reduce our degrees of freedom.

24
UNIQUE PRODUCTS, SERVICE, OR RESULT

 What a project delivers has some novelty, one way or the other. This allows us to introduce the last important
characteristic, namely, that a project always has some risk coming in the form of menaces or opportunities.
 Risks come from the unique characteristics of the project outputs, which sometimes are not fully understood or not
clear when a project starts.
 Other risks derive from additional constraints that are set in a project; consider, for instance a situation in which a
customer pushes for a schedule that is too tight or for quality requirements that are set too high.

25
PROJECT MANAGEMENT CONTEXT
Projects are thus often organized and combined to achieve objectives larger than those of any single initiative.
A common classification distinguishes among programs, subprojects, and portfolios.

 Programs
A program is a set of related projects managed in a coordinated way. The underlying motivation is that coordination allows one
to achieve additional benefits.

 Subprojects
Complex projects for which program management is an overkill can be organized and broken down into subprojects. A
subproject is thus the way in which one can organize the implementation of some specific objectives of a larger
project.

 Portfolios
Organizations often use projects to develop similar systems. The term portfolio management thus identifies a situation in which
a set of independent projects arecoordinated to achieve better results.
PROJECTS AND OPERATIONAL WORK
• Work can be categorized either as project or operational
• Common characteristics
– Performed by people
– Limited resources
– Planned, executed, and controlled

• Differences
– Project: obtain goals and terminate
– Operational work: sustain the business
Software Development
Projects

 Some Examples of Software Development Projects and Operational Work


TYPE OF “SOFTWARE” DEVELOPMENT PROJECTS

• In your life as a project manager you might be involved in different types of


“software” development projects,
among which:
– Application Development
– Process and Systems Re-Engineering
– System Integration
– Consulting Services
– Installation and Training
APPLICATION DEVELOPMENT
• Goal: developing an application (desktop, web, mobile,
embedded)
• The most fun :-)
• Types of application development:
– One-offs: systems specifically created for a client
– Off-the-shelf: to fill the need of a large set of users
– Customized off-the-shelf: standardized systems which
require a significant amount of customization to be used in an
organization. Example: Enterprise Resource Planning (ERP)
systems
PROCESS AND SYSTEMS RE-ENGINEERING
• Goal: change the way in which the operational work of an organization is
carried out to achieve some strategic
goal (e.g., improve quality, become more efficient)
• Typically large projects which involve an accurate analysis of the
existing situation (“as is”) w.r.t. procedures, systems, infrastructure
• Often the support of the introduction of an ERP system and require
system and data integration activities
SYSTEM INTEGRATION SERVICES
• Goal: automating the information flow among the
systems of an organization
• Types of integration:
– Vertical: integration of systems performing similar
operations
– Putting together data about customers kept by
different departments of a multinational company.
– Horizontal: integration of systems automating different steps of
a procedure
– automating the flow of orders from marketing to production
OTHER TYPES OF PROJECTS

• Consulting Services
– Typically asked to gain a know-how outsize a company’s core
competence

• Installation and Training Services


– Services related to the installation or training on specific
software systems

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy