IT8075-Software Project
Management
Mr.M.Muthuraja
Assistant Professor & Head/CSE
Pavai College of Technology
Course Objectives
Define the scope of ‘software project management’;
Distinguish between software and other types of
development project;
Understand some problems and concerns of software
project managers;
Define the usual stages of a software project;
Explain the main elements of the role of management;
Appreciate the need for careful planning, monitoring
and control;
Identify the stakeholders of a project and their
objectives and ways of defining the success
in meeting those objectives
Unit I
PROJECT EVALUATION AND
PROJECT PLANNING
Project – Definition
In the broadest sense, a project is a
specific, finite task to be accomplished.
Any activity that results in a deliverable
or a product.
Projects always begin with a problem.
The project is to provide the solution to
this problem.
When the project is finished it must be
evaluated to determine whether it
satisfies the objectives and goals.
What is Management?
Management can be defined as all activities and
tasks undertaken by one or more persons for the
purpose of planning and controlling the activities
of others in order to achieve objectives or
complete an activity that could not be achieved by
others acting independently.
Management functions can be categorized as
Planning
Organizing
Staffing
Directing
Controlling
Management Functions
Planning
Predetermining a course of action for accomplishing
organizational Objectives
Organizing
Arranging the relationships among work units for
accomplishment of objectives and the granting of
responsibility and authority to obtain those objectives
Staffing
Selecting and training people for positions in the organization
Directing
Creating an atmosphere that will assist and motivate people
to achieve desired end results
Controlling
Establishing, measuring, and evaluating performance of
activities toward planned objectives
What is Project Management
“The application of knowledge, skills,
tools and techniques to project
activities in order to meet project
requirements”
What is Project Management
Project management is a system of
management procedures,
practices,
technologies,
skills, and
experience
that are necessary to successfully
manage a project.
Software Project Management
Concerned with activities involved in
ensuring
that software is delivered:
on time
on schedule
in accordance with the requirements
of the organization developing and
procuring the software
Project Stakeholders
Stakeholders are the people involved
in or affected by the project actives
Stakeholders include
The project sponsor and project team
Support staff
Customers
Users
Suppliers
Opponents to the project
Project Characteristics
One clear objective
A well defined set of end results
Goal oriented
End product or service must result
Finite
Fixed timeline, start date, end date, milestone dates
Limited
Budget, Resources, Time
Life Cycle
Recognizable sequence of phases
Product
Project People
Software Project Management
Product Project People
1. Assessing Processes 12. Building a WBS 23. Appraising Performance
2. Awareness of Process Standards 13. Documenting Plans 24. Handling Intellectual Property
3. Defining the Product 14. Estimating Costs 25. Holding Effective Meetings
4. Evaluating Alternative Processes 15. Estimating Effort 26. Interaction and Communication
5. Managing Requirements 16. Managing Risks 27. Leadership
6. Managing Subcontractors 17. Monitoring Development 28. Managing Change
7. Performing the Initial Assessment 18. Scheduling 29. Negotiating Successfully
8. Selecting Methods and Tools 19. Selecting Metrics 30. Planning Careers
9. Tailoring Processes 20. Selecting Project Mgmt Tools 31. Presenting Effectively
10. Tracking Product Quality 21. Tracking Process 32. Recruiting
11. Understanding Development Activities 22. Tracking Project Progress 33. Selecting a Team
34. Teambuilding
34 Competencies Every Software Project Manager Needs to Know
Product Life Cycles
Products also have life cycles
The Systems Development Life Cycle
(SDLC) is a framework for describing
the phases involved in developing and
maintaining information systems
Typical SDLC phases include planning,
analysis, design, implementation, and
support
Steps in SDLC
Concept Exploration
System exploration
Requirements
Design
Implementation
Installation
Operations and support
Maintenance
Retirement
Process & Process Model
Software Process
the set of activities, methods, and
practices that are used in the production
and evolution of software
Software Process Model
one specific embodiment of a software
process architecture
Why Modeling?
To provide a common understanding
To locate any inconsistencies,
redundancies and omissions
To reflect the development goals and
provide early evaluation
To assist development team to
understand any special situation
Sample SDLC Models
Waterfall model: has well-defined, linear stages
of systems development and support
Spiral model: shows that software is developed
using an iterative or spiral approach rather than
a linear approach
Incremental release model: provides for
progressive development of operational software
RAD model: used to produce systems quickly
without sacrificing quality
Prototyping model: used for developing
prototypes to clarify user requirements
Waterfall Model
Requirement
Analysis
System
Design
Coding
Testing
Maintenance
Waterfall Model
classical
one-shot approach
effective control
limited scope of iteration
long cycle time
not suitable for system of high
uncertainty
V Model
Maintenance
Requirements User Acceptance
Analysis Testing
System Design System Testing
Unit and
Program Design
Integration Testing
Coding
V Model
Additional validation process
introduced
Relate testing to analysis and design
Loop back in case of discrepancy
Spiral Model (adapted from Boehm 1987)
Spiral Model
Evolutionary approach
Iterative development combined with
risk management
Risk analysis results in “go, no-go”
decision
Spiral Model
Four major activities
Planning
Risk analysis
Engineering
Customer evaluation
Prototyping Model
Goals
meet users’ requirements in early stage
reduce risk and uncertainty
Classification of Prototype
Throw-away
After users agree the requirements of the
system, the prototype will be discarded.
Evolutionary
Modifications are based on the existing
prototype.
Incremental
Functions will be arranged and built
accordingly.
Prototyping Model
YES
User
Build prototype
satisfaction
NO
User feedback
Benefits of Prototyping
Learning by doing
Improved communication
Improved user involvement
Clarification of partially-known
requirements
Prototyping Sequences
Requirements gathering
Quick design
Prototype construction
Customer evaluation
Refinement
Loop back to quick design for fine tuning
Product engineering
Benefits of Prototyping
Demonstration of the consistency and
completeness of a specification
Reduced need for documentation
Reduced maintenance costs
Feature constraint
Production of expected results
Drawbacks of Prototyping
Users sometimes misunderstand the
role of the prototype
Lack of project standards possible
Lack of control
Additional expense
Close proximity of developers
Forms of Prototypes
Mock-ups
Simulated interaction
Partial working model
Incremental Model
Break system into small components
Implement and deliver small
components in sequence
Every delivered component provides
extra functionality to user
Incremental Model
Arrange Design and
Requirements
requirements develop
Analysis
in increments increment
NO
Validate Integrate System
increment increment OK?
YES
Iterative Model
Deliver full system in the beginning
Enhance functionality in new releases
Iterative Model
Design system
n = n+1
version n NO
Develop system Validate system System
version n version n complete
YES
Why Have Project Phases and
Management Reviews?
A project should successfully pass
through each of the project phases in
order to continue on to the next
Management reviews (also called phase
exits or kill points) should occur after
each phase to evaluate the project’s
progress, likely success, and continued
compatibility with organizational goals
Distinguishing Project Life Cycles and
Product Life Cycles
The project life cycle applies to all
projects, regardless of the products
being produced
Product life cycle models vary
considerably based on the nature of the
product
Most large IT products are developed
as a series of projects
Project management is done in all of
the product life cycle phases
Capability Maturity Model
The CMM is a process model based on
software best-practices effective in
large-scale, multi-person projects.
The CMM has been used to assess the
maturity levels of organization areas as
diverse as
software engineering, system engineering,
project management, risk management,
system acquisition, information
technology (IT) or personnel
management, against a scale of five key
processes, namely:
Initial,
Repeatable,
Defined,
Managed and
Optimized.
Level 1 - Initial
At maturity level 1, processes are
usually ad hoc, and the organization
usually does not provide a stable
environment. Success in these
organizations depends on the
competence and heroics of the people
in the organization, and not on the
use of proven processes
Level 2 - Repeatable
At maturity level 2, software
development successes are
repeatable. The processes may not
repeat for all the projects in the
organization. The organization may
use some basic project management
to track cost and schedule.
Level 3 - Defined
The organization’s set of standard
processes, which are the basis for level 3,
are established and improved over time.
These standard processes are used to
establish consistency across the
organization. Projects establish their
defined processes by applying the
organization’s set of standard processes,
tailored, if necessary, within similarly
standardized guidelines.
Level 4 - Quantitatively Managed
Using precise measurements,
management can effectively control
the software development effort. In
particular, management can identify
ways to adjust and adapt the process
to particular projects without
measurable losses of quality or
deviations from specifications
Level 5 - Optimizing
Maturity level 5 focuses on continually
improving process performance through
both incremental and innovative
technological improvements. Quantitative
process-improvement objectives for the
organization are established, continually
revised to reflect changing business
objectives, and used as criteria in
managing process improvement.
International Organization for
Standardization(ISO)
12 Engineering Activities
• Systems requirement analysis
• System architectural design
• Software requirement analysis
• Software architectural design
• Software detailed design
• Software coding and testing
• Software Integration
• Software qualification testing
• System integration
• System qualification testing
• Software installation
• Software acceptance test
Project Definition
Software Project Management
Characteristics of a Project
Software Projects and other
Projects?
Invisibility Software project is not
immediately visible.
Complexity More complex than other
engineered projects.
Conformity Software Engineers have
to conform to the requirements of
human client.
Flexibility Can be changed after
development
Activities covered by SPM
Feasibility study
This investigates whether a prospective
project is worth starting – that it has a valid
business case.
Information is gathered about the
requirements of the proposed application.
Requirements elicitation can, at least initially,
be complex and difficult.
With a large system, the feasibility study
could be treated as a project in its own right
– and have its own planning sub- phase.
Planning
Planning of the project can take place
after feasibility study over.
Types of plan:
√ Software development plan.
√ Quality assurance plan.
√ Validation plan.
√ Configuration management plan.
√ Maintenance plan.
√ Staff development plan.
Project Execution
The project can now be executed. The
execution of a project often contains
design and implementation sub-
phases.
Students new to project planning
often find it difficult to separate
planning and design, and often the
boundary between the two can be
hazy.
Verification and Validation
Verification- Are we building the
Product Right?
Takes place in Developer side.
Validation- Are we building the Right
Product?
Takes place in Customer Side.
Categorization of Software
Projects
Setting Objectives
Informally, the objective of a project
can be defined by completing the
statement:
The project will be regarded as a success
“if-----------------”
Rather like post-conditions for the project
Focus on what will be put in place, rather
than how activities will be carried out
Setting Objectives
Answering the question ‘What do
we have to do to have a success?’
Need for a project authority
Sets the project scope
Allocates/approves costs
Could be one person - or a group
Project Board
Project Management Board
Steering Committee
Objectives should be
S-Specific, that is, concrete and well-
defined
M-Measurable
A-Achievable
R-Relevant
T-Time constrained
Activities of Management or
Management Principles
Management Control
Management Control System is
defined a ‘set of policies and
procedures designed to keep
operations going according to plan.
Project Control Cycle
Project Portfolio Management
Project Portfolio Management (PPM) is
the centralized management of the
processes, methods, and technologies
used by project managers and project
management offices(PMOs) to analyze
and collectively manage current or
proposed projects based on numerous
key characteristics.
key aspects of Project portfolio
Management
Portfolio Definition
Portfolio Management
Portfolio Optimization
Objectives of Project Portfolio
Management
The need to create a descriptive document,
which contains vital information such as
name of project, estimated timeframe, cost
and business objectives.
The project needs to be evaluated on a
regular basis to ensure that the project is
meeting its target and stays in its course.
Selection of the team players, who will
work towards achieving the project's
objectives.
Benefits of Project Portfolio
Management
Greater adaptability towards change.
Advantage over other competitors.
Helps to concentrate on the
strategies, which will help to achieve
the targets rather than focusing on
the project itself.
Constant review and close monitoring
brings about a higher return.
Project Portfolio Management
Tools
Celoxis
Smartsheet
Sciforma
Proggio
GanttPRO
Hive
Wrike
Changepoint
Liquid Planner
Essential Features of those
Tools
A systematic method of evaluation of
projects.
Resources need to be planned.
Costs and the benefits need to be kept on
track.
Undertaking cost benefit analysis.
Progress reports from time to time.
Access to information as and when its
required.
Communication mechanism, which will take
through the information necessary.
Techniques Used to Measure
PPM
Heuristic model.
Scoring technique.
Visual or Mapping techniques.
The use of such techniques should
be done in consideration of the
project and organizational objectives,
resource skills and the infrastructure
for project management.
The Five Question Model
Strategic Programmes
Several projects together can implement a
single strategy. For example the merging
of two organizations’ computer systems
could require several projects each dealing
with particular application area. Each
activity could be treated as a distinct
project, but would be coordinated as a
programme.
Strategic planning is an organization's
process of defining its strategy, or
direction, and making decisions on
allocating its resources to pursue this
strategy.
In order to determine the direction of the
organization, it is necessary to understand
its current position and the possible
avenues through which it can pursue a
particular course of action.
Strategic Project Management
Strategic Project Management (SPM) (also
called Enterprise Project Management by
some) has been defined by Callahan &
Brooks (2004) as “the use of the
appropriate project management
knowledge, skills, tools and techniques in
the context of the companies goals and
objectives so that the project deliverables
will contribute to company value in a way
that can be measured”.
The Process of Strategic Project
Management
Know the direction of the Project
Explain responsibilities
Project planning
Stepwise Project Planning
Cost-Benefit Evaluation
Techniques
Net profit
Payback period
Return on investment
Net present value
Internal rate of return
steps in cost-benefit
analysis
Identifying and estimating all of the
costs and benefits of carrying out the
project and operating the delivered
application. It includes development
cost of system, Operating cost of
system, Benefits obtained by system.
Expressing these costs and benefits in
common units.
Net profit
Difference between total cost and
total income.
Advantage is easy to calculate and
Disadvantages are does not show
profit relative to size investment
Payback Period
The payback period is the time taken
to break even or pay back the initial
investment.
Advantage: Simple to calculate, not
sensitive to small forecasting errors.
Disadvantage: Ignores the overall
profitability of the project.
Return on Investment
It provides a way of comparing the net
profitability to the investment required.
ROI = average annual profit * 100
Total investment
Average annual profit = net profit
Total no. of years
Net Present Value
A project evaluation technique that takes
into account the profitability of a project
and the timing of the cash flows that are
produced.
Present value =
(value in year t)/(1+r)^t
Internal rate of return (IRR)
Internal rate of return (IRR) is the
discount rate that would produce an
NPV of 0 for the project. It can be
used to compare different investment
opportunities
Pros: Calculates figure which is
easily to interest rates
Cons: Difficult to calculate
Risk Evaluation
Risk evaluation is meant to decide
whether to proceed with the project
or not, and whether the project is
meeting its objectives.
Risk Occurs
When the project exceed its original
specification
Deviations from achieving it objectives
and so on.
Every project involves risk. The project
risks which prevent the project being
completed successfully and the
business risk that the delivered
products are nor profitable.
Risk evaluation consists of
Risk identification and ranking
Risk and NPV
Cost benefit analysis
Risk profile analysis
Risk identification and ranking
Identify the risk and give priority.
Could draw up a project risk matrix
for each project to assess risks
Project risk matrix used to identify
and rank the risk of the project.
Example of Project Risk Matrix
Risk and net present value
Where a project is relatively risky it is
common practice to use a higher
discount rate to calculate the NPV.
The risk premium be an additional 2
% for a safe project or 5 % for a fairly
risky project
Projects may be categorized as high,
medium or low risk using a scoring
method and risk premiums designated
for each category.
Risk Profile Analysis