Podcast
Questions and Answers
What are the key factors for a successful software project?
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.
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?
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.
Describe the steps involved in bottom-up estimating.
Signup and view all the answers
How does the top-down estimating method utilize past project data?
How does the top-down estimating method utilize past project data?
Signup and view all the answers
What is the relationship between system characteristics and parametric models?
What is the relationship between system characteristics and parametric models?
Signup and view all the answers
How does COCOMO aid in software estimation?
How does COCOMO aid in software estimation?
Signup and view all the answers
What is the formula for estimating effort in a simplistic parametric model?
What is the formula for estimating effort in a simplistic parametric model?
Signup and view all the answers
What was the original purpose of function points in software estimation?
What was the original purpose of function points in software estimation?
Signup and view all the answers
What approach does Function Points Mark II take towards software sizing?
What approach does Function Points Mark II take towards software sizing?
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
- Divide the project into smaller components.
- Analyze what one person can achieve per week/fortnight.
- Estimate costs for individual tasks.
- Aggregate costs at higher project levels.
Top-down Estimating Steps
- Calculate the overall project estimate using efficiency metrics or historical data.
- 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.
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.