0% found this document useful (0 votes)
23 views

Lecture 4

This document discusses key aspects of software project management including defining a software project, the need for software project management, the role of a software project manager, and common software project management activities. It describes how a software project manager plans projects, manages scope, estimates costs and timelines, schedules tasks, and manages risks. Project estimation techniques like decomposition and empirical models are also summarized.

Uploaded by

bmulat87
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

Lecture 4

This document discusses key aspects of software project management including defining a software project, the need for software project management, the role of a software project manager, and common software project management activities. It describes how a software project manager plans projects, manages scope, estimates costs and timelines, schedules tasks, and manages risks. Project estimation techniques like decomposition and empirical models are also summarized.

Uploaded by

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

Injibara University

College of Natural and Computational Science


Department of Computer Science
Fundamentals of Software Engineering
Course Code:CoSc3091

Molla K.(MSc)

12/24/2022 1
Chapter-4
Introduction to Software
Project Management

2
2/24/2022
Software Project Management
 A project is well-defined task, which is a collection of
several operations done in order to achieve a goal (e.g.
software development and delivery).
A Project can be characterized as:
Project comes with a start and end time.

 Project is not a routine activity or day-to-day


operation.
 Project needs adequate resources in terms of time,
manpower, finance, material.

3
Software Project
 It is the complete process 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.
Need of Software Project Management
 Software is said to be an intangible product.
 Software development is a kind of all new stream in world
business and there is very little experience in building
software products.
 Most software products are modify made to fit client‘s
requirements.
4
Software Project Manager
It is a person who undertakes the responsibility of executing
the software project.
SPM is carefully aware of all the phases of SDLC that the
software would go through.
The responsibilities that a project manager carried:
Managing People
Act as project leader.
Lesion with stakeholders.
Managing human resources

5
Software Project Manager-cont’d
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.


6
SPM--Cont’d
Software Management Activities
 SPM contains a number of activities, that includes
planning of project, deciding scope of software product,
estimation of cost in various terms, scheduling of tasks
and events, and resource management.
Project management activities may include:

Project Planning
Scope Management
 Project Estimation

7
Software Management Activities…..cont
 Project Planning
 It a is task, which is performed before the production of
software actually starts.
Scope Management
o It defines scope of the project. This includes all the

activities, process need to be done in order to make a

deliverable software product.

 It is an essential because it creates boundaries of the

project by clearly defining what would be done in the

project and what would not be done.

8
Software Management Activities…..

 Scope Mgt
 During Project Scope management, it is necessary to :

 Define the scope.


 Decide its verification and control.
 Divide the project into various smaller parts for
simplicity of management.
 Verify the scope.
 Control the scope by incorporating changes to the scope.

9
Software Management Activities…..
 Project Estimation
By the correct estimation, managers can manage and
control the project more efficiently and effectively.
Project estimation may involve the following:
I) Software Size Estimation
 It may be estimated either in terms of KLOC (Kilo

Line of Code) or by calculating number of function


points in the software.
 Lines of code(KLOC) depend upon coding practices.
Function points(FP) vary according to the user or

Software Requirements.
10
Project Estimation ->cont’d

II) Effort Estimation


 The manager estimates efforts in terms of personnel
requirement and man-hour required to produce the software.
 For effort estimation software size should be known.
 This can either be derived by manager‘s experience,
historical data of organization, or software size can be
converted into efforts by using some standard formulae.
Simplistic model for an estimate :

Estimated effort=(system size)/productivity


System size = Lines of code(LOC)

Productivity = Lines of Code per day 11


Project Estimation ….Cont‘d
III) Time estimation
 Once size and efforts are estimated, the time required to
produce the software can be estimated.
 Efforts required is separated into sub categories as per the
requirement specifications and interdependency of various
components of software.
 Software tasks are divided into smaller tasks, activities or
events by Work Breakthrough Structure (WBS).
 The tasks are scheduled on day-to-day basis or in calendar
months.
 The sum of time required to complete all tasks in hours or days is
the total time invested to complete project.

12
Project Estimation…cont
IV)Cost Estimation
This might be considered as the most difficult of all because
it depends on more elements than any of the previous ones.
 For estimating project cost, it is required to consider:
 Size of the software
