0% found this document useful (1 vote)
56 views37 pages

Chapter One Introduction To Software Project Management

The document provides an introduction to software project management. It discusses what constitutes a project, key characteristics of projects, and the triple constraints of scope, time and cost. It also outlines the core knowledge areas of project management including scope, time, cost, quality, human resources, communication, risk and procurement management. Integration management aims to coordinate these areas. Software project management focuses on people, product, process and project management processes of initiating, planning, executing, controlling and closing a project.

Uploaded by

mo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
56 views37 pages

Chapter One Introduction To Software Project Management

The document provides an introduction to software project management. It discusses what constitutes a project, key characteristics of projects, and the triple constraints of scope, time and cost. It also outlines the core knowledge areas of project management including scope, time, cost, quality, human resources, communication, risk and procurement management. Integration management aims to coordinate these areas. Software project management focuses on people, product, process and project management processes of initiating, planning, executing, controlling and closing a project.

Uploaded by

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

Software Project Management

Chapter One
Introduction to Software Project
Management
Sem. I – 2021

Dr. V Sunkari
School of SITE-AAiT 1
Failures………
Reasons for Failure……
Software Project Management Fundamentals

Project
Project is
A specific plan of design
A planned undertaking
Large undertaking
Generally, software project is defined as a unique endeavor undertaken with a purpose.
A project has the following attributes:
A project has a unique purpose
A project is temporary
A project is developed in increments
A project requires resources
A project involves uncertainty
In addition, the key characteristics of a project are non-routine, planned, several
specialisms, several phases, constrained resources, and large and complex.

4
Software Project Management Fundamentals

Software Project vs. other types of projects


Many of the techniques of general project management are applicable to software
project management (SPM).
Software project management could be perceived as the process of making visible that
which is invisible.
Invisibility- Progress is not immediately visible.
Complexity- software products has more complexity than other engineered
artifacts.
Flexibility- the ease of which software can be changed.

Project Constraints
A project has triple constraints:
Scope – what work will be done?
Time- how long will it take to complete?
Cost - how much will it cost to complete?
Managing the triple constraint involves making trade-offs between them 5
Software Project Management Fundamentals

Project Management
Project management is the application of knowledge, skills, tools and techniques to
project activities to meet requirements.
A project management framework includes:
Stakeholders- people involved
Project management knowledge areas,
Project management tools and techniques- assist in carrying out the work
The knowledge area has 3 parts with 9 knowledge areas:
Core Functions
Scope, Time, Cost and Quality
Supporting Functions
Human resource, communication, risk and procurement management
Integration Management

6
Software Project Management Fundamentals

Core functions …
Scope Management involves defining and managing all the work required to complete
the project successfully
Time Management involves estimating how long it will take to complete the work,
developing an acceptable project schedule, and estimating timely completion of the
project
Cost Management consists of estimating and managing the budget for the project
Quality Management ensures that the project will satisfy the stated needs for which it
was undertaken

Supporting functions …
Human resource management is concerned with making effective use of the people
involved with the project
Communication Management involves generating, collecting disseminating, and
storing information
Risk Management includes identifying, analyzing, and responding to risks.
Procurement Management involves acquiring or procuring goods and
services for a project 7
Software Project Management Fundamentals

Integration management
Project Integration Management involves coordinating all of the other project
management knowledge areas through out a project’s life cycle.
Integration management involves seven processes.
The first of these processes is the development of the project charter. The
project charter initiates the project. This document authorizes the project to get
underway. Project charters state the project objectives and name the project
manager. It is usually no more than one page long.
The second process is the development of the preliminary scope statement.
The third process in integration management is the development of the project
plan. The project plan includes the project charter, the definition of the project,
project objectives, the project budget, the project schedule, the resources required
for the project, the approach, management plans, and the initial risk assessment.
The next process involved is the directing and monitoring of project execution.
Change Management
The control of integrated change
Finally, the project must be closed when it has been completed.
8
Software Project Management Fundamentals

