0% found this document useful (0 votes)
20 views58 pages

Module 3 SE Software Project Management

Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
0% found this document useful (0 votes)
20 views58 pages

Module 3 SE Software Project Management

Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 58

SOFTWARE

ENGINEERING
SOFTWARE PROJECT MANAGEMENT
Here are some articles that gives you a deep understanding of Software
Project Management (SPM):

10.Software Project Management


1.Project Management Process Complexities
2.Project size estimation techniques 11.Quasi renewal processes
3.System configuration management 12.Reliability Growth Models
4.COCOMO Model 13.Jelinski Moranda software reliability
model
5.Capability maturity model (CMM)
14.Schick-Wolverton software reliability
6.Integrating Risk Management in SDLC | model
Set 1
15.Goel-Okumoto Model
7.Integrating Risk Management in SDLC |
Set 2 16.Mills’ Error Seeding Model

8.Integrating Risk Management in SDLC | 17.Basic fault tolerant software


Set 3 techniques

9.Role and Responsibilities of a software 18.Software Maintenance


Project Manager
Software Project
Management(SPM)
Software Project Management (SPM) involves planning,
organizing, and controlling software development projects to
ensure they are completed on time, within budget, and according
to specified quality standards.
Project scheduling is responsible activity of project manager.
What is the Project
Management Process?
Project Management is the discipline of planning, monitoring,
and controlling software projects, identifying the scope, estimating
the work involved, and creating a project schedule.
Along with it is also responsible for keeping the team up to date on
the project’s progress handling problems and discussing solutions.
Project Scheduling
Project schedule simply means a mechanism that is used to
communicate and know about that tasks are needed and has to be
done or performed and which organizational resources will be given
or allocated to these tasks and in what time duration or time frame
work is needed to be performed. Effective project scheduling leads
to success of project, reduced cost, and increased customer
satisfaction.
Scheduling in project management means to list out activities,
deliverables, and milestones within a project that are delivered. It
contains more notes than your average weekly planner notes. The
most common and important form of project schedule is Gantt
chart.
GANTT CHART
Project Scheduling
Project Scheduling
Process :
The manager needs to estimate time and resources of project while
scheduling project. All activities in project must be arranged in a
coherent sequence that means activities should be arranged in a
logical and well-organized manner for easy to understand. Initial
estimates of project can be made optimistically which means
estimates can be made when all favorable things will happen and
no threats or problems take place.
The total work is separated or divided into various small activities
or tasks during project schedule. Then, Project manager will decide
time required for each activity or task to get completed. Even some
activities are conducted and performed in parallel for efficient
performance. The project manager should be aware of fact that
each stage of project is not problem-free.
Project Scheduling
Resources required for Development of Project :
•Human effort
•Sufficient disk space on server
•Specialized hardware
•Software technology
•Travel allowance required by project staff, etc.
Project Scheduling
Advantages of Project Scheduling :
There are several advantages provided by project schedule in our
project management:
•It simply ensures that everyone remains on same page as far as
tasks get completed, dependencies, and deadlines.
•It helps in identifying issues early and concerns such as lack or
unavailability of resources.
•It also helps to identify relationships and to monitor process.
•It provides effective budget management and risk mitigation.
Phases of Project
Management Process
Phases of Project
Management Process
1. Project Initiation/Feasibility Study:
A feasibility study explores system requirements to
determine project feasibility. The goal is to determine whether
the system can be implemented or not. The process of feasibility
study takes as input the required details as specified by the user
and other domain-specific details. The output of this process simply
tells whether the project should be undertaken or not and if yes,
what would the constraints be. Additionally, all the risks and their
potential effects on the projects are also evaluated before a
decision to start the project is taken.
This phase of Project Management involves defining the
project, identifying the stakeholders, and establishing the project’s
goals and objectives.
Phases of Project
Management Process
2. Project Planning:
In this phase of Project Management, the project manager defines
the scope of the project, develops a detailed project plan, and
identifies the resources required to complete the project. A
detailed plan stating a stepwise strategy to achieve the listed
objectives is an integral part of any project.
Planning consists of the following activities:
•Set objectives or goals
•Develop strategies
•Develop project policies
Phases of Project
Management Process
•Determine courses of action
•Making planning decisions
•Set procedures and rules for the project
•Develop a software project plan
•Prepare budget
•Conduct risk management
•Document software project plans
This step also involves the construction of a work breakdown
structure(WBS). It also includes size, effort, schedule, and cost
estimation using various techniques.
WORK BREAKDOWN
STRUCTURE (WBS)
WORK BREAKDOWN
STRUCTURE (WBS)
Phases of Project
Management Process
3. Project Execution:
The Project Execution phase of the Project Management process
involves the actual implementation of the project, including the
allocation of resources, the execution of tasks, and the monitoring and
control of project progress.
A project is executed by choosing an appropriate software
development lifecycle model (SDLC). It includes several steps including
requirements analysis, design, coding, testing and implementation,
testing, delivery, and maintenance. Many factors need to be
considered while doing so including the size of the system, the nature
of the project, time and budget constraints, domain requirements, etc.
An inappropriate SDLC can lead to the failure of the project.
Phases of Project
Management Process
4. Project Monitoring and Controlling:
This phase of Project Management involves tracking the project’s
progress, comparing actual results to the project plan, and making
changes to the project as necessary. In the project management
process, in that third and fourth phases are not sequential in nature.
These phase will run regularly with the project execution phase.
These phase will ensure that project deliverable are need to meet.
During the monitoring phase of the project management phases. The
manager will respond to the proper tracking the cost and effort
during the process. This tracking will not ensure that budget is also
important for the future projects.
Phases of Project
Management Process
5. Project Closing:
There can be many reasons for the termination of a project.
Though expecting a project to terminate after successful
completion is conventional, at times, a project may also terminate
without completion. Projects have to be closed down when the
requirements are not fulfilled according to given time and cost
constraints. This phase of Project Management involves completing
the project, documenting the results, and closing out any open
issues.
Phases of Project
Management Process
Some reasons for failure include:
•Fast-changing technology
•The project running out of time
•Organizational politics
•Too much change in customer requirements
•Project exceeding budget or funds
Once the project is terminated, a post-performance analysis is
done. Also, a final report is published describing the experiences,
lessons learned, and recommendations for handling future projects.
Principles of Project
Management
The project should be effective so that the project begins with well-
defined tasks. Effective project planning helps to minimize the
additional costs incurred on the project while it is in progress.
1.Planning is necessary: Planning should be done before a
project begins.
2.Risk analysis: Before starting the project, senior management
and the project management team should consider the risks that
may affect the project.
Principles of Project
Management
3.Tracking of project plan: Once the project plan is prepared, it
should be tracked and modified accordingly.
4.Most quality standards and produce quality deliverables:
The project plan should identify processes by which the project
management team can ensure quality in software.
5.Description of flexibility to accommodate changes: The
result of project planning is recorded in the form of a project plan,
which should allow new changes to be accommodated when the
project is in progress
Advantages of the Project
Management process:
•Provides a structured approach to managing projects.
•Helps to define project objectives and requirements.
•Facilitates effective communication and collaboration among team
members.
•Helps to manage project risks and issues.
•Ensures that the project is delivered on time and within budget.
Disadvantages of the Project
Management Process:
•Can be time-consuming and bureaucratic
•May be inflexible and less adaptable to changes
•Requires a skilled project manager to implement effectively
•May not be suitable for small or simple projects.
What is a Project life Cycle in
Project Management?
The Project Life Cycle is a framework that outlines the phases a
project goes through from initiation to closure. It typically includes
five main phases. Each phase has specific objectives, activities,
and deliverables, and the Project Life Cycle provides a structured
approach for managing and executing projects efficiently. The
Project Life Cycle helps project managers and teams understand
the project’s progression, allocate resources effectively, manage
risks, and ensure successful project outcomes.
Responsibilities of Software
Project Manager:
•Proper project management is essential for the successful
completion of a software project and the person who is responsible
for it is called the project manager.
•To do his job effectively, the project manager must have a certain
set of skills.
TASK: PROJECT MANAGER
Discuss both the job responsibilities of a project manager and the skills
required by him.
PROJECT SIZE
ESTIMATION
TECHNIQUES
Project Size Estimation
Techniques
Project size estimation is determining the scope and resources
required for the project.
1.It involves assessing the various aspects of the project to
estimate the effort, time, cost, and resources needed to complete
the project.
2.Accurate project size estimation is important for effective and
efficient project planning, management, and execution.
Importance of Project Size
Estimation
Here are some of the reasons why project size estimation is critical
in project management:
1.Financial Planning: Project size estimation helps in planning the
financial aspects of the project, thus helping to avoid financial
shortfalls.
2.Resource Planning: It ensures the necessary resources are
identified and allocated accordingly.
3.Timeline Creation: It facilitates the development of realistic
timelines and milestones for the project.
Importance of Project Size
Estimation
4.Identifying Risks: It helps to identify potential risks associated
with overall project execution.
5.Detailed Planning: It helps to create a detailed plan for the
project execution, ensuring all the aspects of the project are
considered.
6.Planning Quality Assurance: It helps in planning quality
assurance activities and ensuring that the project outcomes meet
the required standards.
Who Estimates Projects
Size?
Here are the key roles involved in estimating the project size:
1.Project Manager: Project manager is responsible for overseeing
the estimation process.
2.Subject Matter Experts (SMEs): SMEs provide detailed
knowledge related to the specific areas of the project.
3.Business Analysts: Business Analysts help in understanding
and documenting the project requirements.
4.Technical Leads: They estimate the technical aspects of the
project such as system design, development, integration, and
testing.
Who Estimates Projects
Size?
5.Developers: They will provide detailed estimates for the tasks
they will handle.
6.Financial Analysts: They provide estimates related to the
financial aspects of the project including labor costs, material
costs, and other expenses.
7.Risk Managers: They assess the potential risks that could
impact the projects’ size and effort.
8.Clients: They provide input on project requirements, constraints,
and expectations.
Different Methods of Project
Estimation
1.Expert Judgment: In this technique, a group of experts in the
relevant field estimates the project size based on their experience
and expertise. This technique is often used when there is limited
information available about the project.
2.Analogous Estimation: This technique involves estimating the
project size based on the similarities between the current project
and previously completed projects. This technique is useful when
historical data is available for similar projects.
3.Bottom-up Estimation: In this technique, the project is divided
into smaller modules or tasks, and each task is estimated
separately. The estimates are then aggregated to arrive at the
overall project estimate.
Different Methods of Project
Estimation
4.Three-point Estimation: This technique involves estimating the
project size using three values: optimistic, pessimistic, and most
likely. These values are then used to calculate the expected project
size using a formula such as the PERT formula.
5.Function Points: This technique involves estimating the project
size based on the functionality provided by the software. Function
points consider factors such as inputs, outputs, inquiries, and files
to arrive at the project size estimate.
6.Use Case Points: This technique involves estimating the project
size based on the number of use cases that the software must
support. Use case points consider factors such as the complexity of
each use case, the number of actors involved, and the number of
use cases.
Different Methods of Project
Estimation
7.Parametric Estimation: For precise size estimation,
mathematical models founded on project parameters and historical
data are used.
8.COCOMO (Constructive Cost Model): It is an algorithmic
model that estimates effort, time, and cost in software
development projects by taking into account several different
elements.
9.Wideband Delphi: Consensus-based estimating method for
balanced size estimations that combines expert estimates from
anonymous experts with cooperative conversations.
10.Monte Carlo Simulation: This technique, which works
especially well for complicated and unpredictable projects,
estimates project size and analyses hazards using statistical
methods and random sampling.
Estimating the Size of the
Software
Estimation of the size of the software is an essential part of
Software Project Management. It helps the project manager to
further predict the effort and time that will be needed to build the
project. Here are some of the measures that are used in project
size estimation:
1. Lines of Code (LOC)
As the name suggests, LOC counts the total number of lines of
source code in a project. The units of LOC are:
1.KLOC: Thousand lines of code
2.NLOC: Non-comment lines of code
3.KDSI: Thousands of delivered source instruction
Estimating the Size of the
Software
•The size is estimated by comparing it with the existing systems of the
same kind. The experts use it to predict the required size of various
components of software and then add them to get the total size.
•It’s tough to estimate LOC by analyzing the problem definition. Only after
the whole code has been developed can accurate LOC be estimated. This
statistic is of little utility to project managers because project planning
must be completed before development activity can begin.
•Two separate source files having a similar number of lines may not
require the same effort. A file with complicated logic would take longer to
create than one with simple logic. Proper estimation may not be
attainable based on LOC.
The length of time it takes to solve an issue is measured in LOC. This
statistic will differ greatly from one programmer to the next. A seasoned
programmer can write the same logic in fewer lines than a newbie coder.
Estimating the Size of the
Software
Advantages:
1.Universally accepted and is used in many models like COCOMO.
2.Estimation is closer to the developer’s perspective.
3.Both people throughout the world utilize and accept it.
4.At project completion, LOC is easily quantified.
5.It has a specific connection to the result.
6.Simple to use.
Estimating the Size of the
Software
Disadvantages:
1.Different programming languages contain a different number of
lines.
2.No proper industry standard exists for this technique.
3.It is difficult to estimate the size using this technique in the early
stages of the project.
4.When platforms and languages are different, LOC cannot be used
to normalize.
Estimating the Size of the
Software
2. Number of Entities in ER Diagram
ER model provides a static view of the project. It describes the
entities and their relationships. The number of entities in the ER
model can be used to measure the estimation of the size of the
project. The number of entities depends on the size of the project.
This is because more entities needed more classes/structures thus
leading to more coding.
Advantages:
1.Size estimation can be done during the initial stages of planning.
2.The number of entities is independent of the programming
technologies used.
Estimating the Size of the
Software
Disadvantages:
1.No fixed standards exist. Some entities contribute more to project
size than others.
2.Just like FPA, it is less used in the cost estimation model. Hence, it
must be converted to LOC.
Estimating the Size of the
Software
3. Total Number of Processes in DFD
Data Flow Diagram(DFD) represents the functional view of
software. The model depicts the main processes/functions involved
in software and the flow of data between them. Utilization of the
number of functions in DFD to predict software size. Already
existing processes of similar type are studied and used to estimate
the size of the process. The sum of the estimated size of each
process gives the final estimated size.
Estimating the Size of the
Software
Advantages:
1.It is independent of the programming language.
2.Each major process can be decomposed into smaller processes.
This will increase the accuracy of the estimation.
Disadvantages:
1.Studying similar kinds of processes to estimate size takes
additional time and effort.
2.All software projects are not required for the construction of DFD.
Estimating the Size of the
Software
4. Function Point Analysis
In this method, the number and type of functions supported by the
software are utilized to find FPC(function point count). The steps in
function point analysis are:
1.Count the number of functions of each proposed type.
2.Compute the Unadjusted Function Points(UFP).
3.Find the Total Degree of Influence(TDI).
4.Compute Value Adjustment Factor(VAF).
5.Find the Function Point Count(FPC).
Estimating the Size of the
Software
The explanation of the above points is given below:
1. Count the number of functions of each proposed type:
Find the number of functions belonging to the following types:
•External Inputs: Functions related to data entering the system.
•External outputs: Functions related to data exiting the system.
•External Inquiries: They lead to data retrieval from the system but don’t
change the system.
•Internal Files: Logical files maintained within the system. Log files are not
included here.
•External interface Files: These are logical files for other applications which
are used by our system.
Estimating the Size of the
Software
2. Compute the
Unadjusted Function
Points(UFP):
Categorize each of the five
function types as simple,
average, or complex based on
their complexity. Multiply the
count of each function type
with its weighting factor and
find the weighted sum. The
weighting factors for each
type based on their
complexity are as follows:
Estimating the Size of the
Software
3. Find the Total Degree of Influence:
Use the ’14 general characteristics of a system to find the degree
of influence of each of them. The sum of all 14 degrees of influence
will give the TDI. The range of TDI is 0 to 70. The 14 general
characteristics are: Data Communications, Distributed Data
Processing, Performance, Heavily Used Configuration, Transaction
Rate, On-Line Data Entry, End-user Efficiency, Online Update,
Complex Processing Reusability, Installation Ease, Operational
Ease, Multiple Sites and Facilitate Change.
Each of the above characteristics is evaluated on a scale of 0-5.
Estimating the Size of the
Software
4. Compute Value Adjustment
Factor(VAF):
Use the following formula to calculate
VAF:
VAF = (TDI * 0.01) + 0.65
5. Find the Function Point Count:
Use the following formula to calculate FPC:
FPC = UFP * VAF
Estimating the Size of the
Software
Advantages:
1.It can be easily used in the early stages of project planning.
2.It is independent of the programming language.
3.It can be used to compare different projects even if they use
different technologies(database, language, etc).
Disadvantages:
1.It is not good for real-time systems and embedded systems.
2.Many cost estimation models like COCOMO use LOC and hence
FPC must be converted to LOC.
When Should Estimates Take
Place?
Project size estimates must take place at multiple key points throughout
the project lifecycle. It should take place during the following stages to
ensure accuracy and relevance:
1.Project Initiation: Project is assessed to determine its feasibility and
scope.
2.Project Planning: Precise estimates are done to create a realistic
budget and timeline.
3.Project Execution: Res-estimation when there are significant changes
in scope.
4.Project Monitoring and Control: Regular reviews to make sure that
the project is on track.
5.Project Closeout: Comparing original estimates with actual outcomes
and documenting estimation accuracy.
Challenges in Project Size
Estimation
Project size estimation can be challenging due to multiple factors.
Here are some factors that can affect the accuracy and reliability of
estimates:
1.Unclear Requirements: Initial project requirements can be
vague or subject to change, thus making it difficult to estimate
accurately.
2.Lack of Historical Data: Without access to the data of similar
past projects, it becomes difficult to make informed estimates, thus
estimates becoming overly optimistic or pessimistic and leading to
inaccurate planning.
3.Interdependencies: Project with numerous interdependent
tasks are harder to estimate due to the complicated interactions
between components.
Challenges in Project Size
Estimation
4.Productivity Variability: Estimating the productivity of
resources and their availability can be challenging due to
fluctuations and uncertainties.
5.Risks: Identifying and quantifying risks and uncertainties is very
difficult. Underestimating the potential risks can lead to inadequate
contingency planning, thus causing the project to go off track.
Improving Accuracy in
Project Size Estimation
Improving the accuracy of project size estimation involves a
combination of techniques and best practices. Here are some key
strategies to enhance estimation accuracy:
1.Define Clear Requirements: Ensure all project requirements
are thoroughly documented and engage all stakeholders early and
frequently to clarify and validate the requirements.
2.Use Historical Data: Use data from similar past projects to
make informed estimates.
3.Use Estimation Techniques: Use various estimation techniques
like Analogue Estimation, Parametric Estimation, Bottom-Up
Estimation, and Three-Point Estimation.
Improving Accuracy in
Project Size Estimation
4.Break Down the Project: Use Work Breakdown Structure (WBS)
and detailed take analysis to make sure that each task is specific
and measurable.
5.Incorporate Expert Judgement: Engage subject matter
experts and experienced team members to provide input on
estimates.
Future of Project Size
Estimation
The future of project size estimation will be shaped by the
advancements in technology and methodologies. Here are some
key developments that can define the future of project size
estimation:
1.Smarter Technology: Artificial intelligence (AI) could analyze
past projects and code to give more accurate forecasts,
considering how complex the project features are.
2.Data-Driven Insights: Instead of just lines of code, estimates
could consider factors like the number of users, the type of
software (mobile app vs. web app), and how much data it handles.
Future of Project Size
Estimation
3.Human-AI Collaboration: Combining human expertise with AI
can enhance the decision-making process in project size
estimation.
4.Collaborative Platforms: Tools that facilitate collaboration
among geographically dispersed teams can help to enhance the
project size estimation process.
5.Agile Methodologies: The adoption of agile methodologies can
promote continuous estimation and iterative refinement.
COST
BENEFIT
ANALYSIS

You might also like