Software Effort Estimation Quiz
5 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 elements that contribute to the success of a software project?

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

What is Parkinson's Law in the context of software project management?

Parkinson's Law states that 'work expands to fill the time available' for its completion.

Explain the difference between bottom-up and top-down estimation methods.

Bottom-up estimation involves breaking the project into smaller components, while top-down estimation provides an overall estimate based on project cost drivers from past data.

Why is bottom-up estimation considered time-consuming?

<p>It is time-consuming because it requires identifying all tasks and estimating costs for each smaller component.</p> Signup and view all the answers

What is the role of expert opinion in software effort estimation?

<p>Expert opinion may serve as a method of estimation, relying on the experience and insights of knowledgeable individuals.</p> Signup and view all the answers

Study Notes

Software Effort Estimation

  • Software projects require accurate effort estimations for successful delivery. Factors like agreed functionality, on-time completion, adherence to budget, and required quality affect project success.

Success Criteria

  • Successful projects deliver agreed-upon functionality, are completed on time, meet the agreed cost, and maintain the required quality.

Challenges

  • Challenges can arise when targets aren't attainable despite planning.

Parkinson's Law

  • Parkinson's Law states that work expands to fill the available time. This means that underestimating can lead to a longer project duration. Likewise, overestimating can also lead to longer project times.

Weinberg's Zeroth Law of Reliability

  • Weinberg's Zeroth Law of reliability asserts that a software project not required to meet a reliability requirement can meet any other requirement.

Estimating Methods

  • Bottom-up: This method breaks projects into smaller components; it's suitable when past project data is unavailable. It is time-consuming.

  • Top-down: This method calculates an overall estimate initially; it is based on past project data and often uses project cost drivers. This is efficient but can lead to oversimplification of the project elements.

  • Steps of Bottom-up:

    • Decompose the project into smaller, manageable components.
    • Determine the effort required for each component.
    • Sum component efforts to provide the overall project estimate.
  • Taxonomy of Estimating Methods: Different methods include: bottom-up (activity-based, analytical); parametric or algorithmic models, including function points; expert opinion (sometimes considered "guessing"); and analogy (case-based, comparative).

Parametric Models

  • Parametric models utilize historical data, calculating effort based on a project's characteristics. Examples include COCOMO (utilizing lines of code), and function points (analyzing system characteristics like inputs, outputs, and data items to create a model based on similar past project estimation experience).

  • COCOMO81: A model based on industry productivity standards (e.g., database size, programmer experience), adjusted according to complex factors, enabling organizations to benchmark productivity.. The effort is calculated as 'C * sizek’ where C and k are constants for organic, semi-detached, and embedded systems, and system size is measured in thousands of lines of code (kloc). System type will influence the appropriate constants (C, k) that should be used.

  • Examples of system characteristics in parametric models are:

    • Number of screens x 4 hours
    • Number of reports x 2 days
    • Number of entity types x 2 days

Function Points (FP)

  • Function points, particularly Mark II, are for estimating the size of information systems, not effort. They are calculated from a software system's characteristics, rather than from lines of code.
  • Function points are used to estimate the size of an information system that is reflected in the number of data entities, the number of input/output transactions, and the number of files/records. The COCOMO model is also suited to estimate lines of code but can be adjusted to estimate other factors like effort and time-to-market.
  • FPs are useful for estimating complexity of an information system.

Function Points for Embedded Systems

  • Function points Mark II and IFPUG function points are originally designed for information systems; COSMIC FPs extend the concept to embedded systems which are usually layered.

Layered Software

  • A layered software system consists of layers that communicate with each other to provide services and functionality. The example shows how processes involving persistent storage are involved at a peer level or a higher level of software.

COSMIC FPs

  • COSMIC Functional size units (Cfsu) focus on counting data movements into and out of software components. Entries and exits are treated as one. Reads and writes of data are also treated as one.

Reviewing Estimates

  • Review estimates through critical questions, including:
    • Size drivers of the tasks
    • Productivity rates in use
    • References to previous similar projects.
    • Verification of the productivity rates themselves.

Studying That Suits You

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

Quiz Team

Related Documents

Description

Test your understanding of software effort estimation concepts, including success criteria and common challenges. Explore principles like Parkinson's Law and Weinberg's Zeroth Law of Reliability as you assess various estimating methods.

More Like This

Use Quizgecko on...
Browser
Browser