Project Portfolio
Project portfolio involves organizing and managing projects and programs as a
portfolio of investments that contribute to the entire enterprise’s success.
A program is a group of related projects managed in a coordinated way to obtain
benefits and control not available from managing them individually.
The major difference between project management and portfolio are
Project Management answers tactical goals such as:
Are carrying out project well?
Are projects on Time and Budget
Portfolio Management answers strategic goals such as:
Are working on the right projects?
Do we have the right resources?

9
Software Project Management Fundamentals

Software Project Management


SPM ensures the delivery of quality system on time within budget.
SPM fundamentals consist of:
Determining the size of the product
Allocating resources appropriate for a product of that size
Creating a plan for applying the resources, and
Monitoring and Directing the resources.

Project Management Processes


SPM has 5 processes/phases:
Initiating: defining and authorizing a project
Planning: devising workable plans such as SPMP, RMP, QAP
Executing: coordinating people and other resources to carry out the various plans
Controlling: regularly measuring and monitoring progress to ensure the project is
on track.
Closing: formalizing acceptance of the project and ending it 10
Software Project Management Fundamentals

Project Management Processes …


The processes are not isolated events
The level of activity and length of each process varies for every project.
Normally, execution takes more resources and time followed by planning.
Controlling is done throughout the project and take less resource and time.
Initiating and closing take the least amount of resources and time

Focuses of Software Project Management


SPM’s basic focuses – 4 Ps
1. People: It is not only critically important to select good team members, but also
manage the team effectively.
2. Product: Software product is defined and described in terms of context,
objective, functions and performance. The product requirements must be
communicated from customer to developer, partitioned (decomposed) into their
constituent parts, and positioned for work by the software team.
11
Software Project Management Fundamentals

Focuses of Software Project Management …


3. Process
Software process is a framework for the tasks that are required to build high-
quality software.
The framework includes:
Framework activities with
Task sets which in turn includes Tasks, Milestones, and Work
products.
Umbrella activities include:
SCM, RM, SQA
The umbrella activities are independent of the framework activities
and occur throughout the process.
The software process is applicable to all software projects regardless of
size and complexity.

12
Software Project Management Fundamentals

Focuses of SPM-Process- Process Maturity


In recent years, there has been a significant emphasis on “process maturity.”
To determine an organization’s current state of process maturity, the Software
Engineering Institute (SEI) uses an assessment that results in a five point grading
scheme.
The grading scheme determines compliance with a capability maturity model (CMM)
that defines key activities required at different levels of process maturity.
The process maturity levels are defined in the following manner:
Level 1: Initial
The software process is characterized as ad hoc and occasionally even
chaotic.
Few processes are defined, and success depends on individual effort.
Level 2: Repeatable
The necessary process discipline is in place to repeat earlier successes on
projects with similar applications.
Basic project management processes are established to track cost, schedule,
and functionality.
13
Software Project Management Fundamentals

Focuses of SPM-Process- Process Maturity …


Level 3: Defined
The software process for both management and engineering activities is
documented, standardized, and integrated into an organization wide software
process.
All projects use a documented and approved version of the organization's process
for developing and supporting software.
This level includes all characteristics defined for level 2.
Level 4: Managed
Detailed measures of the software process and product quality are collected.
Both the software process and products are quantitatively understood and
controlled using detailed measures.
This level includes all characteristics defined for level 3.
Level 5: Optimizing.
Continuous process improvement is enabled by quantitative feedback from the
process and from testing innovative ideas and technologies.
This level includes all characteristics defined for level 4.
14
Software Project Management Fundamentals

Focuses of SPM-Process- Process Model


The generic phases are common to all products. The issue is how these phases will be
executed. The execution is through a process. Thus, it is appropriate to choose the
process that fits your project. The process models include:
Linear
Phases: a number of dependent phases executed sequentially with no feedback
loops.
Example: Standard Waterfall Model
Characteristics:
Requirements are clear and stable
Goal and solution are clear
Complete solution is not released until the final phase.

Disadvantages of Linear Model Advantage of Linear Model

Change intolerant Complete scheduling is possible


Requires detailed plan Resource requirements are known
15
Software Project Management Fundamentals

Focuses of SPM-Process- Process Model


Incremental
A number of dependent phases that are repeated sequentially with no feedback
loops.
Example: Staged Delivery Waterfall Model; Feature-Driven Development
model (FDD)
Characteristics:
Clear goal, and Solution
Requirement splits for development purposes and delivered in increments.
Complete product evolves over time; each increment releases a partial of
known solution so that the customer can begin to realize business value
without having to wait for the complete solution. The first increment is often
a core product. That is, basic requirements are addressed, but many
supplementary features (some known, others unknown) remain
undelivered.

16
Software Project Management Fundamentals

Focuses of SPM-Process- Process Model


Incremental …
Advantages
Accommodates some changes unlike linear
The core product is used by the customer (or undergoes detailed
review).
As a result of use and/or evaluation, a plan is developed for the next
increment.
The plan addresses the modification of the core product to better meet
the needs of the customer and the delivery of additional features and
functionality.
This process is repeated following the delivery of each increment, until
the complete product is produced.
Better use scarce resource – scarce resource can be scheduled to from
increment to increment
Allows involvement of clients

17
Software Project Management Fundamentals

Focuses of SPM-Process- Process Model


Incremental …
Disadvantages
Requires detailed plan
Defining each increment might be problematic: Each increment must be
sound from a technical as well as a business perspective.
Application:
Any concern that requirements may not be clear and complete
Analysis  Design  Code Test  Delivery of 1st increment
… … … … …
Analysis  Design  Code Test  Delivery of nth increment

18
Software Project Management Fundamentals

Focuses of SPM-Process- Process Model


Iterative
Phase: a number of phases that are repeated in groups with a feedback loops
after each group is completed. Iteration can be on requirements, design,
implementation, and others.
Example:
Evolutionary Development Waterfall Model
SCRUM
Rational Unified Process (RUP)
Dynamic Systems Development Method (DSDM)
Characteristics:
Clear goal; not all of the solution is clearly defined
Learn by doing or learn and discover.
Known solution is released in each iteration.
With each iteration more and more of the depth of the solution is revealed.
That follows from the customer having an opportunity to play with the then
solution.
19
Software Project Management Fundamentals

Focuses of SPM-Process- Process Model


Iterative …
Advantage
Customer can review intermediate prototype.
Accommodates changes between iterations.
Adapts to changing business conditions.
Due to business conditions, what the customer needs in the solution might
change and these changes can be built into the solution at succeeding
iterations.
Disadvantage
Requires more active customer involvement which is not easily obtained
Complete solution cannot be specified from the outset which might be
difficult to convince the customer

20
Software Project Management Fundamentals

Focuses of SPM-Process- Process Model


Evolutionary Development Waterfall Model (EDWM)
EDWM handles those cases where the solution is known to a certain level of
detail.
The final features that completely defines the solution are what are missing.
Through a sequence of partial solutions the complete solution is discovered.
The process involves a meaningful involvement of the customer.
SCRUM
A SCRUM involves the team as a unit moving the ball down field in what
would appear to be an ad hoc manner.
Focus on delivering fully- tested, independent, valuable, small features.
The SCRUM team - is self-directed, operates in successive one-month
iterations, holds team meetings, continuously demos the client, and adapts its
development plan at the end of each iteration.
SCRUM is characterized as chaotic and without project manager.

21
Software Project Management Fundamentals

Focuses of SPM-Process- Process Model


Iterative …
Rational Unified Process (RUP)
RUP adapts quite well to a process approach that is documentation-heavy or
documentation-light. No Single process is suitable for all Software Dev.
The foundation of RUP lies in the library of reusable code, requirements,
designs, and so on.
The essential phases of RUP are:
Inception - Scope the system adequately, validate initial costing and
budgets and initial risk analysis.
Elaboration – mitigate the key risk items identified by the analysis up
to the end of the phase.
Construction- build the software system.
Transition – Transit the system from development to production.
Each iteration of RUP includes the entire life cycle.
Dynamic Systems Development Model
DSDM is separated from the standard waterfall model by its feedback loops.
22
Software Project Management Fundamentals

