3“Staggering Stats” The Standish Group “Chaos” report shows: 31.1% of projects will be cancelled before they ever get completed.52.7% of projects will cost 189% of their original estimates.The cost of these failures and overruns are just the tip of the iceberg. The lost opportunity costs are not measurable, but could easily be in the trillions of dollars.Only 16.2% for software projects that are completed on-time and on-budget. .Even when these projects are completed, many are no more than a mere shadow of their original specification requirements.Projects completed by the largest American companies have only approximately 42% of the originally-proposed features and functions.The above findings have been consistent for the last 25 years
4Estimation Why do we need to estimate? To work out how much effort & cost might be involved to deliver a project often based on incomplete input data that may be incomplete or uncertain.To planTo run through scenarios to determine feasibilityWhy is estimation of software projects difficult?Types of Estimation technique may be based on developer opinion, apply Methods like function block counting or broadband delphi or use Rules of Thumb - all are mostly based on guesswork, personality and resource experience, can be time consuming and are often inconsistently applied.“Accurate software estimating is too difficult for simple rules of thumb.”~ Capers Jones, 1991How do we introduce more accurate estimation?Through the introduction of a method to determine the size of the functionality (function point analysis) to be delivered by a software project and using this as a base from which effort to deliver functionality can be estimated.This can allow for a more scientific approach and consistently applied process to estimating effort and cost.
5Generic Problem Statement (Summary) There is no standard estimation processProject managers make use of their own tools, methods and processes to come up with estimates. These are therefore inconsistent and often dependant on the experience and knowledge of the Project ManagerThere is no central repository for recording estimatesAssumptions therefore cannot be traced and this problem is compounded by turnover of project management staff.Initial estimates that drive the initial budgeting process tend to be significantly lower then final budget/actuals.History shows the Projects planned for the release miss their release dates. This will increase costs and project delivery timelines.A large percentage of active projects have no baseline in place.Estimation is inconsistent and ever changing
6Generic Problem Statement - Detail PeopleLack of clarity around who does the estimates and who is responsible for the estimatesSkills not adequate to deliver accurate estimatesLimited understanding of the estimation process and terminologyProcessBusiness do not understand the estimation process and their input into this process.Lack of clearly defined scope management process and principles from an estimation perspectiveEstimation is dependant on the forecasting and budgeting process, which is financially driven rather than size driven.SystemsLack of historical informationLack of industry benchmarksLack of a central repository for storing estimations and assumptions.PracticeEstimation process is dependant on the requirements process, which is new and slowly maturing within the many environments.No standards exist in terms of sizing (Function Point count)The above issues result in variances in time, cost and effort when compared to actuals
8SPR HistorySoftware Productivity Research (SPR) was founded in 1984 by Capers Jones, an internationally recognized consultant, speaker, author and seminar leader in the field of software management.SPR is a worldwide provider of consulting services that enable organizations to compete more effectively through the predictable, on-time delivery of high-quality software by focusing on software estimation, measurement, and assessment. Their services help companies manage the software development process for maximum productivity, performance, and quality.SPR’s clients include many of the Global 1000 companies, representing all major software environments including systems, IT, commercial, military, and government. They focus on capturing and analyzing the software practices of Best in Class organizations - those recognized for outstanding quality and service. In addition, they help software organizations achieve higher performance as they progress on the road to excellence.Headquartered in Hendersonville, North Carolina, with representation throughout the US, South America, Europe, Asia and now Africa, SPR has unparalleled expertise in estimation, benchmarking, measurement, function point analysis, and process assessment. They have been providing superior products and services in these areas longer than any other company in the field today, and they use this experience effectively to enhance our clients' capabilities.
9What is SPR KnowledgePLAN? KnowledgePLAN is a parametric estimation tool that uses historical data about projects correlated to Function Point size to produce detailed, bottom-up (micro estimation) predictions of software projectsWith SPR KnowledgePLAN you can:Determine SIZE - size your projects using three possible sizing methodsEffort - Produce an estimate of effort, cost and resource required for a software project.Estimate Quality - Predict the total number of defects that will be introduced during various stages of the projectProject Factors - Assess the influence of project factors such as product size and complexity, team skill sets, management style, tools, languages, methods, quality practices, and office environmentScenario Play - SPR KnowledgePLAN allows a software project to explore the cost/value implications of additional resources, more powerful languages, development tools, improved methods and other technical changes.- SPR allows approximation of functional size from which effort can be determined considering various of influencing project factors. Scenario play gives insight to the impact of these factors on effort and duration numbers to deliver approximated size.
12Key stages to Estimation How does KnowledgePLAN support a 4 stage estimation processHow big?How difficult?How capable?Which tasks?SizingComplexityCapabilityProcessMitigatedby tools andlanguagesRISK mustbeproperlyassessedWaterfallAgileRUPIterative-SpiralDSDM
13SPR Sizing SPR support three different types of sizing methods. ComplexityCapabilityProcessSizing by MetricsSizing can be input by various metrics:Function Points (Recommended)IFPUG/NESMACOSMIC FFPMark IIObject PointsEstimated Function PointsTechnical (approximation) Function PointsLogical System Lines of CodeSPR support three different types of sizing methods.This allows organizations to align methods to specific inputs into estimation that become available through the Project LifecycleMore than projects in the Knowledge BaseSizing by ComponentsUse a multi-tiered approach to sizingEstimate built from known valuesApproximation accuracy approaches that of FPACombine with Size by Metric when more is knownSizing by AnalogyEstimates can be made against a variety of software products in the table, further categorized by size (small/medium/large)The portions of enhancement projects that are New, Enhancement, Maintenance, and Conversion effort are recorded here
14Estimation Stage - Complexity Complexity factors are rated for projectsSizingComplexityCapabilityProcessAlgorithmic (“Problem”) complexityCorrection for effort within the application boundaryStructural (“Code”) complexityQuantitative scale describes recursive statementsHigh complexity somewhat mitigated by high-level languages/skillsRelational (“Data”) complexityExtent of data organization complexityHigh complexity somewhat mitigated by data modeling
15Estimation Stage - Capability SizingComplexityCapabilityProcessTechnologySoftware tools and platform issuesTechnologyProcessEnvironmentPersonnelSOFTWAREQUALITYANDPRODUCTIVITYProductProcessDevelopment methods, quality assurance, testing, documentationPersonnelExperience and skills of: managers, developers, usersProductHardware and software requirements, constraints, and architecturesEnvironmentOrganization, office and physical environment
16Estimation Stage- Process SizingComplexityCapabilityProcessTasks are selected by the model and may be adjustedProjects are made up of tasks for which deliverables are predicted based on historical information in each task category134 task categories are available in the toolTASK CATEGORYTask 1Task 2Task 3TASK CATEGORYTask 1Task 2Task 3RequirementsDesignsCodeTest casesDocumentationTASK CATEGORYTask 1Task 2Task 3Task 4TASK CATEGORYTask 1Task 2
17Detailed reporting allows for easy interrogation of data
18SPR LimitationsIt is not a substitute for good planning (it is only a part of it)Project managers still need to:Discuss, agree and monitor delivery with project resourcesManage dependencies, issues and risksManage their project calendar and resources poolKeep their plans updated and relevant!The tool has its limitations and cannot estimate:Estimate projects with no sizeable software development(SDLC) componentsEstimate on peripheral constraints and impacts to project cost and duration outside of what can be captured into the Tool (i.e.: infrastructural changes, resource unavailability, Fixed/CAPEX costs, delays, freeze periods).
20When do we estimate in the Innovation lifecycle & why? Stage In Process:Beginning of the idea/concept phase.Stage In Process:Middle of Detailed Design (DD) which implies - no later than 6 weeks into Detail Design / End of Detail DesignStage In Process:End of High Level DesignStage In Process:Release into ProductionInnovation Project LifecycleIdea Cloud /Concept EvaluationHigh Level DesignDetailed DesignBuild, Test, FixImplementationEEEEstimation by Analogyto assist withPre-Execution Budget.Reason for EstimationFor input around time,cost & effort estimatesinto the business caseReason for EstimationTo review & revise the execution budget.To provide time, cost & effort estimates.Reason Actual vs Estimate AnalysisTo understand actuals & perform variance analysis from earlier phases in order to understand route cause of variances.To record historical data for future use by estimations of other similar projects going forward.EOptionalMandatory
21What are the key inputs & documents? Idea Cloud /Concept EvaluationHigh Level DesignDetailed DesignBuild, Test, FixImplementationEEEInputs / documentsNew Idea LoggedHL BusinessRequirementsBusinessRequirementsSpecification nProject Close-outHL ArchitecturalDesignProcessDefinitionArchitecturalDesignComponentModelFunctionalSpecificationTechnicalSpecificationUpdated DocumentsApprovedBusinesscaseEstimationEAQEstimationEAQEstimationEAQKey SPR specific estimation documents required are the Estimation Environmental Assessment QuestionaireThis document allows for the rating of estimation attributes (Capabilities of dev team , involvement of business, quality assurance measures etc)It allows for dev teams to provide a view of perceived development complexity for both what is to be added as new, changed and re –added or changed as part of existing code.EstimationoutputsFunction point count (detailed complexity)Analogy Estimate ProducedComponent count (avg complexity)Tracked project Actuals vs Est.Estimation & Estimation report created
22What technique do we use for estimation? Stage In Process:Beginning of the conceptphaseStage In Process:End of High Level DesignStage In Process:Middle of Detailed Design / End of Detailed DesignStage In Process:Release into ProductionInnovation Project LifecycleIdea Cloud /ConceptEvaluationHigh Level DesignDetailed DesignBuild, Test, FixImplementationEEETechnique - AnalogyOptionally–using to size and estimate projects where very littlie information is available.Technique – ComponentCompile estimation input from all areas and collate for overall time & effort.Inputs from other Group Technology areas: High Level Work Breakdown Structure with expert based estimationTechnique – Metric (FP count)Detailed documentationDetailed Work Breakdown StructureTechnique Actuals versus Estimated tracking and comparison based offFunction Point CountingLooking at actual project scheduleCapture Actual value
23What are our confidence factors for estimation in the different phases of the lifecycle? Stage In Process: Beginning of the Concept PhaseStage In Process:End of High Level DesignStage In Process:Middle of Detailed Design / End of Detailed DesignStage In Process:Release into ProductionInnovation Project LifecycleIdea Cloud /ConceptEvaluationHigh Level DesignDetailed DesignBuild, Test, FixImplementationPLAYPEN (Existing Process apply)EEEEEstimation Confidence Factor20-40 %Estimation Confidence Factor50 – 60%Estimation Confidence FactorMiddle of Detailed Design = 60%End of Detailed Design = 85%Estimation Confidence FactorActual = 100%Confidence levels are dependent requirement & scope stability as well as the detail and accuracy of conceptual and detailed design documentation that is used as input into the estimation types.Highest confidence levels are achieved through estimation by Metric where functional sizing is done through the application of function point analysis.Analogy estimations can provide an accurate view however this remains a method through which functional size is approximated based on relating a projects intended functional object to very high level descriptions in the knowledgeBASE. In order for the upper end of the confidence scale to be achieved using analogy enterprise specific analogies would need to be created. In so doing the variability inherent with this type of estimation is reduced.