SE403
SOFTWARE PROJECT MANAGEMENT
CHAPTER 1
INTRODUCTION
Assist. Prof. Dr. Volkan TUNALI
Faculty of Engineering / Maltepe University
Overview
Why is Software Project Management Important?
What is a Project?
Software Projects vs. Other Projects
Contract Management & Technical Project Management
Software Project Management Activities
Plans, Methods & Methodologies
Categorizing Software Projects
Stakeholders
Business Case
Project Success & Failure
2
Introduction
All projects are about Meeting Objectives
A software project must satisfy real needs
To do this, we need to identify
Stakeholders
Objectives
Goal of project management is to ensure that the objectives are met
3
Why is Software Project Management Important?
Money
A lot of money is spent for ICT projects
In the UK during 2002-2003
£2.3 billion spent on ICT projects
£1.4 billion spent on road construction
Success
In a 2003 report by Standish Group in the US on 13,522 projects
Only 1/3 of them were successful
82% were late
43% were over-budget
50% did not meet customer needs
20% were cancelled
4
What is a Project?
Project is a set of planned activities that
have specific start & end points
have an objective
have a scope
have a clearly set budget
are performed once
Planning: thinking carefully about something before doing it
Projects are expected to solve a defined problem
5
Increased Increased Productivity Productivity
What is a Project?
6
When we carefully investigate every civilization established, we see processes of project planning and management.
Modern organizations have learned that project management has a lot of advantages
It is a proven fact that the best way to respond the better product or service expectations of customers is the project management methodology.
Challenging Challenging Competetion Competetion Conditions Conditions
Flexible Flexible Organization Organization
Structure Structure
Management
Managementof Unitsof Units in in CoordinationCoordination
Properties of Projects
7
The following characteristics distinguish projects from routine tasks:
Non-routine tasks are involved
Planning is required
Specific objectives are to be met or specified product is to be created
Project has a predetermined time span
Work is carried our for someone other than yourself
Work involves several specialisms
People are formed into a temporary work group to carry out the task
Work is carried out in several phases
Resources available for use on the project are constrained
Project is large and complex
What is Project Management?
8
Project Management is the correct planning and control of engineering activities in order to achieve the goals of the project, considering the criteria of cost, time, and quality.
Success criteria for a project
Completed on time
Completed within the defined budget
Meets the predefined performance (and quality)
requirements
Statistics about Project Management
9
In the US, $2.3 trillion spent on projects
All over the world, about $10 trillion spent on projects
Average project manager earns $82,000 annually
Project Management Institute (PMI)
Founded in 1969
7,500 members till 1990
17,000+ members in 1995
86,000+ members in 2001
100,000+ member today
Popularity of Project Management
10
Popularity of PM is increasing
Quality of work done increases while number of
employees decreases in the firms (with the advances in technology)
Projects become more complex
Globalization causes very high competetion
Communication becomes easier
Customers are effective at steering the market with their expectations about products or services
Possibility of doing international business increases
Desire to monitor the progress and to intervene if needed
from a central point
Contents of Project Management
11
Planning: Deciding what is to be done
Organizing: Making arrangements
Staffing: Selecting right people for the job
Directing: Giving instructions
Monitoring: Checking on process
Controlling: Taking action to remedy hold-ups
Innovating: Coming up with new solutions
Representing: Communicating with clients, users,
developers, suppliers and other stakeholders.
Software Projects vs. Other Projects
Characteristics of Software Projects which make them particularly difficult
Invisibility: Progress in construction of a bridge or building can actually be seen, but progress in software development is not immediately visible.
Complexity: Software development projects are inherently complex due to complex problems of real life.
Conformity: Software developers have to conform to the
requirements of human clients rather than consistent physical laws.
Flexibility: When software system interfaces with a physical or
organizational system, it is expected that the software will change to accomodate the system, rather than vice versa.
12
Survey on Software Project Management
A survey made by Standish Group in the US says:
33% of projects cancelled without completed
in 53%, cost predictions were exceeded by 189%
time span of projects were exceeded by 222% on the average
Reasons
Uncertainity of objectives
Bad planning
Advances in technology
Lack of project management methodology
Insufficient number of employees
13
Contract Management & Technical Project Management
In-house Project: users and developers of new software work for the same organization.
Usually organizations contract out ICT development to outside developers.
Client organization appoints a ‘project manager’ who:
Supervises the contract
Delegates technical decisions to contractors
Does not worry about estimations
Is responsible from budget and time of the project
Supplier organization has a ‘project manager’ who:
Deals with more technical issues
Manages the actual software development project
We are interested in the second type of project management
14
Software Project Management Activities
Usually there are 3 main steps
Feasibility Study
Plan
Project Execution
15
Feasibility Study
Plan
Project Execution
Is it worth doing?
How do we do it?
Do it!
Feasibility Study
Assesses whether a project is worth starting
that it has a valid business case
Information is gathered about the requirements of the proposed application
Developmental and operational costs, and the value of the benefits of the new system are estimated
With a large system, feasibility study can be a project in its own right with its own plan!
Sometimes an organization assesses a program of development made up of a number of projects.
16
Planning
If the feasibility study indicates that the prospective project appears viable, the project planning can start.
For larger projects, deailed planning is not performed at the beginning. First, an outline plan for the whole project and the detailed plan for the first stage are created.
Planning of later stages is left to nearer their start because more detailed and accurate project information will be obtained after the earlier stages of the project have been completed.
17
Project Execution
After the planning phase, project execution can start.
Project execution contains design and implementation sub-phases.
Planning vs. Design?
Design is making decisions about the form of the products to be created (e.g. architecture, user interface, etc.)
Plan details the activities to be carried out to create the products.
18
ISO 12207 Software Development Life Cycle
19
Requirements Analysis
Specification
Design
Coding
Verification & Validation
Installation (Operation)
Maintenance & Support
Requirements Analysis & Specification
Establishes what the potential users and their managers require of the new software system.
Starts with requirements elicitation or requirements gathering.
Objectives, services and constraints of the software are determined.
Types of requirements
Functional (What the system does)
Non-functional (How it does, performance, quality, resource, etc.)
Specification is the detailed documentation of the requirements
20
Design
Components of the new system that fulfil each requirement is identified.
2 types of design
Architectural
General view of the system
How the components interact with each other
How the system interacts with other systems
Detailed
Design of the software units that can be separately coded and tested.
21
Coding
Actual phase of software creation via
Coding
Testing
Debugging
Using one or more selected programming languages like Java, C#, C++, etc.
22
Verification & Validation
System is tested to see if it meets the requirements.
Verification
You built it right!
Design specifications are satisfied
Performed after each phase
Validation
You built the right thing!
Customer expectations are satisfied
Performed before the project is delivered to customer
23
Installation
Making the new system operational
Includes
Setting up standing data
Setting system parameters
Installing the software onto hardware platforms
Training users
24
Maintenance & Support
Activities like fixing bugs, adding new features, and improvements after system is put into operation
Maintenance can be seen as a series of small software projects
In many environments, most software development is in fact maintenance
25
Software Project Documentation
26
Requirements Analysis
Specification
Design
Coding
Verification & Validation
Installation (Operation)
Maintenance & Support
Specifications Document
Test Plan
Architectural Design
Test Case Definitions
Source Code
Control Lists
Error Reports
Version Notes
User Manual
Factors that will Impact Project Management
Number of engineering & tech related jobs will double every 5 years
Computer tech doubles itself every 2 years
Product life cycles will become shorter
Ability to supply with short production times will increase demand for new products
Managers will need more information to make strategic decisions faster
Managers will focus on people rather than work
Manager will be managing businesses of $50mio/year rather than $10mio/year
27
Plans, Methods & Methodologies
A plan for an activity must be based on some idea of a method of work.
For example, you are asked to test some software and you don’t know anything about the software to be tested. So, you can assume you need to:
Analyze the requirements for the software
Devise and write test cases that will check that each requirement is satisfied
Create test scripts and expected results for each test case
Compare the actual results and the expected results and identify discrepancies
28
Plans, Methods & Methodologies
While a method relates to a type of activity, a plan takes that method and converts it to real activities, identifying for each activity:
Its start and end dates
Who will carry it out
What tools & materials – including information – will be needed
Output from one method can be input to another.
Groups of methods or techniques are often grouped into methodologies, such as object-oriented design.
29
Categorizing Software Projects
Project may differ due to the different technical products to be created.
We need to identify the characteristics of a project, which can affect the way it is planned and managed.
Several other factors are:
Compulsory vs. voluntary users
Information systems vs. embedded systems
Objectives vs. products
30
Stakeholders
People
who have a stake or interest in the project
affected by the project directly or indirectly.
2 groups of stakeholders
Internal stakeholders: Company owner, shareholders, project managers, technical managers, team leaders, developers, and other employees.
External stakeholders: Government, military, customers, suppliers, competitors, etc.
31
Business Case
Projects need to have a justification or business case:
Efforts and expense of project must be worthwhile
A cost-benefit analysis itemize & quantify the costs & benefits of the project
Quantification of benefits may require the formulation of a business model which explains how the new application can generate the claimed benefits
The sooner the project is completed, the sooner the benefits can be experienced
Project plan must ensure that the business case is kept intact.
32
Project Success & Failure
Most ICT projects usually
cannot be completed within the planned time span
are over-budget
so, they are considered failure.
Due to failure of project management!
3 important factors that make a project successful:
user/customer participation
management support
clearly identified requirements & objectives
33
Project Success & Failure
Usual reasons for project failure:
inexperienced/uneducated project managers
failure in identifying expectations
poor leadership
poorly analyzed & undocumented requirements
inadequate planning
weakness in resource estimations
cultural & ethical problems
lack of domain knowledge of project team
wrong selection of methods/methodologies
communication problems
34
Project Success & Failure
More reasons for project failure:
size of the project team
tendency to use the latest technology
not using effective management methodologies
Successful software projects are usually completed within 1 year!
Projects now involve more risks, so projects need to be managed effectively.
35
Project Management Tools/Systems
Giga Plan: Developers of a revolutionary new web based tool that allows multiple users to interrogate, analyze, and update Microsoft Project plans in real time.
Microsoft Project: Best selling project management software in the world.
Technology Associates: Project Management software specialists, providing
tailored training, consultancy and development services in all software products.
Project World: Project management techniques and tools for project, program, and process managers from high-tech environments.
The Project Management Foundation: Aims are to promote excellence in project management standards and achievement.
System Solvers: Professional Project Management Services organization delivering a range of services and products to all industries.
Tenrox Corporation: Developers of Project - an enterprise wide timesheet tracking and cost collection system.
36
Summary
Projects are non-routine and more uncertain than normal tasks.
Software projects are similar to other projects but some
differences like invisibility, complexity, conformity, flexibility.
A key factor in project success is having clear objectives.
There must be a practical ways of testing that the objectives are met.
Projects involve many different people, so effective communication is very important!
37
Quote of the Day
Having the right process does not guarantee success, but not having the right process does guarantee failure.
- General Eisenhower
38