Project-level MeasurementTypes of Software development project requirements
Types of Software development project requirementsFunctional requirementsNonfunctional requirementsTechnical (build) requirements All three types of project requirementsare necessary to produce a realistic estimate of the total software project effort.
Functional project requirements Functional size is the total size of all functional requirements that are new renovated (changed) removed (deleted) from the software
Phase-level measurements1. The requirements phase2. The risk analysis phase3. The design and specification phase4. The coding phase5. The integration and testing phase6. The installation phase7. The maintenance phase
Phase-level measurementsTesting phase 1. New function testing 2. Regression testing 3. Component testing 4. Integration testing 5. Stress testing 6. System testing
Project-, Phase-, and Activity-Level Estimating
Task-level measurementsTesting phase -> New function testing 1. Test Analysis 2. Test Design 3. Test Documentation 4. Review, Update 5. Test Execution 6. Bug Development 7. Test Results Validation 8. Test Reporting
Software Estimation Approaches Macro Equation Use Comparison Analogy Micro Work Breakdown
ComparisonProject Work Effort and Duration Estimates
Macro -/Micro – Estimation TechniquesWhere the macro- and micro-estimates vary by more than 10 to 15 percent, you should identify why and rework your estimates.
Approximating size techniques can be used when there isinsufficient opportunity, time, or perhaps information to perform a detailed size measurement.
Approach to Estimates Likely Effort for Individual Project Activities Te = (To + 4 Tm + Tp)/6where• Te = expected effort• To = most optimistic estimate• Tm = most likely estimate• Tp = most pessimistic estimate
Five Steps to Bottom-up Estimating• Identify All Project Required Tasks• Estimate All Tasks Identified in Your WBS or Project Activity Definition• Identify Task Dependencies• Identify the Resources Required to Complete All Tasks• Determine When Resources Should Complete These Tasks