0% found this document useful (0 votes)
61 views7 pages

Unit 3 SE

A software project manager is responsible for managing software projects and ensuring their successful completion. Their main tasks are project planning and project monitoring and control. Project planning involves estimating project parameters like cost, time, and effort. It also includes scheduling, staffing, risk management, and creating other plans. The project manager then monitors project progress and ensures it stays on track.

Uploaded by

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

Unit 3 SE

A software project manager is responsible for managing software projects and ensuring their successful completion. Their main tasks are project planning and project monitoring and control. Project planning involves estimating project parameters like cost, time, and effort. It also includes scheduling, staffing, risk management, and creating other plans. The project manager then monitors project progress and ensures it stays on track.

Uploaded by

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

Unit 3

A software project manager is the most important person inside a team who
takes the overall responsibilities to manage the software projects and play an
important role in the successful completion of the projects.

The task of a project manager are classified into two major types:
1. Project planning
2. Project monitoring and control

Project planning
Project planning is undertaken immediately after the feasibility study phase and
before the starting of the requirement analysis and specification phase. Once a
project has been found to be feasible, Software project managers started
project planning. 
During the project planning the project manager performs the following
activities:
1. Project Estimation: Project Size Estimation is the most important
parameter based on which all other estimations like cost, duration and effort
are made.
 Cost Estimation: Total expenses to develop the software product is
estimated.
 Time Estimation: The total time required to complete the project.
 Effort Estimation: The effort needed to complete the project is
estimated.
The effectiveness of all later planning activities is dependent on the accuracy
of these three estimations.
2. Scheduling: After completion of estimation of all the project parameters,
scheduling for manpower and other resources are done.
3. Staffing: Team structure and staffing plans are made.
4. Risk Management: The project manager should identify the unanticipated
risks that may occur during project development risk, analysis the damage
might cause these risks and take risk reduction plan to cope up with these
risks.
5. Miscellaneous plans: This includes making several other plans such as
quality assurance plan, configuration management plan, etc.
The order in which the planning activities are undertaken is shown in the below
figure:

Project monitoring and control

Role of a software project manager: There are many roles of a project


manager in the development of software.
 Lead the team: The project manager must be a good leader who makes a
team of different members of various skills and can complete their individual
task.
 Motivate the team-member: One of the key roles of a software project
manager is to encourage team member to work properly for the successful
completion of the project.
 Tracking the progress: The project manager should keep an eye on the
progress of the project. A project manager must track whether the project is
going as per plan or not. 

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
which will be needed to build the project. Various measures are used in project
size estimation. Some of these are: 
 
 Lines of Code
 Function points
1. Lines of Code (LOC): As the name suggests, LOC count the total number of
lines of source code in a project. The units of LOC are: 
 
 KLOC- Thousand lines of code
 NLOC- Non-comment lines of code
 KDSI- Thousands of delivered source instruction
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 analysing 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.
Advantages: 
 
 Universally accepted and is used in many models like COCOMO.
 Estimation is closer to the developer’s perspective.
 Simple to use.

Disadvantages: 
 
 Different programming languages contain a different number of lines.
 No proper industry standard exists for this technique.
 It is difficult to estimate the size using this technique in the early stages of
the project.

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: 
 
 Count the number of functions of each proposed type.
 Compute the Unadjusted Function Points(UFP).
 Find Total Degree of Influence(TDI).
 Compute Value Adjustment Factor(VAF).
 Find the Function Point Count(FPC).
The explanation of the above points is given below: 
 
 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.
 Compute the Unadjusted Function Points(UFP): Categorise each of the
five function types like 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: 
 
Function type Simple Average Complex

External Inputs 3 4 6

External Output 4 5 7

External Inquiries 3 4 6

Internal Logical Files 7 10 15

External Interface
Files 5 7 10

COCOMO model
COCOMO or Constructive Cost Estimation Model is a model that
estimates the effort and time taken to complete the model based on the
size of the source code. It includes 15 multiplying factors from different
attributes of the project, and finally calculates time and effort using this
information. 

The COCOMO model first divides the software based on its size.

Software Project Type

The Cocomo model divides software projects into 3 types-

 Organic
 Semi-detached
 Embedded

ORGANIC – A software development project comes under organic type if the


development team is small, the problem is not complex, and has been solved
before. Also, a nominal experience of team members is considered. Some of
the projects that can be organic are- small data processing systems, basic
inventory management systems, business systems.

SEMIDETACHED – A software project that is in-between the organic and


embedded system is a semi-detached system. Its characteristics include – a
middle-sized development team, with a mix of both- experienced and
inexperienced members, and the project complexity is neither too high nor
too low.

EMBEDDED – A project requiring a large team with experienced members,


and having the highest level of complexity is an embedded system. 
Types of COCOMO Model

The different types of COCOMO models define the depth of cost estimation is
required for the project. It depends on the software manager, what type of
model they choose. 

According to Boehm, the estimation should be divided into 3 stages-

 Basic Model
 Intermediate Model
 Detailed Model

Basic Model – This model is based on rough calculations thus, there is very
limited accuracy. The whole model is based on only lines of source code to
estimate the calculation and other factors are neglected.

Intermediate Model – The intermediate model dives deeper and includes


more factors such as cost drivers into the calculation. This enhances the
accuracy of estimation. The cost driver includes attributes like reliability,
capability, and experience.
These cost drivers can be classified under-

1. Product attributes
 size of the application’s database
 the complexity of the product
 software’s reliability extent

2. Hardware attributes
 Total turnabout time
 Memory constraints
 Run-time performance constraints

3. Project attributes
 software tools used
 required development schedule

4. Personnel attributes
 Applications experience
 Coding experience
 Software developer’s capability
 Analyst experience

Detailed Model – The detailed model or the complete model includes all the
factors of the both-the basic model and the intermediate model. In the
detailed model for each cost driver property, various effort multipliers are
used.
The whole software is divided into smaller phases and then the COCOMO
calculations or model is applied to them.  

The software is divided into 6 different phases namely- 

1. Planning and requirements


2. System structure
3. Integration and test
4. Cost Constructive model
5. Complete structure
6. Module code and test

You might also like