Comp 468 Lecture Slide Chapter 04 (Software Project Management)

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 69

Chapter Four

Software Project Management

Prepared by: Marta G. (MSc.)


5/13/2024 FSE_ CH4 1
What Is a Project?
 A project is well-defined task, which is a collection of
several operations done in order to achieve a goal.
 It is a temporary endeavor undertaken to create a unique
product or service
 Projects ends when their objectives have been reached or
the project has been terminated hence it is a temporary
phase in the lifetime of an organization.
5/13/2024 FSE_ CH4 2
Example of project

 A small software development team adds a new feature to an


internal software application for the finance department

 A college campus upgrades its technology infrastructure to


provide wireless Internet access across the whole campus

5/13/2024 FSE_ CH4 3


Cont…

Attributes of Projects
 Unique purpose: different from other products and services (unique
deliverable)
 Temporariness: definite beginning and end
 Require resources, often from various areas
 Should have a primary sponsor or customer
 Involve uncertainty

5/13/2024 FSE_ CH4 4


Cont…
The Triple Constraints
Every project is constrained in different ways by its
◦ Scope goals: What is the project trying to accomplish?
◦ Time goals: How long should it take to complete?
◦ Cost goals: How much it cost?
 It is the project manager’s duty to balance these three often
competing goals
 Successful project management means meeting all three goals
(scope, time, and cost) and satisfying the project sponsors

5/13/2024 FSE_ CH4 5


Project and Program Managers

▪ Project managers work with project sponsors, the project


team, and other people involved in a project to meet project
goals
▪ Program: group of related projects managed in a
coordinated way to obtain benefits and control not available
from managing them individually
▪ Program managers oversee programs; often act as bosses
for project managers

5/13/2024 FSE_ CH4 6


Software Project management

 A Software Project management is the complete procedure of


software development from requirement gathering to testing and
maintenance,
✓Carried out according to the execution methodologies,
✓In a specified period of time to achieve intended software
product.
 There are a number of software to support SPM that enables to
provide Task lists, schedules, file sharing, and communication.
◦ Example: Meister task, Basecamp, Nifty, Trello, JIRA

5/13/2024 FSE_ CH4 7


Need of software project management

▪ Project management is needed because software development is


always subject to budget and schedule constraints that are set by
the organization developing the software.
▪ All such business and environmental constraints bring risk in
software development hence it is essential to manage software
projects efficiently.

5/13/2024 FSE_ CH4 8


Software Project Manager
▪ A software project manager is a person who undertakes
the responsibility of executing the software project.
▪ A project manager closely monitors the development
process, prepares and executes various plans, arranges
necessary and adequate resources,.
▪ Maintains communication among all team members in
order to address issues of cost, budget, resources, time,
quality and customer satisfaction

5/13/2024 FSE_ CH4 9


Responsibilities of a project manager
 Managing People
✓Act as project leader
✓Liaison with stakeholders
✓Managing human resources
✓Setting up reporting hierarchy etc.
 Managing Project
✓Defining and setting up project scope
✓Managing project management activities
✓Monitoring progress and performance
✓Risk analysis at every phase
✓Take necessary step to avoid or come out of problems
5/13/2024 FSE_ CH4 10
Project Planning
▪ Before the project can begin, the manager and the software team must estimate
▪ The work to be done,
▪ The resources that will be required, and
▪ The time that will elapse from start to finish.
▪ The objective of project planning is to create a plan to meet the commitments
of the project, I.e. create a path that, if followed, will lead to a successful
project.
▪ Project Planning helps in
▪ Facilitating communication
▪ Monitoring / measuring the project progress
▪ Provides overall documentation of planning decisions

5/13/2024 FSE_ CH4 11


Cont…
▪ Project Planning is an ongoing effort throughout the Project
Lifecycle.
▪ The major issues the project plan addresses are:
▪ Cost estimation
▪ Schedule and staffing
▪ Risk Analysis & Management
▪ Software Quality Assurance Planning
▪ Project Monitoring Plans
▪ Configuration Management Plan

5/13/2024 FSE_ CH4 12


Cont…
Cost Estimation
 Predicting the resources required for a software development
process
 Highly subjective and depends on experience
 Some of the questions that would be addressed in cost estimation are:
✓ How much effort is required to complete an activity?
✓ How much calendar time is needed to complete an activity?
✓ What is the total cost of an activity?

5/13/2024 FSE_ CH4 13


