Software Engineering - Software Project Estimation

EXPLAIN : MANAGEMENT SPECTRUM

- The Management Spectrum describes the management of a Software Project or How to make a Project Successful.
- It Focuses on the 4P's ; People, Product, Process & Project.
- Here, The Manager of the Project has to Control all these P's to have a Smooth Flow in the Project & To Reach the Goal.

ENLIST : 4P'S MANAGEMENT SPECTRUM

- People.
- Product.
- Process.
- Project.

EXPLAIN : 4P'S MANAGEMENT SPECTRUM

- People: People of a Project includes from Manager to the Developer, From Customer to the End user.
- Product: Product is any Software which has to be Developed. To develop Successfully, Product Objectives & Scope should be Established, Alternative Solutions should be Considered.
- Process: A Software Process Provides the Framework from which a Comprehensive Plan for Software Development can be Established.
- Project: Here, The Manager has to do some Job. The Project includes all and everything of the Total Development Process.

DEFINE : METRICS FOR SIZE ESTIMATION

- Software Project Estimation is an important Activity to any Software Development Process.
- It is a Process of Estimating various Resources required for the Completion of a Project.
- These are many Procedures available for Estimating the Size of a Project, Which are Line of Code (LoC) or Functionality Requirements of the Project (FP)
- Software Cost Estimation is the Process of Predicting the Amount of Effort required to Build a Software System.

EXAMPLE : SIMPLE SIZE-ORIENTED METRICS FOR PROJECT

- Errors per KLOC (Thousands of lines of Code)
- Defects per KLOC
- $ per KLOC
- Pages of Documentation per KLOC.

EXPLAIN : LINE OF CODE / LOC

- LOC is the Simplest Way among all the Metrics available to Estimate the Project Size.
- LOC is typically used to predict the Amount of Effort that will be Required to Develop a Program.
- LOC is one of the Most Widely used Methods for Size Estimation.
- LOC has also been used to Predict Program Complexity, Development Effort & Etc.

EXPLAIN : FUNCTION / FP

- FP was Developed in 1929 By Allan.J.Albrecht Of IBM Technologies.
- Function Point is a Method that Measure the Software Size of as a Magnitude of the Functionality Delivered by the System to it's Users.
- The most Widely used Function Oriented Metric is the Function Point (FP)
- It's Estimates an help in Estimating Effort required to Design Code & test the Software.
- A Function Point is a Unit of Measurement to Express the Amount of Business Functionality on Information System provides to a User.
- A Function can be defined that Performs a Certain Task together.

DEFINE : PROJECT COST ESTIMATION TECHNIQUES

- Estimation of various Project Parameters is a Basic Project Planning Activity.
- These Estimates not only help in Quoting the Process, But also Useful Resource planning & Scheduling.
- There are 3 Type of Project Cost Estimation Techniques : Heuristic Technique, Empirical Technique & Analytical Estimation.

EXPLAIN : HEURISTIC ESTIMATION TECHNIQUES

- Heuristic Techniques assume that the Relationships among the Different Project Parameters can be Modeled & The Multi Variable & Analytical Estimation.
- Different Heuristic Estimation Models can be Divided into the 2 Classes, Single Variable Model & the Multi Variable Model.
- Single Variable Models take the following Form:
    - Estimated Parameter = c1*e1^(d1)
- Multi Variable Models takes the following Form:
    - Estimated Resource = c1*e1^(d1)+c2*e2^(d2)+...

EXPLAIN : ANALYTICAL ESTIMATION TECHNIQUES

- Empirical Estimation techniques derive the required Results starting with Basic Assumptions regarding the Project.
- Halstead's Software Science is an example of an Analytical Estimation. It can be used to derive some interesting Results starting with a few Simple Assumptions.
-The Efforts required to Develop a Program can be obtained by Diving the Program Volume with the Level of the Programming Language used to develop the Code

EXPLAIN : EMPIRICAL ESTIMATION TECHNIQUES

- Empirical Estimation Techniques are based on making an Educated guess of the Project Parameters.
- Empirical Estimation Techniques are based on Common Sense & Different Activities involved in Estimation Judgement Technique & Delphi Cost Estimation.

EXPLAIN : COCOMO MODEL

- COCOCMO stands for Constructive Cost Model, Developed by Barry Boehm in 1981.
- Uses of COCOMO Model:
    - It is Well Documented, Accessible in the Public Domain, & Commercial Tools.
    - It has been Widely Used & Evaluated in a Range of Organization.
- COCOMO 81 is the First Version of the COCOMO Model, Which was a 3 - Level Model.

DIAGRAM : COCOMO MODEL

EXPLAIN : SOFTWARE RISK / RISK MANAGEMENT

- Software Risk / Risk is the possibility of Suffering Loss.
- In a Development Project, The Loss describes the impact to the Project which could be in the form of Diminished (Smaller, Lower) Quality of the End Product.
- It is simply an Undesirable Outcome that poses a Threat to the Achievement of Some Object.
- Software Risks can be Internal / External. The Internal Risks come from Risk Factors within the Organization. The External Risk come from out of the Organization and are Difficult to Control.

DEFINE : PRINCIPLES OF RISK MANAGEMENT

