0% found this document useful (0 votes)
22 views93 pages

#Lecture 4 Project Management

software engineering

Uploaded by

mamushe710
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 (0 votes)
22 views93 pages

#Lecture 4 Project Management

software engineering

Uploaded by

mamushe710
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/ 93

Software Engineering

Mattu University
Engineering and Technology College
Department of Computer Science

Software
Engineering

Target Dept.:- Computer Science 3rd year Regular


Lecture Four

Software Project Management

Take off your engineering hat and put on your


management hat.

Engineering and Technology College Mattu University


Worku B. (Department of Computer Science)

Outline

4: Software Project management (6 hours)


4.1. Responsibility of Software Project Managers
4.2. Project Planning
4.3. The organization of SPMP document
4.4. Project Size Estimation Metrics
4.5. Project Estimation Techniques
4.6. Scheduling, Organization and Team Structures
4.7. Staffing
4.8. Risk Management
4.9. Quality Assurance
4.10. Project Monitoring Plans
Engineering and Technology College Mattu University
4.1. Software Project Management: Overview

 Project management ensures the delivery of a quality system

on time and within budget.


 The main components of this definition are quality, time, and

money.
 Ensuring delivery within budget requires a manager to
estimate and assign the resources required by the project in terms
of participants, training, and tools.
 Ensuring on-time delivery requires a manager to plan work
effort and to monitor the status of the project in terms of tasks and
work products.
 Finally, ensuring quality requires a project manager to provide
problem reporting mechanisms and monitor the status the product
in terms of defects and risks.
Software Project Management …

 The image above shows triple constraints for


software projects.
 It is an essential part of software organization to
deliver quality product, keeping the cost within
client’s budget constrain and deliver the
project as per scheduled.
Software Project Management …

Software Project manager

 is a person who undertakes the responsibility of executing the


software project.
 Software project manager is thoroughly aware of all the phases of
SDLC that the software would go through.
 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, resources, time, quality and customer
satisfaction.
Software Project Management …
 Few responsibilities of Software 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
 Act as project spokesperson
4.2. Software Project Management Activities
Cont’d…
Project Planning
Types of Project Plan
Project planning process
The project plan
The project plan structure
Activity Organization
Milestone in requirement process
4.3. The organization of SPMP document
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
4.4. Project Size Estimation Metrics
Software size is the key input to most
software cost estimating methodologies.
We can measure size by counting number of
lines of code (LOC)
It’s somewhat like measuring the human size
by measuring height:
 The height will tell whether the person will bumb
his head when entering a door-way.
 It won’t tell whether the person is slim.
Cont’d…
Cont’d…
Cont’d…
Cont’d…

To Understand Scope ...


Understand the customers needs
understand the business context
understand the project boundaries
understand the customer’s motivation
understand the likely paths for change
understand that ...
Even when you understand, nothing is
guaranteed!
Cont’d…

What is Scope ?
Software scope describes
 the functions and features that are to be delivered
to end-users
 the data that are input and output
 the “content” that is presented to users as a
consequence of using the software
 the performance, constraints, interfaces, and
reliability that bound the system.
Scope is defined using one of two techniques:
• A narrative description of software scope is developed
after communication with all stakeholders.
• A set of use-cases is developed by end-users.
4.5. Project Estimation Techniques

“The single most important task


of a project: setting realistic
expectations.

Unrealistic expectations based


on inaccurate estimates are
the single largest cause of
software failure.”
Futrell, Shafer and Shafer, “Quality Software Project Management”
Cont’d…
Project manager can estimate the listed factors
using two broadly recognized techniques:

1. Decomposition Technique
 This technique assumes the software as a product of

various compositions.
 Uses “Divide and conquer” approach

 There are two main models -

 Line of Code (LOC) Estimation is done on behalf


of number of line of codes in the software product.
 Function Points (FP) Estimation is done on
behalf of number of function points in the software
product.
cont’d…
2. Empirical Estimation Technique
 This technique uses empirically derived formulae to