Software cost components
▪ Hardware and software costs.
▪ Travel and training costs.
▪ Effort costs (the dominant factor in most projects)
▪ The salaries of engineers involved in the project;
▪ Social and insurance costs.
▪ Effort costs must take overheads into account
▪ Costs of building, heating, lighting.
▪ Costs of networking and communications.
▪ Costs of support resources
▪ Costs of shared facilities (E.g library, staff restaurant, etc.).
5/13/2024 FSE_ CH4 14
Software productivity
▪ A measure of the rate at which individual engineers
involved in software development produce software and
associated documentation.
▪ Essentially, we want to measure useful functionality
produced per time unit.
▪ Productivity may generally be increased at the cost of
quality
▪ It is not clear how productivity/quality metrics are related

5/13/2024 FSE_ CH4 15


Factors affecting productivity

5/13/2024 FSE_ CH4 16


Schedule and staffing
 Software project scheduling is creating a network of software
engineering tasks enabling you to get the job done on time.
 Responsibility is assigned for each task, progress is
tracked, and the network is updated to changes in the process
as they occur.
 A project Schedule is at two levels - overall schedule and
detailed schedule
◦ Overall schedule comprises of major milestones and final date
◦ Detailed schedule is the assignment of lowest level tasks to resources

5/13/2024 FSE_ CH4 17


Risk Analysis and Management

▪ Any project can fail - reasons


▪ Managerial (e.g. schedule and budget overrun)
▪ Technical (doesn’t deliver what is expected)
▪ A project may fail due to unforeseen events - risk management
aims to tackle this.
▪ Risk: any condition or event whose occurrence is not certain but
which can cause the project to fail
▪ Cost risk
▪ Performance risk
▪ Schedule risk

5/13/2024 FSE_ CH4 18


Risk management tasks

RISK IDENTIFICATION

RISK ASSESSMENT RISK ANALYSIS

RISK PRIORITIZATION
RISK
MANAGEMENT RISK MANAGEMENT
PLANNING

RISK CONTROL RISK RESOLUTION

RISK MONITORING

5/13/2024 FSE_ CH4 19


Cont…
Risk Identification
▪ To identify possible risks to a project, i.e. to those events that might
occur and which might cause the project to fail
▪ No “algorithm” possible, done by “what ifs”, checklists, past
experience, etc
▪ Top Risk Examples
▪ Shortage of technically trained manpower
▪ Too many requirement changes
▪ Unclear requirements
▪ Not meeting performance requirements
▪ Unrealistic schedules
▪ Insufficient business knowledge
▪ Working on new technology 5/13/2024 FSE_ CH4 20
Cont…

Risk Prioritization
 The number of risks might be large
 Must prioritize them to focus attention on the “high risk”
areas
 For prioritization, impact of each risk must be understood
 In addition, probability of the risk occurring should also be
understood
 Risk exposure (RE) = probability of risk occurring * risk
impact
 RE is the expected value of loss for a risk

5/13/2024 FSE_ CH4 21


Cont …
 Prioritization can be done based on risk exposure value
 Plans can be made to handle high RE risks
 A Simple approach to Risk Prioritization
✓Classify risk occurrence probabilities as: Low, Medium, High
✓Classify risk impact as: Low, Medium, High
✓Identify those that are HH, or HM/MH
✓Focus on these for risk mitigation
✓Will work for most small and medium sized projects

5/13/2024 FSE_ CH4 22


Risk Resolution

 Risk Resolution is the risk management approach in which


various strategies are analyzed to find the best alternative to
resolve risk.
 The strategies include risk acceptance, risk avoidance, risk
protection, risk reduction, risk transfer.

5/13/2024 FSE_ CH4 23


Risk Control
▪ Can the risk be avoided?
▪ E.g. If new hardware is a risk, it can be avoided by working
with proven hardware
▪ For others, risk mitigation steps need to be planned and
executed
▪ Actions taken in the project such that if the risk materializes,
its impact is minimal
▪ Involves extra cost

5/13/2024 FSE_ CH4 24


