0% found this document useful (0 votes)
8 views10 pages

Unit 3 Soft Eng Notes

Software Project Management encompasses various activities including project planning, scope management, estimation management, scheduling, resource management, and risk management. Effective project planning is crucial for successful project completion, minimizing costs, and defining roles and responsibilities. Additionally, project estimation methods such as LOC, FP, and COCOMO are used to predict project size, effort, and cost, while risk management involves identifying, analyzing, and controlling potential risks to ensure project success.

Uploaded by

surajkumar97th
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)
8 views10 pages

Unit 3 Soft Eng Notes

Software Project Management encompasses various activities including project planning, scope management, estimation management, scheduling, resource management, and risk management. Effective project planning is crucial for successful project completion, minimizing costs, and defining roles and responsibilities. Additionally, project estimation methods such as LOC, FP, and COCOMO are used to predict project size, effort, and cost, while risk management involves identifying, analyzing, and controlling potential risks to ensure project success.

Uploaded by

surajkumar97th
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/ 10

Unit 3.

Software Project Management


3.1. Activities in project management

Software Project Management consists of many activities, that includes planning of the
project, deciding the scope of product, estimation of cost in different terms, scheduling
of tasks, etc.

1. Project Planning: It is a set of multiple processes, or we can say that it a task that
performed before the construction of the product starts.

2. Scope Management: It describes the scope of the project. Scope Management


create the project to contain restricted and quantitative tasks, which may merely be
documented and successively avoids price and time overrun.

3. Estimation management: This is not only about cost estimation because whenever
we start to develop software, but we also figure out their size(line of code), efforts, time
as well as cost.

4. Scheduling Management: Scheduling Management in software refers to all the


activities to complete in the specified order and within time slotted to each activity.
Project managers define multiple tasks and arrange them keeping various factors in
mind.

5. Project Resource Management: In software Development, all the elements are


referred to as resources for the project. It can be a human resource, productive tools,
and libraries.

6. Project Risk Management: Risk management consists of all the activities like
identification, analyzing and preparing the plan for predictable and unpredictable risk in
the project.

3.2. Software project planning


Project planning is an organized and integrated management process, which focuses
on activities required for successful completion of the project. It prevents obstacles that
arise in the project such as changes in projects or organization’s objectives, non-
availability of resources, and so on.

The other objectives of project planning are listed below.


• It defines the roles and responsibilities of the project management team
members.
• It ensures that the project management team works according to the business
objectives.
• It checks feasibility of the schedule and user requirements.
• It determines project constraints.

Project planning 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. For effective project planning, some principles are followed.
These principles are listed below.

• Planning is necessary
• Risk analysis
• Tracking of project plan
• Meet quality standards and produce quality deliverables
• Description of flexibility to accommodate changes

3.3. Software project management plan.

Once project designing is complete, project managers document their plans during
a software package Project Management set up (SPMP) document. The SPMP
document ought to discuss an inventory of various things that are mentioned
below.

1. Introduction:
• Objectives
• Major Functions
• Performance Issues
• Management and Technical Constraints
2. Project Estimates:
• Historical Data Used
• Estimation Techniques Used
• Effort, Resource, Cost, and Project Duration Estimates
3. Schedule:
• Work Breakdown Structure
• Task Network Representation
• Gantt Chart Representation
• PERT Chart Representation
4. Project Resources:
• People
• Hardware and Software
• Special Resources
5. Staff Organization:
• Team Structure
• Management Reporting
6. Risk Management Plan:
• Risk Analysis
• Risk Identification
• Risk Estimation
• Risk Abatement Procedures
7. Project Tracking and Control Plan
8. Miscellaneous Plans:
• Process Tailoring
• Quality Assurance Plan
• Configuration Management Plan
• Validation and Verification
• System Testing Plan
• Delivery, Installation, and Maintenance Plan

3.4. Software project scheduling and Time Line Charts

Project scheduling is concerned with the techniques that can be employed to manage
the activities that need to be undertaken during the development of a project.
Scheduling is carried out in advance of the project commencing and involves:
• identifying the tasks that need to be carried out;
• estimating how long they will take;
• allocating resources (mainly personnel);
• scheduling when the tasks will occur.

Timeline charts

• Milestone Charts
Milestones mark significant events in the life of a project, usually critical activities which
must be achieved on time to avoid delay in the project.
Milestones should be truly significant and be reasonable in terms of deadlines (avoid
using intermediate stages).
Examples include:
• installation of equipment;
• completion of phases;
• file conversion;
• cutover to the new system
• Gantt Charts
A Gantt chart is a horizontal bar or line chart which will commonly include the following
features:
• activities identified on the left hand side;
• time scale is drawn on the top (or bottom) of the chart;
• a horizontal open oblong or a line is drawn against each activity indicating
estimated duration;
• dependencies between activities are shown;

3.5. Software project team management and organization

There are many ways to organize the project team. Some important ways are as
follows :

Hierarchical team organization:


In this, the people of organization at different levels following a tree structure. People
at bottom level generally possess most detailed knowledge about the system. People
at higher levels have broader appreciation of the whole project.

Chief-programmer team organization :


This team organization is composed of a small team consisting the following team
members :

• The Chief programmer


• The project assistant
• The project secretary
• Specialists

Matrix Team Organization :


In matrix team organization, people are divided into specialist groups. Each group
has a manager. Example of Metric team organization is as follows :
Egoless Team Organization :
Egoless programming is a state of mind in which programmer are supposed to
separate themselves from their product. In this team organization goals are set and
decisions are made by group consensus. Here group, ‘leadership’ rotates based on
tasks to be performed and differing abilities of members.

