Software Estimation Techniques
10 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What are the key factors for a successful software project?

The key factors are delivering agreed functionality on time, at the agreed cost, and with the required quality.

Explain how Parkinson’s Law relates to project time estimation.

Parkinson's Law states that 'work expands to fill the time available,' meaning if more time is allocated, the project might take longer than necessary.

What is the main difference between bottom-up and top-down estimating methods?

Bottom-up estimating involves breaking down the project into smaller tasks and estimating each, while top-down estimating starts with an overall project estimate and divides it among tasks.

Describe the steps involved in bottom-up estimating.

<p>Bottom-up estimating involves breaking the project into smaller components, estimating costs for the lowest level, and then aggregating those estimates at higher levels.</p> Signup and view all the answers

How does the top-down estimating method utilize past project data?

<p>Top-down estimating produces an overall project estimate based on cost drivers derived from past project data, distributing this estimate across various jobs.</p> Signup and view all the answers

What is the relationship between system characteristics and parametric models?

<p>Parametric models use system characteristics, such as the number of screens and reports, to estimate effort based on quantitative relationships between input and output.</p> Signup and view all the answers

How does COCOMO aid in software estimation?

<p>COCOMO helps in estimating software development effort by using lines of code or function points as inputs, considering productivity factors.</p> Signup and view all the answers

What is the formula for estimating effort in a simplistic parametric model?

<p>The formula is estimated effort = system size / productivity.</p> Signup and view all the answers

What was the original purpose of function points in software estimation?

<p>Function points were originally used to estimate lines of code rather than the effort required for development.</p> Signup and view all the answers

What approach does Function Points Mark II take towards software sizing?

<p>Function Points Mark II emphasizes a detailed analysis of various file types and transaction inputs and outputs to estimate system size.</p> Signup and view all the answers

Study Notes

Software Project Management - Chapter 5: Software Effort Estimation

  • Successful Project Characteristics: Delivering agreed functionality on time, at the agreed cost, with the required quality.

  • Project Stages: Setting achievable targets, attempting to meet those targets.

  • Parkinson's Law: Work expands to fill the available time. Over-estimating task time often results in project duration exceeding the ideal timeframe.

  • Weinberg's Zeroth Law of Reliability: A software project not needing a specific reliability requirement can fulfill other requirements.

Estimating Methods

  • Taxonomy of Estimating Methods:
    • Bottom-up: activity-based, analytical approach. Breaks down the project into smaller components, estimating each element, then aggregating. Suitable when little similar past project data exists.
    • Parametric/Algorithmic Models (e.g., COCOMO, function points): Use historical data and mathematical models to predict effort based on system characteristics. COCOMO uses lines of code for example, while function points consider system complexity aspects.
    • Expert Opinion: Subjective estimations based on expertise, potentially unreliable without supporting data.
    • Analogy: Comparing new projects to similar past projects.
    • Parkinson and "Price to Win": Cost estimates influenced by factors beyond purely technical requirements, such as competitiveness.

Bottom-up vs. Top-down

  • Bottom-up: Detailed task breakdown for estimations. Time-consuming, but more precise when detailed project information is available.
  • Top-down: Overall estimate based on project cost drivers (historical data). Divides the overall estimate across tasks, suitable when similar past project data is accessible.

Bottom-up Estimating Steps

  1. Divide the project into smaller components.
  2. Analyze what one person can achieve per week/fortnight.
  3. Estimate costs for individual tasks.
  4. Aggregate costs at higher project levels.

Top-down Estimating Steps

  1. Calculate the overall project estimate using efficiency metrics or historical data.
  2. Distribute proportions of this overall estimate among project components.

Parametric Models

  • Data Requirements: Historical data is necessary for successful parametric model application for software effort estimation. Examples include lines of code, function points, etc.
  • System Characteristics: Parameters used for prediction (e.g., lines of code, input/output transaction types)

Function Points Mark II

  • Origin: Developed by Charles R. Symons. Based on the work of Albrecht.

  • Use: For software sizing and estimating. Initially developed for use in the UK. Compatible with the system development methodology SSADMs.

  • Calculation: A formula combining the number of input, output, external interface, and file types for estimation of function point size.

COSMIC Function Points

  • Purpose: Extension of function points for estimation of embedded systems, which consider software components/units working in a layered structure.

  • Counting Method: Count components in a layered system, including component movement in and out of the layer.

COCOMO 81

  • Basis: Provides productivity standards based on industry data. Allows software productivity benchmark comparison between projects.
  • Effort Calculation: Uses the formula effort = c x sizek for effort calculation.
    • Constants (c and k) vary based on project type (Organic, Semi-detached, Embedded, etc.).
    • Size is generally measured in thousands of lines of code (kLOC).

Effort Multipliers (Dem)

  • Factors Influencing Productivity: Reliability, Database size, complexity, execution time constraints, storage limitations, team capability, and programming experience.
  • Application: Estimate adjustment by factoring in development complexity issues (multipliers).

Estimating by Analogy

  • Process: Examine past projects and evaluate the resemblance of current project characteristics. Identify an example that closely matches the current project and apply historical data to the current project.

Review of Estimates

  • Questions to Consider: Task size drivers, productivity rates utilized in the past, comparable prior project examples, accuracy and reliability of estimated productivity rates.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Explore the various techniques and factors that contribute to successful software project estimation. This quiz covers important methods such as bottom-up and top-down estimating, as well as parametric models and their connection to project characteristics. Test your knowledge on the role of COCOMO and function points in software estimation.

More Like This

Software Estimation and Planning
5 questions
Software Effort Estimation
10 questions
Software Project Effort Estimation
38 questions
Use Quizgecko on...
Browser
Browser