Unit V - Se
Unit V - Se
Estimation – FP Based, LOC Based, Make/Buy Decision, COCOMO II - Planning – Project Plan, Planning Process, RFP
Risk Management – Identification, Projection, RMMM - Scheduling and Tracking –Relationship between people and
effort, Task Set & Network, Scheduling, EVA - Process And Project Metrics.
C 100
C++ 85
JAVA 50
FP=UFP*TCF
FP: Function points/Adjusted Function points
UFP: Unadjusted function points
TCF: Technical complexity factor/Complexity Adjustment Factor/Value Adjustment Factor
Guidelines for counting function points:
Project
ab bb cb db
Project
ai bi ci di
Ratings
Very Extra
Cost Drivers Very Low Low Nominal High High High
Product attributes
Hardware attributes
Personnel attributes
Project attributes
These 15 attributes get a 6-point scale ranging from “very low” to “extra high”. These ratings can be viewed
as:
In the following sections, each of the actions associated with software project planning is discussed.
Software scope and feasibility:
Software scope describes the functions and features that are to be delivered to end users; the data that are
input and output; the “content” that is presented to users as a consequence of using the software; and the
performance, constraints, interfaces, and reliability that bound the system.
Scope is defined using one of two techniques:
1. A narrative description of software scope is developed after communication with all stakeholders.
2. A set of use cases is developed by end users.
Functions described in the statement of scope (or within the use cases) are evaluated and in some cases
refined to provide more detail prior to the beginning of estimation.
Software feasibility has four solid dimensions:
Technology—Is a project technically feasible? Is it within the state of the art? Can defects be reduced to
a level matching the application’s needs?
Finance—Is it financially feasible? Can development be completed at a cost the software organization, its
client, or the market can afford?
Time—Will the project’s time-to-market beat the competition?
Resources—Does the organization have the resources needed to succeed?
Putnam and Myers correctly suggest that scoping is not enough. Once scope is understood, you must
work to determine if it can be done within the dimensions just noted. This is a crucial, although often
overlooked, part of the estimation process.
Milestone = end-point of a specific, distinct software process activity or task (for each milestone a
report should be presented to the management)
Deliverable = project result delivered to the client In order to establish milestones the phases of
the software process need be divided in basic activities/tasks.
Project Plan Structure
1.Introduction
Project objectives – constraints (budget, time, etc.)
2.Project organization
People involved, roles
3.Risk analysis
Projects risks, Risk reduction strategies
4.Resource requirements:Hardware and software
5.Work breakdown
Activities, milestones, deliverables
6.Project schedule (3W: What activity, when, who)
Activities dependencies, activities time, allocate people to activities
7.Monitoring and reporting mechanisms
What management reports and when
Monitoring mechanism used
Revise plan, update schedule
Categories of risk:
1. Project risks threaten the project plan. That is, if project risks become real, it is likely that the project
schedule will slip and that costs will increase.
Project risks identify potential budgetary, schedule, personnel (staffing and organization), resource,
stakeholder, and requirements problems and their impact on a software project.
2. Technical risks threaten the quality and timeliness of the software to be produced. If a technical risk
becomes a reality, implementation may become difficult or impossible. Technical risks identify potential
design, implementation, interface, verification, and maintenance problems
3. Business risks threaten the viability of the software to be built and often jeopardize the project or the
product. Candidates for the top five business risks are
Market risk: building an excellent product or system that no one really wants
Strategic risk :Building a product that no longer fits into the overall business policy of the
company.
Sales risk: Building a product that the sales force doesn’t understand how to sell.
Management Risk: Loosing the support of senior management due to a change in focus or a
change in people.
Budget risks: Loosing budgetary or personnel commitment
4. Known risks are those that can be uncovered after careful evaluation of the project plan. (e.g.,
unrealistic delivery date, lack of documented requirements or software scope, poor development
environment).
5. Predictable risks are extrapolated from past project experience
(e.g., staff turnover, poor communication with the customer, dilution of staff effort as ongoing
maintenance requests are serviced).’
6. Unpredictable risks are the joker in the deck. They can and do occur, but they are extremely difficult to
identify in advance.
Seven Principles of Risk Management
1. Maintain a global perspective: view software risks within the context of a system in which it is a
component and the business problem that it is intended to solve.
2. Take a forward-looking view: think about the risks that may arise in the future (e.g., due to changes in
the software); establish contingency plans so that future events are manageable.
3. Encourage open communication if someone states a potential risk, don’t discount it. If a risk is
proposed in an informal manner, consider it. Encourage all stakeholders and users to suggest risks at any
time.
4. Integrate- a consideration of risk must be integrated into the software process.
5. Emphasize a continuous process the team must be vigilant throughout the software process, modifying
identified risks as more information is known and adding new ones as better insight is achieved.
6. Develop a shared product vision if all stakeholders share the same vision of the software, it is likely
that better risk identification and assessment will occur.
7. Encourage teamwork -the talents, skills, and knowledge of all stakeholders should be pooled when
Risk management process:
The risk management process is an iterative process that continues throughout the project.
i. Risk identification
ii. Risk projection
iii. Risk refinement
iv. Risk mitigation, monitoring and mitigation
Fig: The Risk Management Process
RISK IDENTIFICATION
Risk identification is a systematic attempt to specify threats to the project plan (estimates, schedule,
resource loading, etc.).
It is a process of Identifying the risks that could cause major threat to the software engineering
process, the software being developed, or the development organization.
By identifying known and predictable risks, the project manager takes a first step toward avoiding them
when possible and controlling them when necessary.
There are two distinct types of risks
Generic risks:
- Generic risks are a potential threat to every software project.
Product-specific risks.
- Product-Specific risks can be identified only by those with a clear understanding of the technology,
the people, and the environment that is specific to the software that is to be built.
Risk item Checklist
- One method for identifying risks is to create a risk item checklist.
- The checklist can be used for risk identification and focuses on some subset of known and
predictable risks in the following generic subcategories:
Product size- risks associated with the overall size of the software to be built or modified.
Business impact- risks associated with constraints imposed by management or the marketplace.
Stakeholder characteristics risks associated with the sophistication of the stakeholders and the
developer’s ability to communicate with stakeholders in a timely manner.
People risks- Risks that are associated with the people in the development team.
Process definition- risks associated with the degree to which the software process has been defined
and is followed by the development organization.
Development environment(Tool Risk)- risks associated with the availability and quality of the tools
to be used to build the product.
Technology to be built- risks associated with the complexity of the system to be built and the
newness of the technology that is packaged by the system.
Staff size and experience- risks associated with the overall technical and project experience of the
software engineers who will do the work.
Assessing Overall Project Risk
1. Have top software and customer managers formally committed to support the project?
2. Are end users enthusiastically committed to the project and the system/ product to be built?
3. Are requirements fully understood by the software engineering team and its customers?
4. Have customers been involved fully in the definition of requirements?
5. Do end users have realistic expectations?
6. Is the project scope stable?
7. Does the software engineering team have the right mix of skills?
8. Are project requirements stable?
Risk Components and Drivers
The risk components are defined in the following manner:
Performance risk-the degree of uncertainty that the product will meet its requirements and be fit for its
intended use.
Cost risk-the degree of uncertainty that the project budget will be maintained.
Support risk-the degree of uncertainty that the resultant software will be easy to correct, adapt, and enhance.
Schedule risk-the degree of uncertainty that the project schedule will be maintained and that the product will
be delivered on time.
Where, E is development effort in person-months, P is a productivity parameter and t is the project duration
in calendar months.
Rearranging this software equation, an expression for development effort E:
- DRE can also be used within the project to assess a team’s ability to find errors before they are passed to
the next framework activity or software engineering action.
- When used in this context, we redefine DRE as