SE3
SE3
The project parameters are re-estimated periodically as understanding grows and also
non-periodically as project parameters change.
By taking these developments into account, the project manager can plan the subsequent
activities more accurately and with increasing levels of confidence.
4. Project Size Estimation
Metrics for Estimating Project Size
Refine UFP to reflect the actual complexities of the different parameters used in
UFP computation. Compute FP by further refining UFP to account for the specific
characteristics of the project that can influence the entire development effort.
○ Advantages:
■ Independent of programming language.
■ Can be computed from requirements (SRS).
1. Empirical Estimation (Expert Judgement, Delphi Method)- essentially based on making
a guess of the project parameters. While using this technique, prior experience with
development of similar products is helpful. based on common sense and subjective
decisions, over the years.
2. Heuristic Estimation (COCOMO Model)- assume that the relationships that exist
among the different project parameters can be satisfactorily modelled using suitable
mathematical expressions.
3. Analytical Estimation (Halstead’s Software Science)- have certain scientific basis.
The effort required to develop a product increases rapidly with project size.
Completing a project in a shorter period of time will increase the cost drastically. But completing
it over a longer period of time shows almost no decrease in the estimated cost value.
● Intermediate COCOMO
○ The effort to develop a product would vary depending upon the sophistication of
the development environment. Adjusts effort using an Effort Adjustment Factor
(EAF).
The EAF is calculated by multiplying the parameter values of different cost driver
attributes. Ideally, the value is 1.
○ Uses a set of 15 cost drivers (multipliers) that are determined based on various
attributes of software development.
■ Product attributes
■ Computer attributes
■ Personal attributes
● Detailed COCOMO
○ Combination of both the basic model and the intermediate model.
○ Breaks project into subsystems.
○ Estimates cost for each subsystem separately.
○ The six stages of the detailed model are as follows:
■ Planning and requirements
■ System design
■ Detailed design
■ Module code and test
■ Integration and test
■ Cost constructive model
COCOMO II
● Modern extension of COCOMO (supports GUI & component-based software).
● Three models to be applied at the different stages of the same project:
1. Application Composition Model (Prototype Cost Estimation).
2. Early Design Model (Architecture Design Phase).
3. Post-Architecture Model (Final Development Stage).
where,
● Putnam’s Work
Only a small number of developers are needed at the beginning of a project to carry out
the planning and specification tasks. As the project progresses and more detailed work
is performed, the number of developers increases and reaches a peak during product
testing. After implementation and unit testing, the number of project staff falls.
where
❖ K is the total effort expended (in PM) in the product development and
❖ L is the product size in KLOC
❖ td corresponds to the time of system and integration and testing. Therefore, td
can be approximately considered as the time required to develop the software.
❖ Ck is the state of technology constant and reflects constraints that impede the
progress of the programmer.
typical values of
❖ Ck = 2 for poor development environment (no methodology, poor documentation,
and review, etc.),
❖ Ck = 8 for good software development environment (software engineering
principles are adhered to),
❖ Ck = 11 for an excellent environment (in addition to following software
engineering principles, automated tools and techniques are used).
● Jansen’s Model
Similar to Putnam Model. Attempts to soften the effect of schedule compression on effort
to make it applicable to smaller and medium sized projects.
where,
❖ Cte is the effective technology constant,
❖ td is the time to develop the software, and
❖ K is the effort needed to develop the software.
8. Scheduling Techniques
Steps for Scheduling a Software Project
Activity Networks
Shows the different activities making up a project, their estimated durations, and their
interdependencies.
Two equivalent representations for activity networks are possible and are in use:
● Activity on Node (AoN): In this representation, each activity is represented by a
rectangular (some use circular) node and the duration of the activity is shown alongside
each task in the node. The inter-task dependencies are shown using directional edges
● Activity on Edge (AoE): In this representation tasks are associated with the edges. The
edges are also annotated with the task duration. The nodes in the graph represent
project milestones.
Critical Path Method (CPM)
● Identifies the longest sequence of dependent tasks (critical path).
● Critical task is the one with zero slack time.
● Determines earliest & latest start/finish times.
● Helps in resource optimization.
ET = (O + 4M + W ) / 6
Gantt Charts
● Visual timeline representation of project tasks. A form of bar chart where each bar
represents an activity.
● Indicates task duration & dependencies.
9. Risk Management
A risk is any anticipated unfavourable event or circumstance that can occur while a project is
underway. Risk management aims at reducing the chances of a risk becoming real as well as
reducing the impact of a risk that becomes real.
Risk Assessment
For risk assessment, first each risk should be rated in two ways:
● The likelihood of a risk becoming real (r).
● The consequence of the problems associated with that risk (s).
Based on these two factors, the priority of each risk can be computed as follows: p = r × s