- Take a Forward Looking View: Think about the Risk that may rise in the Future.
- Integrate: A Consideration of Risk must be Integrated into the Software Process.
- Maintain a Global Perspective.
- Encourage Open Communication.
- Emphasize a Continuous Process.

DEFINE : PURPOSE OF RISK MANAGEMENT

- Reduces the Loss / Damages.
- Reduces the Probability of Risks in Future.
- Ensures the Management Awareness of Risks.


ENLIST : TYPES OF RISK

- Schedule / Technical Risks.
- Budget Risks.
- Operational Risks.
- Technical Risks.
- Other Unavoidable Risks.

DEFINE : TYPES OF RISKS

- Schedule / Technical Risks : Schedule Risks is the Risk that is based on the Project Schedule related Risks. It includes Risks related to Incorrect Time Estimation, Incorrect Project Schedule, Improper Resource Allocation, Underutilization & Unexpected Expansion of the Project Scope & Cost. Implementation becomes Difficult when Technical Risks are occurred.

- Budget Risks : Budget Risks are often related to the Cost /Budget of the Project & Etc. They include Risks such as Improper Budget Estimation, Cost overruns due to Underutilization of Resources. Expansion of the Project Scope, Improper Tracking of Finances & Delay of Projects may also have certain Penalty Costs associated with the Constructing Projects.
- Operational Risks : These Risks are associated with the Day-To-Day Operational Activities of the Project & With the Improper Implementation in the Projects. Operational Risks includes the Risks such as Failure to Resolve the Responsibilities, Insufficient Resources, No Resource Planning & Lack of Sufficient Training.
- Technical Risks : Technical Risks can Threaten the Quality & Timeliness of the Software to be Produced. When Technical Risks becomes Reality, The Implementation can be more Difficult.
- Other Unavoidable Risks : All the Risks described above are those which can be Anticipated to a Certain Extend & Planned for In-Advance. However, There are some Risks which are Unavoidable in Nature. They include Risks such as Changes in the Government Policy, Obsolescence (Becoming Outdated) & Loss of Contracts due to Changes at the Customers' End.

DEFINE : RISK IDENTIFICATION

- Risk Identification is the First Step in Risk Assessment which Identifies all the Different Risks for a Particular Project.
- It is a Process of Stating which Risk may occur during the Development of the Project.
- Risk Identification is a Process of Determining Risks that could Potentially prevent the Program.
- Methods that can Aid Risk Identification includes Checklists of Possible Risks, Meetings & Reviews of the Plans, Work Products.
- The Best way of Analyzing a Project Plan is by Converting it to a Flowchart & Examines all the Essential Area.

DEFINE : RISK ANALYSIS

- Risk Analysis is a Technique which is used to Define Preventive Measure to Reduce the Probability Occurrence of Such Threatening Factors.
- Risk Analysis is the Process of Analyzing the Risk associated with the Testing Process.
- Risk Analysis assessing the Loss Probability & Loss Magnitude for each Identified Risk Item & Assessing the Compound Risks.

DEFINE : RISK PRIORITIZATION

- A Risk may Identify a Number of Risks that Appear to be similar ranking or Severity.
- When too many Risks are Clustered at or about the Same Level, A Method is needed to Prioritize the Risk Responses & Where to apply Limited Resources.
- Prioritization is a Key Component of the Risk Management Program & Becomes necessary when the Requirements cannot be fulfilled successfully.

DEFINE : RISK CONTAINMENT

- Containing Risk is the Process of keeping Track of Noticed Risks, Finding New Risks, Monitoring Residual Risks & Analyzing the Risks.
- Input Phases : Project Management Plan, Risk Register, Work Performance Data & Work Performance Reports.
- Output Phase : Work Performance Information, Change Requests, Project Management Plan Updates, Project Document Updates & Organizational Process Assets Updates.

EXPLAIN : RMMM STRATEGY

- From all of the Risk Analysis Activities presented to this point have a Single Purpose to assist the Project Team in Developing a Strategy for Dealing with Risk.
- An Effective Strategy consists of 3 Issues:
    - Risk Management.
    - Risk Monitoring.
    - Risk Avoidance.
- If a Software Team adopts a Proactive (Responsive) Approach to Risk Avoidance the Best Strategy.

DEFINE : PRIMARY OBJECTIVES OF RISK MONITORING

- To assess whether predicted Risks do, In fact, Occur;
- To make sure that Risk Aversion Steps which are defined for the Risk are Applied Correctly; And...
- To gather the Data which can be used for Future Risk Analysis.

EXPLAIN : THE RMMM PLAN

- A Risk Management Strategy can be included in the Software Project Plan, Which can be further be Organized into a Separate Risk Mitigation, Monitoring & Management Plan.
- The RMMM Plan Documents all the Work Performed or Part of Risk Analysis & Is used by the Project Manager as a Part of Project Tracking Activity.
- Risk Mitigation is a problem Avoidance Activity while Monitoring is a Project Tracking Activity.
- In number of cases, The Problems that occur during a Project can be Traced to more than a Risk.
- One of the most Important Job of the Risk Monitoring is to attempt Allocate Origin caused which Problems throughout the Project.

Popular posts from this blog

Software Engineering & Project Mangement

Software Engineering - Software Quality Assurance & Security

Data Structures & Algorithms