You are on page 1of 34

Introduction to Software Project

Management

Lecture1
Software Crisis
 Softwarecrisis is characterized by inability
to develop the desired Software Project
because of such problems:
 Projects running over-budget.
 Projects running over-time.
 Software is inefficient.
 Software is of low quality.
 Software does not meet requirements.
 Project is unmanageable/ Code difficult to
maintain.
A software engineer is
challenged to produce
high-quality software
with finite amount of
resources and to a
predicted schedule and
budget.
3
Law of diminishing returns
Cost

Benefit

Making the engineering


decision!
4
Software Engineering

Software Engineering is not


just about producing
software, but about producing
software in a COST-EFFECTIVE
manner.

5
The Balancing Act!
Potentially conflicting requirements
 Cost vs. Efficiency
 Cost vs. Reliability
 Efficiency vs. User-interface

Challenge is to balance
these requirements.
6
Well-Engineered Software

 Provides the required functionality


 Reliable  Efficient
 User-friendly  Maintainable
 Cost-effective

7
Project planning and
management
Configuration
Manageme
management
nt
quality assurance
Installation and training
Construction etc.

Requirements
Design
Coding
Testing
Maintenance
etc.

8
Software Engineering VS
Project management
 Software Engineering is subject to
budget and schedule constraints.
 Project Management ensures software
development done according to
organization’s constraints: policies,
goals, and requirements.
Common Process Framework
Framework Activities
Task Sets
TASKS

MILESONES, DELIVERABLES

SQA POINTS

Umbrella Activities

10
Project:

•Itis a Planned Activity


•A temporary activity undertaken to create a
unique product or service.
•Characteristics of a Project
• Temporary
• Have definite beginning and end
• Create unique product or service
• Have objective that indicate completion
Portfolio / Program / Project
 Portfolio
 A portfolio can be a collection of programs or projects and
without dependency between each other.
 One example or portfolio would be to improve facility
services. It would be composed of a program to improve
water, other to improve electricity, other to improve gas.
 Program
 A program is a collection of related projects, but they all
share similar goals and would have benefits if coordinated
together. Managing each of them alone would not allow to
achieve same benefits.
 Programs and projects are grouped to achieve strategic
business objectives.
 Project has a specific goal and scope.
Project Management
 Project management is the discipline of
planning, organizing, managing, leading,
and controlling resources to achieve
specific goals
 It is the science of organizing the
components of a project, whether the
project is development of a new product,
the launch of a new service, a marketing
campaign,
Software Project Management (SPM)
 Itis a process of managing, allocating
and timing resources to develop
computer software that meets
requirements.
SPM Tasks
 Problem Identification
 Problem Definition
 Project Planning
 Project Organization
 Resource Allocation
 Project Scheduling
 Tracking, Reporting and Controlling
 Project Termination
Effective Project
Management
4 P
 People
 Product
 Before a software project is planned, the
product objectives and scope should be
established, technical and management
constraints should be identified.
 Process
 Here the important thing is to select an
appropriate process model to develop the
software.
 Project
Software Projects vs other Type
of Projects
 Invisibility
 Complexity
 Conformity(similarity)
 Flexibility
Activities covered by SPM
 Feasibility Study
 Is it worth doing?
 It has a valid business case
 Planning
 How do we do it?
 Project Execution (Do It)
 Requirements Analysis
 Architecture Design
 Detailed Design
 Code and Testing
 Integration
 Installation
 Acceptance Support
Project Success and Failure
 Project plan should be designed to
ensure project success by preserving the
business case for the project
 Project objectives vs. Business
Objectives
 Project Objectives
 The agreed functionality, required level of
quality, on time, within budget
Why Do Software Projects
Fail?
 People begin programming before they
understand the problem
 Everyone likes to feel that they’re making
progress
 When the team starts to code as soon as the
project begins, they see immediate gains
 When problems become more complex (as
they always do!), the work gets bogged down
Why Do Software Projects
Fail?
 Inthe best case, a team that begins
programming too soon will end up
writing good software that solves the
wrong problem
 The team has an unrealistic idea about
how much work is involved.From far
away, most complex problems seem
simple to solve
Why Do Software Projects
Fail?
 Teams can commit to impossible
deadlines by being overly optimistic and
not thinking through the work
 Few people realize the deadline is
optimistic until it’s blown
 Defects are injected early but
discovered late.
Why Do Software Projects
Fail?
 Projects can address the wrong needs
 Requirements can specify incorrect behavior
 Design, architecture and code can be
technically flawed
 Test plans can miss functionality
 The later these problems are found, the more
likely they are to cause the project to fail
Why Do Software Projects
Fail?
 Programmers have poor habits – and
they don’t feel accountable for their
work.
 Programmers don’t have good control of
their source code
 Code written by one person is often
difficult for another person to understand
Why Do Software Projects
Fail?
 Programmers don’t test their code,
which makes diagnosing and fixing
bugs more expensive
 The team does not have a good sense
of the overall health of the project.
Why Do Software Projects
Fail?
 Everyone assumes that the testers will
catch all of the defects that were injected
throughout the project.
 When testers find defects, programmers
are antagonized because they feel that
they are being personally criticized.
 When testers miss defects, everyone
blames them for not being perfect.
Information System Vs. Embedded
System
 Information System
 Willenable staff to carry out the office
process
 Embedded System
 Which controls machines
Objectives Vs. Products
 Project aim is to produce a product or meet
certain objectives
 Many projects have two stages
 Objective Driven
 Itresults in recommendation or Identify the need
for new software system(Requirments)
 Product Driven
 Itis actually to create a software
product(implementation)
Stakeholders
 Internal to Project Team
 External to Project Team but within the
same organization
 External to both organization and
project team
Setting Objectives
 Who actually own the project?
 Objectives should define what the project team
must do to achieve for project success
 These are post conditions (outcomes) of a
project
 Project authority is steering committee
 It is responsible for setting, monitoring and
modifying objectives
 Project manager is responsible runs the project on
a day to day basis
Sub Objectives and Goals
 Keep objective cost within a certain
budget
 In order to achieve objective we must
achieve certain goals or sub objectives
first.
 Objectives must be
 Measurable (effectiveness)
 Achievable
 Relevant(obj relevent to project)
 Time Constrained (starting and ending date)
Business Case
 Projects need to have justification or
business case
 Justification is based on cost-benefit
analysis of a project
What is Management?
 Planning (how we do it)
 Organizing (arrange activity)
 Staffing(resource allocation)
 Directing (instruction to staff)
 Monitoring (check project & process)
 Controlling (control activities)
 Innovating (always come up new idea)
 Representing (how to communicate the
stack holder)
Text Book

 Software
Project Management by Bob
Hughes and Mike Cotterell, 5th Edition

You might also like