3.6. Software Project estimation

3.6.1. LOC Based Estimation

The LOC (Line of Code) is a product size metric in software engineering. Here, the number
of lines in the code are counted and based on the number of lines the cost is calculated. There
is no definite clear picture of how to count number of lines because the length and complexity of
the code is different in different languages. It only depends on the length but not on complexity
and functionality.

The LOC metric is any line of text in a code that is not a comment or blank line, in any
case of the number of statements or fragments of statements on the line. LOC clearly
consists of all lines containing program header files, declaration of any variable, and
executable and non-executable statements. As Lines of Code (LOC) only counts the
proportion of code, you can only utilize it to compare or estimate projects that utilize
the same language and are programmed using the same coding standards .
Consider example with code snippet:

From the above example we have


• 2 physical lines of code.
• 2 logical line of code (printf statement and for statement)
• 1 comment line
The same code snippet can be written in a different style

There are
• 5 physical line of code.
• 2 non statement lines
• 1 comment line.

3.6.2. FP Based Estimation

The basic and primary purpose of the functional point analysis is to measure and
provide the software application functional size to the client, customer, and the
stakeholder on their request. Further, it is used to measure the software project
development along with its maintenance, consistently throughout the project
irrespective of the tools and the technologies.

1. FPs of an application is found out by counting the number and types of functions
used in the applications.

The FPA functional units are shown in Fig:


2. FP characterizes the complexity of the software system and hence can be used to
depict the project time and the manpower requirement.

3. The effort required to develop the project depends on what the software does.

4. FP is programming language independent.

5. FP method is used for data processing systems, business systems like information
systems.

6. The five parameters mentioned above are also known as information domain
characteristics.

3.6.3. 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 is based on LOC, i.e. number of Lines of
Code. It is a procedural cost estimate model for software projects and often used as a process of reliably
predicting the various parameters associated with making a project such as size, effort, cost, time and
quality.

The Cocomo model divides software projects into 3 types-

• 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.
• 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.
The problems faced in this project are a few known and a few unknown, which have never been
faced before.
• EMBEDDED – A project requiring a large team with experienced members, and having the highest
level of complexity is an embedded system. The members need to be creative enough to be able to
develop complex models. Such projects include- air traffic models, ATMs, complex banking systems,
etc.

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 do they choose.

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


• 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.
• 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.

3.7. Risk analysis and management

Risk Analysis in project management is a sequence of processes to identify the factors that may affect a
project’s success. These processes include risk identification, analysis of risks, risk management and
control, etc. Proper risk analysis helps to control possible future events that may harm the overall
project. It is more of a pro-active than a reactive process.

How to Manage Risk?

Risk Management in Software Engineering primarily involves following activities:

• Plan risk management

It is the procedure of defining how to perform risk management activities for a project.

• Risk Identification

It is the procedure of determining which risk may affect the project most. This process involves
documentation of existing risks.

The input for identifying risk will be

• Risk management plan


• Project scope statement
• Cost management plan
• Schedule management plan

• Quantitative risk analysis

It is the procedure of numerically analyzing the effect of identified risks on overall project
objectives. In order to minimize the project uncertainty, this kind of analysis are quite helpful for
decision making.
• Plan risk responses

To enhance opportunities and to minimize threats to project objectives plan risk response is
helpful. It addresses the risks by their priority, activities into the budget, schedule, and project
management plan.

• Control Risks

Control risk is the procedure of tracking identified risks, identifying new risks, monitoring
residual risks and evaluating risk.

3.8. Risk management process

Risk Management is an important part of project planning activities. It involves


identifying and estimating the probability of risks with their order of impact on the
project.

There are some steps that need to be followed in order to reduce risk. These steps
are as follows:

1. Risk Identification:
Risk identification involves brainstorming activities. it also involves the preparation
of a risk list. Brainstorming is a group discussion technique where all the
stakeholders meet together.

2. Risk Analysis and Prioritization:


It is a process that consists of the following steps:

• Identifying the problems causing risk in projects


• Identifying the probability of occurrence of problem
• Identifying the impact of problem
• Assigning values to step 2 and step 3 in the range of 1 to 10
• Calculate the risk exposure factor which is the product of values of step 2 and step
3
• Prepare a table consisting of all the values and order risk on the basis of risk
exposure factor

3. Risk Avoidance and Mitigation:


The purpose of this technique is to altogether eliminate the occurrence of risks. so the
method to avoid risks is to reduce the scope of projects by removing non-essential
requirements.
4. Risk Monitoring:
In this technique, the risk is monitored continuously by reevaluating the risks, the
impact of risk, and the probability of occurrence of the risk.
3.9. Software configuration management

The elements that comprise all information produced as a part of the software process
are collectively called a software configuration. Configuration Management (CM) is a
technic of identifying, organizing, and controlling modification to software being built
by a programming team. As software development progresses, the number of Software
Configuration elements (SCI's) grow rapidly. These are handled and controlled by
SCM. This is where we require software configuration management. A configuration
of the product refers not only to the product's constituent but also to a particular
version of the component.

Need of Configuration Management

Multiple people are working on software which is consistently updating. It may be a


method where multiple version, branches, authors are involved in a software project,
and the team is geographically distributed and works concurrently. It changes in user
requirements, and policy, budget, schedules need to be accommodated.

Importance of SCM

It is practical in controlling and managing the access to various SCIs e.g., by preventing
the two members of a team for checking out the same component for modification at
the same time. It provides the tool to ensure that changes are being properly
implemented.

It has the capability of describing and storing the various constituent of software. SCM is
used in keeping a system in a consistent state by automatically producing derived
version upon modification of the same component.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy