Professional Documents
Culture Documents
Project management plan: Project management software allows you to plan projects
whilst taking previous track records into account.
Tracking project progress in terms of completion, time and costs: Certain warning
signs that software allows to easily spot gives way for in-time warnings.
Scheduling and time management: The importance of project scheduling cannot be
ignored. Each member receives their schedule and is aware of what is expected and
when.
Resource allocation: Certain software measures resource spending and also allocates
resources for each task and each member.
Budgeting: Controlled in real-time costs and time evaluation. updates of progress.
Communication and Collaboration: Proper communication among project team
members
Documentation: Documents can be created and stored there for safe.
User-friendly: Effective software should act as an enabler and not as a barrier.
Empirical Estimation:
• Estimation is the process of finding an estimate, or approximation, which is a
value that can be used for some purpose even if input data may be incomplete,
uncertain, or unstable.
• Estimation determines how much money, effort, resources, and time it will
take to build a specific system or product. Estimation is based on −
– Past Data/Past Experience
– Available Documents/Knowledge
– Assumptions
– Identified Risks
• The four basic steps in Software Project Estimation are −
– Estimate the size of the development product.
– Estimate the effort in person-months or person-hours.
– Estimate the schedule in calendar months.
– Estimate the project cost in agreed currency.
Empirical Estimation:
Model derived using regression analysis on data collected from past projects
Empirically derived formulas are used to predict data that are a required part
of the software project-planning step.
The empirical data are derived from a limited sample of projects.
Empirically derived formulae to predict efforts as a function of Line Code
(LOC) or Function Points (FP)
Empirical Estimation
Uses the formula
E = A + B * (ev)c
A and B are Empirically derived Constants
E – Effort in Person Month
ev - Estimation Value either FP / LOC
LOC Based
Line of Code – Focuses on Software Functions
Source Lines of Code (SLOC) is a software metric frequently used to measure the
size and complexity of a software project. It is typically used to predict the amount
of effort and time that will be required to develop a program, as well as to estimate
the programming productivity once the software is produced.
Advantages:
Universally accepted and is used in many models like COCOMO.
Estimation is closer to developer’s perspective.
Simple to use.
Disadvantages:
Different programming languages contains different number of lines.
No proper industry standard exist for this technique.
It is difficult to estimate the size using this technique in early stages of project.
Name Abbreviation Estimated LOC
Basic COCOMO can be used for quick and slightly rough calculations of
Software Costs. Its accuracy is somewhat restricted due to the absence of
sufficient factor considerations.
E = a* (KLOC)b
E – Effort in person month
A and B are constants for different types of projects
KLOC – Kilo Lines of Code ie in 1000s
Basic COCOMO a and b values
SOFTWARE PROJECTS A B
Organic 2.4 1.05
Semi Detached 3.0 1.12
Embedded 3.6 1.20
Intermediate COCOMO : The basic model assumes that the effort is only a
function of the number of lines of code and some constants evaluated
according to the different software system.
No system’s effort and schedule can be solely calculated on the basis of
Lines of Code.
Various other factors such as reliability, experience, Capability etc are to be
considered
These factors are known as Cost Drivers and the Intermediate Model
utilizes 15 such drivers for cost estimation.
An Effort Adjustment Factor (EAF)is Calculated from these 15 parameters
Having values for Very Low, Low, Nominal, High, Very High
Intermediate COCOMO :
Effort Estimated as
E = (a* (KLOC)b * EAF)
a and b are constants
KLOC Kilo Lines of Code
EAF – Effort Adjustment Factor
Values for a and b are
SOFTWARE
A B
PROJECTS
Organic 3.2 1.05
Semi Detached 3.0 1.12
Embeddedc 2.8 1.20
Classification of Cost Drivers and their attributes:
(i) Product attributes –
Required software reliability extent
Size of the application database
The complexity of the product
(ii) Hardware attributes –
Run-time performance constraints
Memory constraints
The volatility of the virtual machine environment
Required turnabout time
(iii) Personnel attributes –
Analyst capability
Software engineering capability
Applications experience
Virtual machine experience
Programming language experience
(iv) Project attributes –
Use of software tools
Application of software engineering methods
Required development schedule
COST VERY
VERY LOW LOW NOMINAL HIGH
DRIVERS HIGH
Product
Attributes
Required
Software 0.75 0.88 1.00 1.15 1.40
Reliability
Size of
Application 0.94 1.00 1.08 1.16
Database
Complexity
of The 0.70 0.85 1.00 1.15 1.30
Product
VERY VERY
COST DRIVERS LOW NOMINAL HIGH
LOW HIGH
Hardware
Attributes
Runtime
Performance 1.00 1.11 1.30
Constraints
Memory
1.00 1.06 1.21
Constraints
Volatility of the
virtual machine 0.87 1.00 1.15 1.30
environment
Required turnabout
0.94 1.00 1.07 1.15
time
VERY VERY
COST DRIVERS LOW NOMINAL HIGH
LOW HIGH
Personnel attributes
Analyst capability 1.46 1.19 1.00 0.86 0.71
Applications experience 1.29 1.13 1.00 0.91 0.82
Software engineer
1.42 1.17 1.00 0.86 0.70
capability
Virtual machine
1.21 1.10 1.00 0.90
experience
Programming language
1.14 1.07 1.00 0.95
experience
VERY
COST DRIVERS VERY LOW LOW NOMINAL HIGH
HIGH
Project Attributes
Application of
software engineering 1.24 1.10 1.00 0.91 0.82
methods
Use of software tools 1.24 1.10 1.00 0.91 0.83
Required development
1.23 1.08 1.00 1.04 1.10
schedule
Detailed Model
Detailed COCOMO incorporates all characteristics of the intermediate
version with an assessment of the cost driver’s impact on each step of the
software engineering process. The detailed model uses different effort
multipliers for each cost driver attribute. In detailed cocomo, the whole
software is divided into different modules and then apply COCOMO in
different modules to estimate effort and then sum the effort.
The Six phases of detailed COCOMO are:
Planning and requirements
System design
Detailed design
Module code and test
Integration and test
Cost Constructive model
The effort is calculated as a function of program size and a set of cost
drivers are given according to each phase of the software lifecycle.
COCOMO-II
The COCOMO-II consists of the following steps
Application Composition Model
Early Design Stage Model
Post Architectural Model
Function point as Object Points
FP Object Pont Factors Simple Medium Difficult
Screens user Interfaces 1 2 3
Reports 2 5 8
3 GL Components 10
The Putnam’s model.
Halstead’s Software Science
Risk Management
A risk is a potential problem—it might happen, it might not. But, regardless of
the outcome, it’s a really good idea to identify it, assess its probability of
occurrence, estimate its impact, and establish a contingency plan should the
problem actually occur.
Risk is an expectation of loss, a potential problem that may or may not occur in
the future. It is generally caused due to lack of information, control or time
Two Characteristics
➤ Likelihood —Do you know more or less how to perform this task? Or is this something
you’ve never done before so it might hold unknown problems?
➤ Severity —Can the users live without this feature if the task proves difficult? Can you
cancel this feature or push it into a future release?
➤ Consequences —Will problems with this task affect other tasks? If this task fails, will
that cause other tasks to fail or make other tasks unnecessary?
➤ Work-arounds —Are there work-arounds? What other approaches could you take to
solve this problem? For each work-around consider:
➤ Difficulty —How hard will it be to implement this work-around? How long will it
take? What are the chances that this work-around will work?
➤ Impact —What affects do the work-arounds have on the project’s usability? Is this
going to make a lot of extra work for the users?
➤ Pros —What are the work-arounds’ advantages?
➤ Cons —What are the work-arounds’ disadvantages?
Type Of Risks
RISK MANAGEMENT(Doc)
RISK MANAGEMENT(PPT)
Software project
• Vague requirement
• User not sure of needs
• Huge number of people
• Large number of resources
• Time span
• Requirement changes
Core Risks [1]
Project manager
Software risk category
• Project risk
• Process risk
• Product risk
Risk management process
• Risk identification
• Risk analysis
• Risk planning
• Risk monitoring
• Risk resolving
Risk identification
• Human resource
• Organizational
• Human resource
• Tools
• Estimation
Quantification of risk [4]
• Risk exposure
RE = Probability * consequence
Risk analysis
• Questions
– What is causing the risk
– How much will it affect
– Are the risks dependent
– The probability that it will occur
– Is the exposure acceptable
• Severity
• probability
Risk planning
• Avoidance
• Protection
• Reduction
• Research
• Reserves
• Transfer
• Risk resolving
• Risk documentation
productivity metrics in IT software projects are mainly based on ratios between the
size of delivered software and the effort performed to obtain it
Function Points (FP) and Source Lines Of Code (SLOC)
multiple size measures
Object points
increasing store constraints, timing constraints, reliability requirements, high level
languages, team size, requirements volatility, staff tools skills, staff availability,
customer participation, and project duration
Quality Assurance Plans – Section 8.3.2