Effective Software Project Management Focuses On The Four P's - The People - The Product - The Process - The Project
Effective Software Project Management Focuses On The Four P's - The People - The Product - The Process - The Project
1 THE MANAGEMENT
SPECTRUM
Effective software project
management focuses on the four Ps
The People
The Product
The Process
The Project
Software Project
Estimations
Estimation of resources ,cost and
schedule of software development
are very important. To make a
good estimate requires experience
and expertise to convert qualitative
measures to quantitative form.
Factors like Project size, Amount of
risk involved etc areaffecting the
accuracy and efficacy of estimates.
Estimation Techniques
The following are the different
techniques for estimation
Decomposition Technique
Empirical Estimation Models
Automated Estimation Tools
Decomposition
Technique
Here we subdivide the problem into
small problems. When all the small
problems are solved the main
problem is solved.
Lines of Code
Function Point
LOC (Lines of Code), FP(Function
Point) estimation methods consider
the size as the measure. In LOC the
cost is calculated based on the
Empirical Estimation
Models
Estimation models uses empirically
derived formulas to predict the
estimates. Here we conduct a study on
some completed projects. From those
observation we form some statistical
formulas. We can use this formulas to
estimate the cost of other projects.
The structure of empirical estimation
models is a formula, derived from data
collected from past software projects,
that uses software size to estimate
COCOMO
Stands for COnstructive COst MOdel
Introduced by Barry Boehm in 1981 in his book
Software Engineering Economics
Became one of the well-known and widely-used
estimation models in the industry
It has evolved into a more comprehensive
estimation model called COCOMO II
COCOMO II is actually a hierarchy of three
estimation models
As with all estimation models, it requires sizing
information and accepts it in three forms: object
points, function points, and lines of source code
Automated Estimation
Tools
The decomposition techniques and
the empirical estimation models can
be implemented using software.
These automated tools allow the
planner to estimate the cost and
effort and will also give important
information like delivery date
,staffing.
Make/Buy Decision
It is often more cost effective to acquire rather than develop
software
Managers have many acquisition options
Software may be purchased (or licensed) off the shelf
Full-experience or partial-experience software
components may be acquired and integrated to meet
specific needs
Software may be custom built by an outside contractor to
meet the purchasers specifications
The make/buy decision can be made based on the following
conditions
Will the software product be available sooner than
internally developed software?
Will the cost of acquisition plus the cost of customization
be less than the cost of developing the software internally?
Will the cost of outside support (e.g., a maintenance
contract) be less than the cost of internal support?
Software Project
Planning
Planning provides a road map for
the software development process.
Software Scope
The first activity in software
project planning is the
determination of software scope. A
software project scope must be
unambiguous and understandable
at the management and technical
levels.The software scope means
the actual operation that is going
to carried out by the software and
its plus points and limitations.
Resources
Risk Management
Risk always involves two
characteristics:Uncertainty, Loss.If
the risk becomes a reality unwanted
loss will occur.
Software project Risk
Technical Risk
Business Risk
Software project Risk
Software project Risk threaten the
project plan.If the project risk
Technical Risk
Technical Risk threaten quality of the
software to be produced. The technical
risk occur when the problem is harder
to solve than we thought.
Business Risk
Business Risk threaten the viability of
the software to be built. ie, building
an excellent product that no one
really wants in the market. Building a
product that no longer fit into the
Risk Mitigation
Risk mitigation is to avoid the risk and
is the best strategy. Here we should
take much care to avoid the
possibility of risk.
Risk Monitoring
As the project proceeds the risk
monitoring activity starts. This is to
find the occurrence of risk.
Risk Management
COCOMO formula
E = abKLOCbb
D = cbEdb
whereEis the effort applied in
person-months,Dis the development
time in chronological months and
KLOC is the estimated number of
delivered lines of code for the project
(express in thousands)
E = aiKLOCbixEAF
whereEis the effort applied in
person-months andKLOCis the
estimated number of delivered lines
of code for the project
Analysis Principle
Requirements analysis is a software
engineering task that bridges the gap
between system level requirements
engineering and software design
problem recognition
evaluation and synthesis
modeling
specification
review
UNIT 4
Requirement
Engineering tasks
Inception
Elicitation
In Elicitation requirements are elict
from customers, users and others.
Also it will be find out from
customers, users and others what are
the product objectives what is to be
done to accomplish these objectives.
Moreover it is necessary to know how
product fits into business needs, and
how the product is used on a day to
day basis.
Requirement elicitation is difficult due
to following reasons. Problems of
Elaboration
The information obtained from the
customer during inception and
elicitation is expanded and refined
during elaboration.
Elaboration Focuses on developing a
refined technical model of software
functions, features and constraints.
It is driven by the creation and
refinement of user scenarios.
Negotiation
In negotiation phase reconciling of
conflicting requirement need to be
carried out. Here customer asked to
rank their requirements according to
their priority.
Using iterative approach
requirements are prioritized.
At the end theres no winner and loser
after completion of negotiation
activity.
Specification
Specification means different thing to
different people.
It can be written document, a set of
graphical models, a formal
mathematical model, a collection of
usage scenarios, a prototype, or any
combination of these.
It is the final work product produced
by the requirements engineer.
It serves as the foundation for
subsequent software engineering
activities.
Validation
Work products produced are assessed
for quality in this step.
A task which examines the
specification to ensure that all
software requirements have been
stated unambiguously.
That inconsistencies, omissions and
errors have been detected and
corrected.
That work products conform to the
standards established for the process,
project and the product.
Requirements Management
During requirements management, the
project team performs a set of activities to
identify, control, and track requirements
and changes to the requirements at any
time as the project proceeds
Each requirement is assigned a unique
identifier
The requirements are then placed into one
or more traceability tables
These tables may be stored in a database
that relates features, sources,
dependencies, subsystems, and interfaces
to the requirements.
Requirement Modeling
Scenario based modeling
Behavioral Modeling
Class-Based Modeling
Flow-oriented modeling
Behavioral Modeling
Behavioral element depict how
external events change the state of
the system or the classes that reside
within it.
Class-Based Modeling
Class-based element modeling
represent the object the system will
manipulate and the operations that
will be applied to the objects that the
system will manipulate.
Also it represent the operation that
will be applied to the objects to effect
the manipulation.
Other than this it also represents
relationship between objects and
Flow-oriented modeling