make estimation.
 These formulae are based on LOC or FPs.

 Putnam Model
 This model is made by Lawrence H. Putnam, which is

based on Norden’s frequency distribution (Rayleigh


curve).
 Putnam model maps time and efforts required with

software size.
 COCOMO
 COCOMO stands for COnstructive COst MOdel,

developed by Barry W. Boehm. It divides the software


product into three categories of
software:organic,semi-detached and embedded.
 Is the most widely used software estimation model in the world.
Software Cost Estimation

Software cost estimation is the process of


predicting the amount of effort required to
build a software system.
Cost estimates are needed throughout the
software lifecycle.
Software project managers must estimate how

much a software development is going to


cost for the project budget.
Software Cost Estimation
 For estimating project cost, it is required to consider -

 Size of software
 Hardware and software quality.
 Travel, training and support costs.
 Communication
 Additional software or tools, licenses etc.
 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.

4.6. Scheduling, organization and team structure

Project Scheduling
4.6.1. Project Scheduling…

For scheduling a project, it is necessary to -


 Break down the project tasks into smaller,
manageable form
 Find out various tasks and correlate them

 Estimate time frame required for each task

 Divide time into work-units

 Assign adequate number of work-units for each task

 Calculate total time required for the project from

start to finish
Project Scheduling…

The Project Scheduling Process


Project Scheduling…

Scheduling Problem
Cont’d…
Cont’d…
Cont’d…
Activity network
Activity timeline (grant chart)
Staff allocation
4.6.2. Team Structure
Cont’d…

1. The people (players)


Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Causes of project success and failure
Cont’d…
4.7. Staffing
Is the process of finding the right worker with
appropriate qualification or experience.
And recruiting them to fill a job position or
role.

Importance of Staffing
 It helps in the finding out efficient and effective
work fence,
 It improves organizations performance and
productivity by appointing the right person at the
right job.
 It ensures continuous survival and growth of the
organization,

Cont’d…
Process of Staffing
4.8. Risk Management
Software risks
Risk management process
Cont’d…
Risk identification
Risk and Risk Types
Risk analysis
Cont’d…
Cont’d…
Risk planning
Risk management strategies
Cont’d…
Risk Monitoring
Risk indicators
4.9. Quality Assurance
Software Quality
Is defined as the quality that ensures
customer satisfaction by offering all the
customer deliverables on performance,
standards and ease of operations.
Quality Assurance
Is a system of activities designed to ensure

production that meets pre-established


requirements and standards.
Cont’d…
What is “Quality”?
IEEE: Degree to which a system, component,

or process meets (1) specific requirements,


and (2) customer need or expectation.
ISO: the totality of features and
characteristics of a product or service that
bear on its ability to satisfy specified or
implied needs.
Cont’d…
Quality Control
What is quality control?: the series of

inspections, reviews, and test used


throughout the develop cycle of a software
product.
objective: minimize the produced defects,

increase the product quality


Cont’d…
What is Software Quality Assurance
(SQA) ?
Set of systematic activities providing
evidence of the ability of the software
process to produce a software product
that is fit to use.
4.9. Project Management Tools
 There are tools available, which aid for effective
project management. A few are described -
1. Gantt Chart
 Gantt charts was devised by Henry Gantt (1917).
 It represents project schedule with respect to time
periods.
 It is a horizontal bar chart with bars representing
activities and time scheduled for the project
activities.
Project Management Tools…
2. PERT Chart
 PERT (Program Evaluation & Review Technique) chart is
a tool that depicts project as network diagram.
 It is capable of graphically representing main events of
project in both parallel and consecutive way.
 Events, which occur one after another, show dependency
of the later event over the previous one.

 Events are shown as numbered nodes. They are


connected by labelled arrows depicting sequence of tasks
in the project.
Project Management Tools…
3. Resource Histogram
 This is a graphical tool that contains bar or chart
representing number of resources (usually skilled
staff) required over time for a project event (or
phase).
 Resource Histogram is an effective tool for staff
planning and coordination.
The End
93

CHAPTER FOUR
QUESTIONS ????

You might also like