Software Project Management
Software Project Management
SPM
(B.Tech)
Vishakha Ashwani
Asst. Professor
Deptt. of Engineering
Biyani International Institute of Engineering and Technology
Published by :
Think Tanks
Biyani Group of Colleges
Edition : 2013
Price :
While every effort is taken to avoid errors or omissions in this Publication, any
mistake or omission that may have crept in is not intentional. It may be taken note of
that neither the publisher nor the author will be responsible for any damage or loss of
any kind arising to anyone in any manner on account of such errors and omissions.
Preface
am glad to present this book, especially designed to serve the needs of the
students. The book has been written keeping in mind the general weakness in
understanding the fundamental concepts of the topics. The book is self-explanatory and
adopts the Teach Yourself style. It is based on question-answer pattern. The language of
book is quite easy and understandable based on scientific approach.
Any
further improvement in the contents of the book by making corrections, omission and
inclusion is keen to be achieved based on suggestions from the readers for which the author
shall be obliged.
I acknowledge special thanks to Mr. Rajeev Biyani, Chairman & Dr. Sanjay Biyani,
Director (Acad.) Biyani Group of Colleges, who are the backbones and main concept
provider and also have been constant source of motivation throughout this Endeavour. They
played an active role in coordinating the various stages of this Endeavour and spearheaded
the publishing work.
I look forward to receiving valuable suggestions from professors of various educational
institutions, other faculty members and students for improvement of the quality of the book.
The reader may feel free to send in their comments and suggestions to the under mentioned
address.
Note:
A feedback form is enclosed along with think tank. Kindly fill the feedback
form and submit it at the time of submitting to books of library, else NOC from
Library will not be given.
Author
Syllabus
Unit 1
Project Management
Q.1
Ans. Software project management is the art and science of planning and leading
software project. It is a sub discipline of project management in which software
project are planned, monitored and controlled.
PROJECT
A project is a temporary endeavour undertaken to create a unique product
service or result.
1. Every product has a beginning date and ending date.
2. The result of a project may b permanent.
3. it is executed by human beings.
4. it is headed by a project manager.
5 It should meet customer expectation.
THE PROJECT INITIATION PHASE is the first phase in the project management
life cycle,as it involves starting up a new project.we can start a new project by
defining its objective,scope,purpose and deliverables to be produced . well also
hire team, setup, the project office and review the project, to gain approval to
begin the next phase
THE PROJECT PLANNING PHASE is the second phase in the project life cycle.it
involves creating of a set of plans to help guide our team through the execution
and closure phase of the project. The plans created during this phase will help us
to manage time, cost, quality, change, risk and issues
THE PROJECT EXECUTION PHASE is the third phase in the project life cycle. In
this phase we will build the physical project and present them to our customer
for sign off.
THE PROJECT CLOSURE PHASE is the 5th phase. We will formally close our
project and then report its overall level of success to our sponcer.
1.
2.
Q.2
the software project largely depend upon hoe leading role players in project
management handle people issues, concerns and their expectation while
developing the software for a given requirement.
People from within the organisation are developers , analyst, designers,
technology,
outside the org. largely belongs to the customer org. and are known as primary
users , secondary users, stack holders, product coordinators, business manager.
The people resources falls into 5 categories; manager ,technocrat, developer,
customer and users.
THE PLAYERS :
The software process is populated by players, they are categorized into one of
five constituencies;
1.
2.
3.
4.
5.
Senior managers who define the business issues that often have significant
influence on the project.
Project managers who plan, motivate , organize and control the practitioners
who do software work.
Practitioners who deliver the technical skills that are necessary for an
engineer to develop a product or application.
Customers who specify the requirements for the software to be engineered
and other stake holders who have a peripheral interest in the outcome.
End users who interact with the software once it is released for production
use.
THE PRODUCT:
The product in the context of software , is the scope of the scope of the software
that is proposed to solve the requirements of the user.
CONTEXT: The scenario or situation in business which has problems and which
need solutions within the given domain. And with regard to constraints and
limitation prevailing in the environment.
FUNCTION: software system process and function such as data sources and
processing, info processing and analysis, transaction process are the key features
in order to achieve software product goal.
THE PROCESS: process has become the most discussed aspect of the 4ps.
Process is imp. Because it leads people build product .Iteration in a project shows
the nature of a product and its users. Process gives management a channel of
influence on software development and maintenance. The genri phases that
characterize the software process
The linear sequential model
The prortotyping model
The rad model
The incremental model
The spiral model
The WINWIN model
THE PROJECT:
When the software project is finalized with details such as context, objectives,
function, and performance. Since an org would have a number of software
development process. A project is defined as an activity that has a definite start
and a definite end, requires multiple resources and is full of uncertainities on a
number of counts.
Q.4
Ans
The answer to the question enables all parties to assess the validity of bisoness
reasons for the software work. Stated in another way, does the business purpose
justify the expenditurem of people , time, and money?
Q.5
Ans
The answer to these question help the team to establish a project schedule by
identifying key project tasks and the milestone that are required by the customer.
Q.6
Ans
It helps to determine the project schedule. It helps in determining whwn task are
conducted and when milestone are reached.
Q.7
Ans
Earlier in the project we noted that the role and responsibility of each member of
a software team must be defined.
Q.8
Ans
Not all roles and responsibilities reside within the software team itself .the
customer users, and other stake holders also have responsibilties.
Q.9
Ans
Once product scope is established , a management and technical strategies for the
project must be defined.
Q.11
Compute the function pointvalue for a project with the following information
domain characteristics.
Number of user input=32
Number of user output=60
Number of user enquiries=24
Number of files=8
Number of ext. interfaces=2
Assuming the weighing factor values are average. The various complexity
adjustment values are average.
Sol:
F1=F2=F3=..=F14=3
(fi)=14*3=42
CAF=0.65+(0.01*42)
=1.07
s. no.
Measurement
Count
Weighing
parameter
1
Number
Total
factor
of
user 32
128
of
user 60
300
of
user 24
96
10
80
14
input
2
Number
output
Number
enquiries
Number of files
Number
of
8
ext. 2
interfaces
6
Count total
618
Function point=618*1.07
=661n
estimate the cost or effort req. to design, code and test the software
forecast the no. of components and the no. of projected source lines in the
implemented system.
2. Line of code
It is a measure f the length of code the software engg. Will write to deliver
software req. there is a relationship between the lines of code and function point
depend upon the programming lang. and quality of design.
3.Process matrics
It is used to measure the overall progress of the project.It may also lead to
software processimprovement.
-
Unit 2
Estimation
Q.1
Ans
resources
quality deliverable, and the project misses the target deadline leading to
customer dissatisfaction and loss of credibility of the company. On the other
hand, Overstaffing a project without proper control will increase the cost of
the project and reduce the competitiveness of the company.
Efforts
Hardware Cost
Travel expense
Cost
estimation
Training Cost
Comunication Costs and other cost factors
Project Cost
Project-Estimation guidelines are: Preserve and document data pertaining to past projects.
Allow sufficient time for project estimation especially for bigger projects
Prepare realistic development-based estimates. Associate people who will
work on the project to reach a realistic and more accurate estimate.
Short notes on
1.Resources
2.Software scope
Ans
Resources:Resources are the important and major factor of the software development.
They are required
There are four characteristics mentioned which are involved in all types of
resources:Description of the resource.
A statement of availability.
Time when the resources will be required
The total time duration for which the resources will be applied.
1. HUMAN RESOURCES:
Human Resources are considered as the primary resource among all types of
resources. It is the major resource, so the project planner concentrate more on this
factor. The project planner has to select the persons required for the software
project, so he starts with the evaluation of scope and select the skilled,
experience, knowledgeable persons to complete software development. For small
project, less number of people are required where as for large projects, a large
team is required to complete the project.
Off-the-shelf
component
Risk
Cost
Required
modification
Low
Low
No
Fullexperience
component
acceptable
Low
Low
Partial
experience
components
high
High
high
New
components
Very high
high
New one is
built
3. HARDWARE/SOFTWARE TOOLS:
Hardware/software tools are also called as the environmental resources.
Such tools are basically related to the internal and external environments
of the software.
1. Hardware
Resources:
Hardware
resources
is
tool
for
software
Software scope:Project scope is the part of project planning that involves determining and
documenting a list of specific project goals, deliverable, tasks, costs and
deadlines.
The documentation of a project's scope, which is called a scope statement, terms of
reference or statement of work, explains the boundaries of the project, establishes
responsibilities for each team member and sets up procedures for how completed
work will be verified and approved. During the project, this documentation
helps the project team remain focused and on task. The scope statement also
provides the project team with guidelines for making decisions about change
requests during the project.
It is natural for parts of a large project to change along the way, so the better the
project
has been "scoped" at the beginning, the better the project team will be
Q.3
Ans
Software project planning is ongoing process that sets the goals for the
whole
organization. It also define how these goals can be achieved. It also set
priorities. Pritiorizing includes determining what share of an organizations
resources, including funds and people, will be used to develop new and reengineer existing information systems.
As the result of software of project planning, a plan must be made. A plan is an
often a complex
Q.4
Ans
ab,bb,cb,db.
The various constant values are given in the following table 2.1 for the three
previously mentioned:
Software Project
Organic
Semi detached
Embedded
ab
2.4
3.0
3.6
bb
1.05
1.12
1.20
cb
2.5
2.5
2.5
db
0.38
0.35
0.32
A
3.2
3.0
2.8
b
1.05
1.12
1.20
c
2.5
2.5
2.5
d
0.38
0.35
0.32
2.
VIRT, ACAP, AEXP, MODP, TOOL, RELY, DATA, TIME, STOR, TURN
at the subsystem level.
3.
Requirements
Design
Code and unit
test
Integration and
system test
Small 2
KLOC
5.7
15.1
64.2
Large 128
KLOC
5.7
15.1
55.7
15.1
17.9
23.6
20.8
Phase
Requirements
Design
Code and
unit test
Integration
and system
test
Small 2
KLOC
6.5
15.9
59.8
6.5
15.9
57
6.5
15.9
54.2
6.5
15.9
51.4
Very
large(over
128
KLOC)
6.5
15.9
48.6
17.8
20.6
23.4
26.2
29.0
7.4
16.7
7.4
16.7
Very
large(over
128
KLOC)
7.4
16.7
Code and
unit test
Integration
and system
test
55.6
52.8
50.0
47.2
44.41
20.4
23.1
25.9
28.7
31.5
Q.5
Ans
Barry Boehm, in his classic work on software effort models, identified the main
ways of deriving estimates of software development efforts as:
algorithmic models, which use 'effort drivers' representing characteristics of
the target system and the implementation environment to predict effort.
expert judgment, based on the advice of knowledgeable staff.
analogy, where a similar, completed, project is identified and its actual effort is
used as the basic of the estimate.
Parkinson, where the staff effort available to do a project becomes the
'estimate'.
price to win, where the 'estimate is a figure that seems sufficiently low to win a
contract.
top-down, where an overall estimates for the whole project is broken down
into the effort required for component tasks
Bottom-up, where component tasks are identified and sized and these
individual estimates are aggregated.
Clearly, the 'Parkinson' method is not really an effort prediction method, but
a method of setting the scope of a project. Similarly, 'price to win' is
a way
of identifying a price and not a prediction.We will now look at some of these
techniques more closely. First we will examine the difference between top-down
and bottom-up estimating.
1. Bottom-up Estimating: with the bottom-up approach the estimator breaks the
project into its component tasks with a large project, the process of breaking it
down into tasks is iterative: each task is decomposed into its component
subtask and these in turn could be further analyzed. It is suggested that this
is repeated until you get tasks an individual could do in a week or two. The
bottom-up part comes in adding up the calculated effort for each activity to
get an overall estimate.
The bottom-up approach is best at the later, more detailed, stages of project
planning.
A procedural code-oriented approach:
we describe how a bottom-up approach can be used at a level of software
components.
Envisage the number and type of software modules in the final system.
Estimate the SLOC of each identified module.
Estimate the work content, taking into account complexity and technical
difficulty
calculate the work-days effort
2. Top-Down Approach and parametric models:
The top-down approach is normally associated with parametric models.
These may be explained using the analogy of estimating the cost of
rebuilding a house. This is of practical concern to house-owners who need
insurance cover to rebuilt their property if destroyed. Unless the houseowner is in the building trade he is unlikely to be able to calculated the
numbers of bricklayer-hours, carpenter-hours, electrical-hours and so on,
required. Insurance companies, however, produce convenient tables
where the house- owner can find estimates of rebuilding cost based on
such parameters as the number of storeys and the floor space of the house.
A parametric model will normally have one or more formulae in the form
effort =(system size ) *(productivity rate)
A model to forecast software development effort therefore has two key
components . The first is a method of assessing the amount of the work
needed. The second assesses the rate of work at which the task can be
done.
If you have figures for the effort expended on past project(in work-days
for instance)and also the system size in KLOC,you should be able to work
out a productivity rate as
productivity = effort/size
A more sophisticated way of doing this work be by using the statistical
technique least square regression to derive an equation in the form:
effort=constant1+(size*constant2)
The top-down and bottom-up approaches are not mutually exclusive .
Project managers will probably try to get a number of different
estimate from different people using different methods .Some part of an
overall estimate could be derived using a top -down approach
while
other parts could be calculate using a bottom-up method.
3.
Expert judgment
This is asking for an estimate of task effort someone who is
knowledgeable
about either the application or the development
environment .This method is often used when estimating the effort
needed to change an existing pieces of software .The estimator would
have to examine the existing code in order to judge the proportion of code
affected and from the derive an estimate . Someone already familiar with
the software would be in the best position to do this.
Some have suggested that expert judgment is simply a matter of guessing
,but our own research has shown that expert tend to use a combination of
an informal analogy approach where similar projects from the past are
identified ,supplemented by bottom-up estimating.
Unit 3
Project Scheduling
Q. 1
Describe tasks set and task network and their use with examples.
discipline to
Task Network:
A task network is also called activity network, is a graphic
representation of the task flow of a project. It depicts the major software
engineering task from the selected process model arranged sequentially or in
Henry L. Gantt gives the basis Gantt chart. Gantt chart is an easy way to
document schedules; it is a horizontal bar schedule showing activity start,
duration and completion.
It shows the connection between events and the calendar and provides a
graphical analog of the activity duration.
Q.2
complete the project including the identification of resource types and quantities
required to carry out each activity or task.
Pharhaps you identified the following tasks needed to complete the assignment:
1.
2.
3.
4.
5.
6.
7.
8.
Identify topic
Research topic
Write first draft of paper
Edit and rewrite paper
Prepare class presentation
Complete final draft
Complete presentation
Hand in paper and present topic in class
Ans
and
noncompliance
and
report
to
senior
management:
Ans : - Mc calls quality model:- In the 1990, there was a well publicized focus on
process modeling and process improvement in software engineering Inspried by
the work of deming and juran and implemented by companies such as IBM,
process guidelines such as the Capability Maturity Model, ISO 9000, and
Software process Improvement and Capability Determintion suggested that by
improving the software development process we can improve the quality of the
resulting products
Correctness
Traceability
Completeness
Reliability
Consistency
Accuracy
Efficiency
Error Tolerance
Execution Efficiency
Integrity
Usability
Storage Efficiency
Access Control
Access Audit
Maintainability
Operability
Training
Testability
Flexibility
Communicativeness
Simplicity
Conciseness
Portability
Interoperability
Instrumentation
Self- Descriptiveness
Expandability
Generality
Modularity
Reusability
Software
System
Independence
Machine Independence
Communications
Commonality
Data Commonality
Q.3
What are the key functions of configuration management? Give the schematic
of changes to software components and reasons for making changes to
software.
Ans:
The first requirement for the SCM process is the identification of objects in
software configuration. When a change is done, it should be clear to what the
change has been applied.
To control and manage SCIs, the concept of object- oriented approach is used. As
in an object- oriented approach, first the object are identified, then their attributes
and relationships are defined. Similarly in SCM, first we identify the various
objects by providing them unique names, and then define their related attributes
and relationships with each other. Objects, attributes and relationship in SCM are
discussed below:
1.
Identify Objects
There are basically two types of objects:
a) Basic Object: A basic object is a unit of text that has been created by a software
engineer during analysis, designs, code or test.
For Example, Requirement Specification, A Suite of Test Cases etc.
b) Aggregate Object: An aggregate object is collection of basic object and other
aggregate object. So, the concept of an aggregate object shows a mechanism for
representing a complete version of a software configuration.
For Example, Design Specification is an aggregate object because it has a named
list of pointers which points to the Data Model and Component N. But if we see
the basic object- Data Model, it doesnt have any such type of pointer to any
other object.
uniquely. Each object must have all the four attributes. These attributes are
mentioned below, as:
(a) A Name: Each object must have a unique name, so that it can be identified
uniquely, where, the name of the object is a sequence of character, i.e., a string
name. So, no duplicate name must be provided to identify more than one
object.
(b) A Description: Each object should be described in well manner. The object
description consists of a list of data items. These data items identify.
A project identifier
(c) A List of Resource: Another defined number attribute of the object is a list of
resources. A resource is an entity that is provide, referenced or otherwise
required by the object.
Ans.
Defect prevention is used to deliver a high quality production. While there are
many aspects of quality, the single most critical aspect is defect.
Defective software causes intense customer dissatisfaction; increase the cost of
delivery to astronomical levels because of rework for fixing the defect.
It also increases the effort and the elapsed time uncertain.
Defect prevention process is to improve quality and productivity.
In the process area defect prevention, defect encountered in the past are analyzed
and the most frequent, the most troublesome and the most time consuming
defects are identified and specific action are defined to prevent the same defects
from occurring in the future.
1.
Goals:
The goal of this process is to plan defect preventive activity and
implement them so to identify common causes of defects and
systematically eliminate them on a priority basis.
2.
Activities:
The plan should identify the activity, schedule, allocate resource and
assign responsibilities. Casual analysis meeting are held as postmortem
after every major software activity to identify the root causes
of the
most commonly breakdown of communication defects and to classify
them into categories. Proposed actions as a result of casual analysis are
identification and documented. Teams are formed to implement the
proposed defect prevention activities and their program is tracked. Then
integrated and impact of defect prevention activity are maintained and
analyzed.
3.
Ability to Perform:
An organization level team should be interested the task of continuously
initiation and coordinating defect prevention activities. Defect
prevention activity should be provided with adequate resource and
funding and members of the engineering group should be adequately
trained.
4.
Commitment to Perform:
The organization should have written policy that specifies that the
activity for defect prevention shall be followed by every project.
5.
6.
Implementation:
The defect prevention activities are reviewed by the senior management,
the projects manage, and the quality assurance group on a periodic basis
and on event driven basis.
Unit 5
Ans
Developers and managers believe that in their environment reviews will not
provide the benefits seen by other organizations.
When human effort is the most critical resource in a project, it is not easy for
them to accept the position that the highly manpower intensive review process
can make the overall process more productive and improve quality.
Q.2
Explain the role of tracking in project monitoring with their types in detail?
Ans
Project manager must have visibility into true status o f a project, for which the
best approach is to quantitively measure the key parameters.
Second, the visibility by itself does not solve any problem, if they find that the
project is not moving along the planned path, they must apply the proper
corrective actions to bring it back on the track.
Activity Tracking: Activity tracking is an important first step in goal setting and
time management because it ses benchmarks for evaluating our progress. It lets
us see where the valuable time is being spent and gives the data needed to set
goal.
Defect tracking: Many companies uses a defect control system for tracking
defects. It remain open until it has been fixed. The defect is marked as closed
when its removal has been verified. Each defect is closed and track to closure.
Issue tracking: Many small jobs come up during a project. These problems are
called issues. Managing issues is an important task for any project manager
because they can be potentially delay a project. Issues are recorded as they arise
,along with related information. When these issues are closed they marked as
closed.
Q.3
Ans
of safety so that lessons can be captured and used to improve the project and
future projects.
The objective of closure analysis is to determine what went right, what went
wrong, what worked, what did not, how it could be made better the next time.
The closure analysis are used to populate the process database. The process
database is repository of a process performance data from projects, which can
be used for project planning, estimation, analysis of productivity quality, and
other purpose.
Q.4
Ans
Q.5
Ans