Software quality
Hardware
Additional software or tools, license etc.
Experienced personnel with task-specific skills
Travel involved
 Communication
 Training and support 13
Project Estimation Techniques
 Project manager can estimate the listed factors using two
broadly recognized techniques :
 Decomposition Technique
This technique assumes the software as a product of various
compositions.
 There are two main models –
 Line of Code(LOC): The estimation is done on behalf of
number of line of codes in the software product.
 Function Points(FP): The estimation is done on behalf of
number of function points in the software product.

14
Project Estimation Techniques…Con’t
 Empirical Estimation Technique
 This technique uses empirically derived formula to make estimation.
 These formula 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
 It 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

15
Project Scheduling
Project Scheduling in a project refers to roadmap of all
activities to be done with specified order and within time
period allotted to each activity.
Project managers rise to define various tasks, and project
milestones and then arrange them keeping various factors in
mind.
They look for tasks like in critical path in the schedule,
which are necessary to complete in specific manner
(because of task interdependency) and strictly within the
time allocated.
16
Project Scheduling..(cont)

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 sufficient number of work-units for each task.

 Calculate total time required for the project from start to finish.

17
Project Risk Management
♥ It involves all activities relating to identification, analyzing and
making provision for predictable and non-predictable risks in the

project.

Risk may include the following:


 Experienced staff leaving the project and new staff coming in.

 Change in organizational management.


 Requirement change or misinterpreting requirement.
 Under-estimation of required time and resources.
 Technological changes, environmental changes, business competition.

18
Risk Management Process
There are following activities involved in risk management process:
 Identification - Make note of all possible risks, which may occur in
the project.
 Categorize - Categorize known risks into high, medium and low risk
intensity as per their possible impact on the project.
 Manage - Analyze the probability of occurrence of risks at various
phases.
 Make plan to avoid or face risks.
 Monitor-Closely monitor the potential risks and their early symptoms.

 Risk analysis and prioritization – which are the most serious risks.

19
Project Execution and Monitoring
 In this phase, the tasks described in project plans are executed according to
their schedules.
 Execution: Needs monitoring in order to check whether everything is going
according to the plan.
 Monitoring: It is observing to check the probability of risk and taking
measures to address the risk or report the status of various tasks.
 These measures include :
 Activity Monitoring- All activities scheduled within some task can be
monitored on day-to-day basis.
 Status Reports– It contain status of activities and tasks completed within a
given time frame, generally a week.
 Status can be marked as finished, pending or work-in-progress etc.
 Milestones Checklist- Every project is divided into multiple phases where
major tasks are performed (milestones) based on the phases of SDLC. 20
Analysis of Failed Projects…
 Investigated 250 large projects.
 Most unsuccessful projects showed weaknesses in:

 Project Planning
 Cost Estimation
 Measurements Capers Jones
 Milestone Tracking
…an interesting aspect of the
 Change Control six problem areas is that all
 Quality Control are associated with project
management rather than with
technical aspects.
21
In What Ways Management of Software Projects Differ
from Management of Engineering Systems?

 Intangible:
 Software is invisible till it is ready and runs
 Large Change Impact:
 A small change request can have poor impact
 Change is the rule rather than exception
 Intellectual work 22
Why Software Project Management is Hard?
 Management of intellectual and complex work.
 It is hard to manage anything that you cannot see.

 Changing customer requirements.


 Manpower turnover.

23
What Is a Project?
 A project is ―a temporary endeavor undertaken to create a unique
product, service, or result‖ (PMBOK® Guide, Fifth Edition, 2012)
 A set of activities undertaken within a defined time period in

order to meet a specific set of goals/objectives within a budget.


 A project generally shows most of the following conditions:
 It is finite.

 Usually complex.
Non-repetitive.

 Requires resources.

Task: A small piece of work. It is usually repetition of a previously

accomplished task 24
Characteristics of projects
A task is more ‗project-like‘ if it is:
 Non-routine.
 Planned
 Aiming at a specific target
 Carried out for a customer
 Carried out by a temporary work group
 Involving several specialisms
 Made up of several different phases
 Constrained by time and resources
 Large and/or complex