Focuses of SPM-Process- Process Model


The Spiral Model (More on Risk Analysis)
Is evolutionary that couples the iterative nature of prototyping with the
controlled and systematic aspects of the linear sequential model.
It provides the potential for rapid development of incremental versions of the
software.
Using the spiral model, software is developed in a series of incremental
releases.
During early iterations, the incremental release might be a paper model or
prototype.
During later iterations, increasingly more complete versions of the engineered
system are produced.
The model has six task sets
Customer Communication - tasks required to establish effective
communication between developer and customer.
Planning - tasks required to define resources, timelines, and other project
related information.
Risk Analysis - tasks required to assess both technical and management 23
Software Project Management Fundamentals

Focuses of SPM-Process- Process Model


The Spiral Model .. Task sets …
Engineering - tasks required to build one or more representations of the
application.
Construction and Release - tasks required to construct, test, install, and provide
user support (e.g., documentation and training).
Customer evaluation - tasks required to obtain customer feedback based on
evaluation of the software representations created during the engineering stage
and implemented during the installation stage.
The spiral model has the following problems
It may be difficult to convince customers (particularly in contract situations) that
the evolutionary approach is controllable.
It demands considerable risk assessment expertise and relies on this expertise for
success. If a major risk is not uncovered and managed, problems will
undoubtedly occur.

24
Software Project Management Fundamentals

Focuses of SPM-Process- Process Model


Prototyping
Phases: Gather Reqts  build  test

Requirement is unclear to all


Disadvantage:
The customer sees what appears to be a working version of the software,
unaware that in the rush to get it working no one has considered overall
software quality or long-term maintainability. When informed that the
product must be rebuilt so that high levels of quality can be maintained, the
customer demands that "a few fixes" be applied to make the prototype a
working product.
The developer often makes implementation compromises in order to get a
prototype working quickly. An inappropriate operating system or
programming language may be used simply because it is available and
known; an inefficient algorithm may be implemented simply to demonstrate
capability.
25
Software Project Management Fundamentals
Focuses of SPM-Process- Process Model
RAD(Rapid Application Development)
Incremental software development process model that emphasizes an extremely
short development cycle.
A “high-speed” adaptation of the linear sequential model in which rapid
development is achieved by using component-based construction.
Requirement is clear and stable + Each major function can be addressed by a
separate RAD team
Disadvantage:
For large and also scalable projects, RAD requires sufficient number of
teams.
RAD requires committed developers and customers to get a system
complete in a much abbreviated time frame. If commitment is lacking from
either constituency, RAD projects will fail.
If a system cannot be properly modularized, the RAD approach may not
work.
RAD is not appropriate when technical risks are high. This occurs when a
new application makes heavy use of new technology or when the new
software requires a high degree of interoperability with existing computer
programs. 26
Software Project Management Fundamentals

Focuses of SPM-Process- Process Model


Component Based
Emphasizes the design and construction of computer based systems using
reusable component. Requirement can be split mapped to existing
components.
Concurrent Model
The concurrent process model is often used as the paradigm for the development
of Client/server applications.
A client/server system is composed of a set of functional components.
When applied to client/server, the concurrent process model defines activities in
two dimensions: a system dimension and a component dimension.
System level issues are addressed using three activities: Design, Assembly, and
Use.
The component dimension is addressed with two activities: Design and Realization.

27
Software Project Management Fundamentals

Focuses of SPM-Process- Process Model


Concurrent Model
Concurrency is achieved in two ways:
1. System and component activities occur simultaneously and can be modeled
using the state-oriented approach.
2. A typical client/server application is implemented with many components, each
of which can be designed and realized concurrently.
In reality, the concurrent process model is applicable to all types of software
development and provides an accurate picture of the current state of a project.

Focuses of SPM-Process- Process Technology


The process models discussed must be adapted for use by a software project team.
To accomplish this, process technology tools have been developed to help software
organizations analyze their current process, organize work tasks, control and monitor
progress, and manage technical quality.
28
Software Project Management Fundamentals