Software Quality Assurance Plan
▪ Software Quality is conformance to
▪ Explicitly stated functional and performance requirements
▪ Explicitly stated development standards
▪ Implicit characteristics of all professional developed software
▪ Quality can be defined in many ways
▪ Current industry standard - delivered defect density (e.g.
#defects)
▪ Defect - something that causes software to behave in an
inconsistent manner

5/13/2024 FSE_ CH4 25


Defect Injection and Removal

▪ Software development is labor intensive


▪ Defects are injected at any stage
▪ As quality goal is to minimize delivered defect density,
these defects have to be removed
▪ Done primarily by quality control (QC) activities of
reviews and testing

5/13/2024 FSE_ CH4 26


Quality Plan

▪ The quality plan drives the quality activities in the project


▪ Level of plan depends on models available
▪ Must define QC tasks that have to be performed in the
project
▪ Can specify defect levels for each QC tasks (if models
and data available)

5/13/2024 FSE_ CH4 27


Project Monitoring Plans
▪ Project monitoring includes Progress/status, Cost / effort,
Personnel, resources
▪ A plan is a mere document that can guide - It must be
executed
▪ To ensure execution goes as per plan, it must be
monitored and controlled
▪ Monitoring requires measurements and methods for
interpreting them
▪ Monitoring plan has to plan for all the tasks related to
monitoring

5/13/2024 FSE_ CH4 28


Project Tracking
▪ Goal: To get visibility in project execution so corrective
actions can be taken when needed to ensure project
succeeds
▪ Different types of monitoring done at projects;
measurements provide data for it
▪ Activity-level monitoring
▪ Each activity in detailed schedule is getting done
▪ Often done daily by managers
▪ A task done marked 100%; tools can determine status of higher
level tasks

5/13/2024 FSE_ CH4 29


Project Management Plan

▪ The project management plan (PMP) document is the


culmination of all planning activities undertaken by
project managers.
▪ It should not be confused with the detailed project
schedule.
▪ Detailed project schedule represents only the schedule
and assignment of activities.
▪ PMP shows what activities get done in the project

5/13/2024 FSE_ CH4 30


The Project Life Cycle

▪ A project life cycle is a collection of project phases that


defines:
▪ What work will be performed in each phase
▪ What deliverables will be produced and when
▪ Who is involved in each phase
▪ How management will control and approve work produced in
each phase
▪ A deliverable is a product or service produced or
provided as part of a project

5/13/2024 FSE_ CH4 31


Characteristics of project life cycle

▪ In early phases of a project life cycle:


▪ Resource needs are usually lowest
▪ The level of uncertainty (risk) is highest
▪ Project stakeholders have the greatest opportunity to influence the
project
▪ In middle phases of a project life cycle:
▪ The certainty of completing a project improves
▪ More resources are needed
▪ The final phase of a project life cycle focuses on:
▪ Ensuring that project requirements were met
▪ The sponsor approves completion of the project
5/13/2024 FSE_ CH4 32
Product vs. Project Life Cycle Relationships

▪ Product Life cycle


▪ Consists sequential, non-overlapping product phases
determined by the organization need.
▪ Products may have many projects associated with it.
▪ E.g. A number of separate projects may be related to the
development of a new automobile.
▪ Relationships
▪ The development of a new product could be a project on its
own.
▪ An existing product might benefit from a project to add new
functions or features.
5/13/2024 FSE_ CH4 33
Project Phases
▪ A project should successfully pass through each of the
project phases in order to continue on to the next
▪ Allows the project to be segmented in to logical subsets
for ease of mgmt., planning, and control.
▪ The main phases that appeared in a project life cycle are
▪ Initiating process
▪ Planning process
▪ Monitoring and controlling process
▪ Executing process
▪ Closing process

5/13/2024 FSE_ CH4 34


Project Governance Across the Life Cycle
▪ Project Governance: Provides a comprehensive, consistent
method of controlling the project and ensuring its success.
▪ Should be described in the project management plan(PMP)
▪ Decisions must be made regarding:
▪ Who will be involved
▪ What resources are necessary
▪ Whether more than one phase will be involved
▪ And the general approach for completing the work

5/13/2024 FSE_ CH4 35


Phase-to-Phase Relationships

There are three basic type of phase to phase r/ship


1. Sequential relationship
➢ A phase can only start once the previous phase is complete.
➢ It reduces uncertainty, but may eliminate options for reducing
the schedule.
2. Overlapping relationship
➢ The phase starts prior to the completion of the previous one
➢ Applied for schedule compression called fast tracking.
➢ May increase risks and can result in rework.

5/13/2024 FSE_ CH4 36


Cont…

3.Iterative relationship
➢ Only one phase is planned at any given time
➢ And, the planning for the next is carried out as work
progresses on the current phase and deliverables.
➢ Is useful in largely undefined, uncertain, or rapidly
changing environments such as research
➢ Reduce the ability to provide long term planning.

5/13/2024 FSE_ CH4 37


Stakeholders
 Are persons or organizations (e.g. customers, sponsors,
organizations, or the public)
 Are those whose interests may be positively or negatively
affected by the performance or completion of the project
 May exert influence on the project, its deliverables, and
project team members
 Project managers must take time to identify, understand,
and manage relationships with all project stakeholders
 Senior executives/top management are very important
stakeholders
5/13/2024 FSE_ CH4 38
Organizational influences on project management

 Organizational culture, style, and structure influence


how projects are performed.
 Organizations project management maturity, and its
project management systems can also influence the
project

5/13/2024 FSE_ CH4 39


Organizational Culture

 Organizational culture is a set of shared assumptions,


values, and behaviors that characterize the functioning of
an organization

 Many experts believe the underlying causes of many


companies’ problems are not the structure or staff, but the
culture

5/13/2024 FSE_ CH4 40


Organizational structure

 Three basic organization structures


◦ Functional: functional managers report to the CEO(chief
executive officer ).
◦ Project: program managers report to the CEO
◦ Matrix: middle ground between functional and project
structures; personnel often report to two or more bosses;
structure can be weak, balanced, or strong matrix

5/13/2024 FSE_ CH4 41


Project Management Process

Project management
 Is the application of knowledge, skills, tools, and
techniques to project activities to meet project
requirements.
 Two major categories of project process
◦ Project management processes: ensure the effective
flow of the project throughout its existence.
◦ Product-oriented processes: specify and create the
project’s product.

5/13/2024 FSE_ CH4 42


Project Management Process Groups

 A process is a series of actions directed toward a


particular result
 Project management can be viewed as a number of
interlinked processes
 The project management process groups include:
✓Initiating processes
✓Planning processes
✓Executing processes
✓Monitoring and controlling processes
✓Closing processes

5/13/2024 FSE_ CH4 43


Common Project Management Process Interactions

 Project Management Process Groups are linked by the


outputs they produce.

 The output of one process generally becomes an input


to another process or is a deliverable of the project.

5/13/2024 FSE_ CH4 44


1. Initiating process group
▪ The main goal is to formally select and start off projects
▪ It is good practice to lay the groundwork for a project before it
officially starts
▪ Senior managers often perform several pre-initiation tasks,
including the following:
▪ Determine the scope, time, and cost constraints for the project
▪ Identify the project sponsor/stakeholders
▪ Select the project manager
▪ Develop a business case for a project
▪ Meet with the project manager to review the process and
expectations for managing the project
▪ Determine if the project should be divided into two or more
smaller projects
5/13/2024 FSE_ CH4 45
2. Project Planning group

 Software project planning is task, which is performed


before the production of software actually starts.

 Developing a realistic project plan is essential to gain an


understanding of the resources required, and how these
should be applied.

5/13/2024 FSE_ CH4 46


Cont…
 Key outputs include:
✓ A team contract
✓ A project scope statement
✓ A work breakdown structure (WBS)
✓ A project schedule, in the form of a Gantt chart with all
dependencies and resources entered
✓ A list of prioritized risks (part of a risk register)

5/13/2024 FSE_ CH4 47


3. Executing Process Group/Project Executing
 In this phase, the tasks described in project plans are
executed according to their schedules.
 Project managers must use their leadership skills to handle
the many challenges that occur during project execution
 A milestone report can help focus on completing major
milestones
 Involves coordinating people and resources, as well as
integrating and performing the activities of the project in
accordance with PM plan

5/13/2024 FSE_ CH4 48


4. Project Monitoring and Controlling
 Involves measuring progress toward project objectives,
monitoring deviation from the plan, and taking correction
actions
 Affects all other process groups and occurs during all phases
of the project life cycle
 Outputs include performance reports, change requests, and
updates to various plans
 Track, review, and regulate the progress and performance of
the project;
 Identify any areas in which changes to the plan
are required; and initiate the corresponding changes

5/13/2024 FSE_ CH4 49


5. Closing Process Group/Project Closing

▪ Involves gaining stakeholder and customer acceptance


of the final products and services
▪ Even if projects are not completed, they should be
closed out to learn from the past
▪ Outputs include project archives and lessons learned, part
of organizational process assets
▪ Apply appropriate updates to organizational process
assets

5/13/2024 FSE_ CH4 50


Project Scope Management
 It defines the scope of project; this includes all the
activities, process need to be done in order to make a
deliverable software product.

 Scope management is essential because it creates


boundaries of the project by clearly defining what would
be done in the project and what would not be done.

5/13/2024 FSE_ CH4 51


Scope determines
 Project objectives
 Deliverables
 Required resources
 budget
 Timeline

5/13/2024 FSE_ CH4 52


Project Scope Management Processes
 Collecting requirements: defining and documenting
stakeholders’ needs to meet the project objectives.
 Defining scope: The process of developing a detailed
description of the project and product.
 Creating the WBS: subdividing the major project
deliverables into smaller, more manageable components
 Verifying scope: formalizing acceptance of the completed
project deliverables
 Controlling scope: controlling changes to project scope
throughout the life of the project

5/13/2024 FSE_ CH4 53


Collecting Requirements
 A requirement is “a condition or capability that must be met
or possessed by a system, product, service, result, or
component to satisfy a contract, standard, specification, or
other formal document”
 For some IT projects, it is helpful to divide requirements
development into categories called elicitation, analysis,
specification, and validation
 It is important to use an iterative approach to defining
requirements since they are often unclear early in a project

5/13/2024 FSE_ CH4 54


Methods for Collecting Requirements

 Interviewing
 Focus groups and facilitated workshops
 Questionnaires and surveys
 Observation
 Prototyping
 Software tools

5/13/2024 FSE_ CH4 55


Defining Scope

▪ Key inputs for preparing the project scope statement


include the project charter, requirements documentation,
and organizational process assets such as policies and
procedures related to scope statements as well as project
files and lessons learned from previous, similar projects
▪ Tools and techniques: expert judgment, product analysis,
alternative identification and facilitated workshop.
▪ The key outs puts are project scope statement and project
document update

5/13/2024 FSE_ CH4 56


Creating the Work Breakdown Structure (WBS)

 The work breakdown structure visually defines the scope


into manageable portions that a project team can
understand, as each level of the work breakdown structure
provides further definition and detail.

 The WBS provides the foundation for all project


management work, including, planning, cost and effort
estimation, resource allocation, and scheduling.

5/13/2024 FSE_ CH4 57


Example

5/13/2024 FSE_ CH4 58


Verifying Scope

 It is very difficult to create a good scope statement and WBS


for a project
 It is even more difficult to verify project scope and minimize
scope changes
 Scope verification: focuses on formal acceptance of the
completed project scope by the stakeholders
 Quality control: concerned with correctness of the
deliverables and meeting the quality requirements specified
for the deliverables.

5/13/2024 FSE_ CH4 59


Controlling Scope
 Scope control involves controlling changes to the
project scope
 Goals of scope control are to:
◦ Influence the factors that cause scope changes
◦ Assure changes are processed according to procedures
developed as part of integrated change control
◦ Manage changes when they occur

5/13/2024 FSE_ CH4 60


Project Time Management
 Includes the process required for the timely completion of
the project.
 It deals with the ability to plan and finish the project in
timely manner.
 It deals with defining activity, estimating the duration of
activities, scheduling activity and ensuring adherence to
the schedule.

5/13/2024 FSE_ CH4 61


Importance of Project Schedules
 Project planning involves deciding which work would be
taken up and when.
 Time has the least amount of flexibility; it passes no
matter what happens on a project
 Schedule issues are the main reason for conflicts on
projects, especially during the second half of projects

5/13/2024 FSE_ CH4 62


Project Time Management Processes

 Defining activities: identifying the specific activities that


the project team members and stakeholders must perform
to produce the project deliverables
 Sequencing activities: identifying and documenting the
relationships between project activities
 Estimating activity resources: estimating how many
resources a project team should use to perform project
activities

5/13/2024 FSE_ CH4 63


Cont…
 Estimating activity durations: estimating the number of
work periods that are needed to complete individual
activities
 Developing the schedule: analyzing activity sequences,
activity resource estimates, and activity duration estimates
to create the project schedule
 Controlling the schedule: controlling and managing
changes to the project schedule

5/13/2024 FSE_ CH4 64


Project cost management

 Cost is a resource sacrificed or foregone to achieve a


specific objective or something given up in exchange.

 Project cost management includes the processes


required to ensure that the project is completed within
an approved budget

5/13/2024 FSE_ CH4 65


Project Cost Management Processes

 Estimating costs: developing an approximation or


estimate of the costs of the resources needed to complete
a project.
 Determining the budget: allocating the overall cost
estimate to individual work items to establish a baseline
for measuring performance.
 Controlling costs: controlling changes to the project
budget.

5/13/2024 FSE_ CH4 66


Project Resource management
 All elements used to develop a software product may be
assumed as resource for that project.
 This may include human resource, productive tools and
software libraries.
 The shortage of resources hampers the development of
project and it can lag behind the schedule.
 Allocating extra resources increases development cost in
the end. It is therefore necessary to estimate and allocate
adequate resources for the project.

5/13/2024 FSE_ CH4 67


Project management framework

5/13/2024 FSE_ CH4 68


Thank you

5/13/2024 FSE_ CH4 69

You might also like