Break up into groups:Business RequirementsBusiness Rules User RequirementsFunctional RequirementsQuality Attributes – Portability Constraints
Break up into groups:Business RequirementsBusiness Rules User RequirementsFunctional RequirementsQuality Attributes – Portability Constraints
Identifying the Actors (Users)Ask them what they need (Use case)Understanding the Goal
Feature CreepGold Plating Ambiguous Terms
Ambiguous Terms
Per Requirement
Change Controls need to be in placeDependencies For requirements will affect change
Change Controls need to be in placeDependencies For requirements will affect change
Measure what is mesuarble
Over:Parkinson's Law (Project will fill the budget)Students Law (Procrastination)Under:Dependency FalloutFailure to Plan (Less time to work less time to plan)Project is late Cause other failures More Meetings Less Development Failure to Deliver Re-prioritization Interim Release Quick and Dirty Workarounds Which introduce bugs
Describes how accurate an estimate will be in which phase of a projectEarlier in Design more inaccurate the estimate will be (This is based off skilled estimators your estimate will be more uncertin)
Many Techniques exists but depend on project style
Count what you canHours / FeatureHours / Web PageHours / Integration Points Hours / ClassesHours / Defects Hours / Complexity (CRAP Index with Unit testing or Cylomatic Complexity with PHP MD)
Constantly Re-evaluate at every step
Identifying the Actors (Users)Ask them what they need (Use case)Understanding the Goal