25 25
What is Management?
This involves the following activities:
 Planning – Deciding what is to be done
 Organizing – Making arrangements
 Staffing –Selecting the right people for the job
 Directing – Giving instructions continued.
 Monitoring – Checking on progress.
 Controlling– Taking action to remedy hold-ups.
 Innovating–Coming up with solutions when problems emerge
 Representing– Communicate with clients, users, developers and
other stakeholders.
26 26
Project Stakeholders
 They are individuals and organizations that are actively involved in the
project, or whose interests may be positively or negatively affected as
a result of project execution or project completion; they may also apply
influence over the project and its results.

 Key Stakeholders:

 Project manager —the individual responsible for managing the project.

 Customer —the individual or organization that will use the project's


product or service.

 Project team members —the group that is performing the work of the
project.

 Sponsor—the individual or group that provides the financial resources


for the project.
27
27
Project Stakeholders
 Internal project stakeholders:
 Project manager, Project team, top management.

 External project stakeholders:


 Project‘s customers (if they are external to the
organization), suppliers.

28
Are software projects really different from other projects?

Not really …but


 Invisibility
 Complexity
 Conformity/consistency
 Flexibility
make software more problematic to build than
other engineered artefacts.
29 29
Sounds of Failure’s Base Steps…
 Development team doesn‘t understand customer‘s
needs.

 Project scope is poorly defined.


 Changes poorly managed.
 Chosen technology changes.
 Business needs change.
 Unrealistic deadlines.
 Inexperienced team.
 Poor project management. 30
What is Project Management?
Project Management = Plan the work and work the plan

Project Manager‘s Functions:


 Planning: Estimate and schedule resources
 Organization: Who does what
 Staffing: Recruiting and motivating personnel
 Directing: Ensure team acts as a whole
 Monitoring and Controlling: Detect plan deviations+ corrective
actions

31
Major Responsibilities of a Project Manager over Project Life Cycle

Feasibility study:
Is the project technically feasible and valuable from a
business point of view?
Planning:
Only done if project is feasible
Execution monitoring and control:
Monitor and control plan implementation, but plan may32 be
changed as execution proceeds
32
Project Planning
 Initial plan made before development starts,
then updated frequently.

 Important activities:
Estimation

Scheduling

Staffing

Risk management
33
Cont’d
1. Steps required to accomplish the project objectives.

2. Tasks needed to be done at each step (using WBS).

3. Estimate of how much effort each task requires.

4. The resources required for each task.

5. (Given 3. and 4.) Calculation of how long each task/step will take.

6. (Given 4. and 5.) Calculation of task, step and project costs.

7. The inter-dependencies of task.

8. The schedule for each task and the whole project (Milestones,
Deliverables, costs, payments).
34
34
Monitoring and Control
 Lasts for entire active project duration.

 Monitoring – Checking on progress, revising plans.

 Controlling–Taking action to remedy/solution hold-ups.

 Innovating – Coming up with solutions when


problems emerge.

 Representing – Linking with clients, users,


developers and other stakeholders.
35
Setting Objectives
 Answering the question ‗What do we have to do to
have a success?’
 Need for a project authority
 Sets the project scope.

 Allocates/approves costs.

 Could be one person - or a group


 Project Board

 Project Management Board

 Steering committee
36 36
Objectives should be SMART

 S – Specific, that is, concrete and well- defined.


 M– Measurable, that is, satisfaction of the objective
can be objectively judged.
 A – Achievable, that is, it is within the power of the
individual or group concerned to meet the target.
 R – Relevant, the objective must relevant to the true
purpose of the project.
 T – Time constrained: there is defined point in time
by which the objective should be achieved.
37 37
Project Success/Failure

 Degree to which objectives are met

scope (of deliverables)

time cost

 In general if, for example, project is running out of time, this


can be improved for by reducing scope or increasing costs.
 Similarly costs and scope can be protected by adjusting other
corners of the ‗project triangle‘.
38 38
COCOMO MODEL
 Boehm postulated that any software Dev't project can be
classified into one of the following three categories based on the
development complexity: organic, semidetached, and embedded.
 In order to classify a product into the identified categories,
Boehm not only considered the characteristics of the product but
also those of the development team and development environment.
 Normally, data processing programs are considered to be
application programs.
 Compilers, linkers, etc., are utility programs.
 OS and real-time system programs, etc. are system programs.

39
Cont’d
 Boehm‘s[1981] definition of organic, semidetached, and embedded
systems are elaborated below.

 Organic
 A development project can be considered of organic type, if:
 The project deals with developing a well understood application program,

 The size of the development team is reasonably small,


 The team members are experienced in developing similar types
of projects.

40
Cont’d
 Semidetached
 A development project can be considered of semidetached type:
 If the development consists of a mixture of experienced and inexperienced
staff.

 Team members may have limited experience on related systems but


may be unfamiliar with some aspects of the system being developed.

 Embedded
A development project is considered to be of embedded type:
 If the software being developed is strongly coupled to complex hardware, or

 If the stringent regulations on the operational procedures exist.

41
Basic COCOMO Model
 The basic COCOMO model gives an approximate estimate of the
project parameters.
 The basic COCOMO estimation model is given by the following
expressions:

 Where, KLOC is the estimated size of the software product expressed in Kilo
Lines of Code,
 a1, a2, b1, b2 are constants for each category of software products,
 Tdev is the estimated time to develop the software, expressed in
months,
 Effort is the total effort required to develop the software product, expressed
in person months (PMs)
42
Cont’d

43
Example
 Assume that the size of an organic type software product has been estimated
to be 32,000 lines of source code. Assume that the average salary of software
engineers be Rs. 15,000/- per month. Determine the effort required to develop

the software product and the supposed development time.


From the basic COCOMO estimation formula for organic software:

Effort = 2.4 х (32)1.05 = 91 PM


Dev‘tTime= 2.5 х (91)0.38 = 14 months
Cost required to develop the product = 14 х 15,000 = Rs. 210,000/-

So, it is mostly used for small medium sized software.


 It is not detail like intermediate and detail model .
 It estimates the s/w in a rough and quick manner. It contains 3
modes with their parameters.
44
Intermediate COCOMO model
 The basic COCOMO model assumes that effort and development time are functions of
the product size only.
Example : A new project with estimated 400KLOC embedded system has to be
developed. Project manager has a choice of hiring from 2 pools of developers: Very high
capable(with app) with very little experience in programming languages or developer of
low quality but a lot of programming languages experienced which is better choice in terms
of 2 pool?
Solution
Effort Adjustment Factor(EAF) can be calculated by multiplying all the
values that have been obtained after categorizing each cost driver.
E= a(KLOC) b x EAF
E=2.8(400)1.20XEAF
Case I: EAF= 0.82*1.14=0.934
E= 2.8(400)1.20*0.934
DT=2.5(3470)0.32=33.9M
Case II: E= a(KOLC)XEAF
EAF=1.29*0.95 =1.22 where EAF= LAEXP x HLEXP
E=3412X1.22=4528PM
DT=2.5(4528)0.32= 36.9M
45
COCOMO: Detailed Development Model
It calculates the effect of cost Derivers on each phases of SDLC.
It is phase sensitive.
It is re usability of the code.
It uses phases- sensitive effort multipliers for each cost driver.
•To determine the amount of effort required to complete each phase
of SDLC.
It establishes module-subsystem- system hierarchy.
The rating of cost driver is done at that level only where the cost
driver is most affected/ susceptible to variable.

Adjustment Factor(A) which describes the reusability of code


A= 0.4(DD)+0.3C+0.3I
Size Equivalent : it is affected by Adjustment Factor.
Size Equivalent =(S*A)/100 46
Summary
The 3 classes of the software projects

COCOMO Project Size Nature of Project Innovation Deadline of


project

Organic 2-50KLOC Small size Title Not Tight


Experienced developer
Eg. payroll system

Semidetached 50-300KLOC Medium size project. Medium Medium


Medium size team
Eg. Db system

Embedded Over Large project. Significant Tight


300KLOC Real time system.
Eg ATM

47
48
4

You might also like