0% found this document useful (0 votes)
99 views37 pages

Software Project Management Overview

DATA WAREHOUSE

Uploaded by

Reem Haitham
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)
99 views37 pages

Software Project Management Overview

DATA WAREHOUSE

Uploaded by

Reem Haitham
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

Main textbook,

Introduction to Software Project


Management

Adolfo Villafiorita
Assessment
 Group Practical Project 20%
 Quizzes in the lectures 20%
 Midterm exam 20%
 Final Exam 40%
Introduction to the
Course
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


The Project Management Triangle
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 systems
spm - ©2014 adolfo villafiorita - introduction to software project management
Software Development
Projects and
Stakeholders
The name of the game, the players, and
(some of) the rules
Goals of this Unit
• Understanding what is a project, what is the life cycle of
a project and how it differs from other types of works
• Understanding the players and the relationships among
them
• Understanding the influences organizations exert on
project and project executions

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


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
– Definitive begin and end (either because the goals are met or the project is
closed - goals cannot or will not be met)
– Projects’ results are not necessarily temporary (see project and product
lifecycle)
• Unique products, service, or result
– A product which is quantifiable (e.g. a component, …)
– A capability to perform a service, such a business function
– A result, such as knowledge (collected in documents, presentation, …)

• Progressive elaboration
– Development by steps and in increments (necessary to keep a project
under scope)

• Resource constrained (like everything else in life)

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


Progressive Elaboration
Initiate Plan Execute Close

Monitor

Cumulative
Work

Time

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


Project Management Context
• Subprojects
– Projects may be divided in subprojects (although the sub-
projects may be referred to as “projects” and managed as
such)

• Project and Program Management


– Set of related projects managed in a coordinated way in order
to achieve some sort of benefit

• Portfolios and Portfolio Management


– Collection of unrelated projects or programs and other work
grouped together to facilitate management and meet strategic
objectives

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


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

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


Examples (and counterexamples)
• Cooking dinner
• Building a car
• Designing a car
• Writing a paper
• Developing a software system
• Maintaining a software system
• Managing personnel

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


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

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


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

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


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 the introduction of an ERP system
and require system and data integration activities

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


System Integration Services
• Goal: automating the information flow among the
systems of an organization.

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


Other types of Projects
• Consulting Services
– Typically asked to gain a know-how outside a company’s core
competence

• Installation and Training Services


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

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


Projects and their
Environment

The players (and you)


A project stakeholder is any
individual or an organization that is
actively involved in a project, or
whose interest might be affected
(positively or negatively) as a result
of project execution or completion.

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


The Players
• Some characteristics:
– They may have different influence and varying level of
responsibility during the project
– They may play different roles
– They may have positive or negative influence on the project
– They may be difficult to identify
– Their lack of intervention may negatively influence the project
(need for identification and involvement)

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


Types of Stakeholders
• The project manager
• The project team
• The project sponsor
• The performing organizations
• The partners
• The client
• The “rest”: anyone who might be affected by the project
outputs

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


Key Stakeholders
• Internal:
– Project team members: the group performing the work
– Project management team: the members of the team directly
involved in project management

• In between:
– Customer/User: person or organization that will use the results of a
project. There may be multiple layers of users
– Sponsor: person or group providing the financial resources
– Performing Organization: the organization mostly involved in the
project

• External:
– Influencers: people or groups not directly related to the project who
could influence the course of a project

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


The Project Manager (you)
• Project Manager
– Person responsible of managing the project and
stakeholders’expectations
• Some skills
– Communication and negotiation skills
– A little predisposition to risk
– Goal orientation
– Leadership
– A bit of thinking outside the schemes
– Solid know-how
– Professional correctness
– A lot of common sense
– A bit of style

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


Organizing the
Development of
Software Projects
Software Project Management
• Software project management is the integration of
management techniques to software development.
• The need for such integration has its root in the sixties,
in the days of the “software crisis”, when practitioners
recognized the increasing complexity of delivering
software products meeting the specifications

spm
What makes a Software Product?
• An application to keep a • What components and
list of movies watched artifacts is it made of?
• A double-entry • What could be the
accounting system for
effects in case of
home or a small
businesses
failure?

• A web service to manage • What kind of


the reservations of squash competences are
courts in a squash club required for its
• A system to plan the development?
resources of a big • What is the associated
corporation
business model?
• An automated breaking
system for a train

spm
Software Development Framework
• A general software project management framework is
meant to:
– Form a shared vision about the goals to be achieved, the
characteristics of the project outputs, and the characteristics
of the development process
– Structure the work as a progressive refinement, from
specification to goals
– Reduce the impact of uncertainties and unknowns
– Highlight any deviation from the plan (goals, costs, quality)
– Ensure the coherency and quality of the project artifacts over
time and in spite of unknowns and (request for) changes
– Motivate your team

spm
Some Concerns
• Feasibility Assessment
• Goals (Scope) Management
• Time Management
• Cost Management
• Change Control and Configuration Management
• Quality Management
• Risk Management
• Human Resource Management

spm
Initiate Plan Execute & Close
Monitor

Assess Formalize Collect


Close
Feasibility Goals Outputs

Monitor Goals, Cost and


Develop Release

Schedule
Define Kick Off
Schedule Activities

Define Costs

[Obtain
Approval]

Change Control & Configuration Management

Quality Management

Risk Management

Human Resource Management

You might also like