Focuses of SPM- Project


4. Project …
In order to manage a successful software project, we must understand what can
go wrong (so that problems can be avoided) and how to do it right.
Ten signs that indicate that a project is in jeopardy:
1. Software people don’t understand their customer’s needs.
2. The product scope is poorly defined.
3. Changes are managed poorly.
4. The chosen technology changes.
5. Business needs change [or are ill-defined].
6. Deadlines are unrealistic.
7. Users are resistant.
8. Sponsorship is lost [or was never properly obtained].
9. The project team lacks people with appropriate skills.
10. Managers [and practitioners] avoid best practices and lessons learned.

29
Software Project Management Fundamentals

Focuses of SPM- Project - Software Project Team Organization


Responsibilities: Customer
Giving requirements and
requirement clarifications.
Providing test data,
acceptance criteria, etc.
Accepting deliverables
Responsibilities-PM
The PM plans and guides the
project by:
Initiating the project
Understanding the
project requirement
Planning, estimation
and scheduling of
project.

30
Software Project Management Fundamentals

Focuses of SPM- Project - Software Project Team Organization


Responsibilities-PM …
Identifying the training needs, planning and executing them
Moderating work products
Reporting, monitoring, and reviewing status
Resolving issues
Maintaining action log
Releasing deliverables
Closing the project
Responsibilities-Dev’pt Team
Understanding system requirements
Defining requirements
Performing design and implementation
Delivering work products
Reporting status and resolving issues

31
Software Project Management Fundamentals

Focuses of SPM- Project - Software Project Team Organization


Responsibilities- Config. Mgt Team
Controlling configuration library
Enforcing change control
Holding custody of change requests
Making customer release
Responsibilities-Risk Mgt Team
Identifying potential risks
Estimating the probability and impact of each risk
Constructing a risk plan
Responsibilities-SQA Team
Upholding organizational policies
Adhering to project methodologies
Performing review and test

32
Software project management tasks

Project Management Tasks


Project Initiation
Project Planning
Project Estimation
Risk Management
Configuration Management
Project Monitoring and Control

Project Management Tasks -Initiation


Purpose of project initiation
To formally authorize a new project or allow continuation of an existing one
To confirm that the assigned project is achievable with the specified framework
Project Initiation- Activities
Study customer’s request with care
Investigate needs/business objectives
33
Software project management tasks
Project Management Tasks -Initiation
Activities …
Find out constraints and opportunities
Choose dev’pt strategy by considering alternatives
Develop the initial project plan
Build the team
Organize the project kick-off
Project Initiation- Kick-off
Purpose of project kick-off:
To create a team spirit right up front.
To create an open environment where a fair exchange of technical issue is
encountered.
To achieve a common understanding of project requirements
To get commitment of the team members towards the project objectives
Kick-off agenda
Customer Commitments, Project plan and Milestones, Risks, Performance
measures, and Baselines
34
Software project management tasks

Project Management Tasks -Initiation


Project Initiation- Kick-off
Who should attend kick-off:
Project manager
Team members
Senior management
Customers
Suppliers
Any other stakeholders

Project Management Tasks -Planning


Purpose of project planning:
To build appropriate software by making everyone in the project to understand
and agree on both why and how that software will be built before the work begins.
Planning starts during project initiation stage

35
Software project management tasks
Project Management Tasks -Planning
Planning specifies:
What work will be done?
How will it be done?
How much will it cost?
When will it be accomplished?
What is the resource to do the work?
What are the mechanisms of monitoring and controlling?
How will the changes and risks be handled?
Primary Planning steps include:
Identifying project scope and objectives
Identifying project organizational environment
Analyzing project characteristics
Identifying project products and activities
Estimating effort for each activity
Identifying risks
Allocating resources 36
Software project management tasks

Project Management Tasks -Planning


Planning documents:
Software Project Management Plan (SPMP)
Risk Management Plan (RMP)
Software Configuration Mgt Plan (SCMP)
Software Quality Assurance Plan (SQAP)

37

You might also like