Contact Us

Project Estimation, Planning & Control

Estimation is the process of predicting the effort required to develop or maintain a software / application. There are predominantly two categories of techniques to perform estimate: Software size estimation and software effort estimation.

Duration: Classroom - 2 Days
Why Take This Course:

Software development effort estimation is a critical step in software development life cycle. The estimation usually in terms of size or effort defines the investment required and go-live or go-to-market for application and business respectively. Estimation is one of the toughest phases in the software development lifecycle due to ambiguous/evolving requirements, undocumented assumptions and lack of knowledge and lack of in depth analysis of the application. This coupled with over confidence of a developer and the pressure of deadlines often result in erroneous estimation with time always coming short than actually required. Software estimation techniques provide a useful way to identify and document the assumptions, provide a way to break down ambiguous / unclear requirements into smaller components to better understand the features to be developed and ensure all factors considered adequately to reduce effort or schedule overrun.

Estimation is the process of predicting the effort required to develop or maintain a software / application. There are predominantly two categories of techniques to perform estimate: Software size estimation and software effort estimation.

Software Size Estimation: This process is usually used before the beginning of a project to estimate the project size thereby required people, time taken and cost. Example techniques: Lines of Code, Function Point, Object Point

Software Effort Estimation: This process is used to make the optimal use of the required effort so as to arrive at suitable schedule
estimate. Example techniques: Use Case Points, Test Points, COCOMO model, User Story Points.  

This course provides a view of the multiple techniques available and a proven repeatable process to apply and use the right estimation techniques in a software development life cycle:

  • Establish Scope: Define the scope (boundaries), purpose of the estimate, assumptions (based on the level of detail to which the application requirements are defined and likely to change) and the estimation techniques to be used
  • Prepare Preliminary Estimate: Collect data from different sources – requirements / specifications documents, discussions with the business, surveys, etc. and prepare preliminary estimate 
  • Review and Refine Estimate: Review estimate with stakeholders, identify risks and refine the estimate
  • Generate Project Plan: Determine effort required broken down by components and develop preliminary project plan with tasks broken down and schedules
  • Track Project: Track project during execution for schedule and effort deviations, conduct root cause analysis and document lessons learned for adjustments in future estimation planning

The course is developed on a simulation program that will enable you to apply the process on a real life situation to improve the learning effectiveness.

Learn How To:

The course will help you practically learn on the following areas:

  • Use estimation processes in the broader software development life cycle and refine the estimation technique assumptions and parameters as suitable within the organization
  • Ask the right set of questions early on, to clearly understand the scope and document assumptions to eliminate risks arising out of ambiguous / unclear requirements
  • Identify critical variables influencing the time and effort required to estimate software development
  • Estimate size and effort for projects that closely represents the actual effort that maybe required to design, develop, test and deploy software for a given business need
  • Apply some of the commonly used estimation techniques and understand the pros and cons of each
 Contents:

Planning: Estimating and Scheduling

  • Estimating challenges
  • Effort versus duration
  • Estimating techniques
  • Progression of estimates
  • Decomposition

Work Breakdown Structure (WBS)

  • Deliverable-based
  • Task-based
  • Scheduling challenges
  • Workshop

Purpose / need and the objective of estimation techniques:

  • Importance of estimation in SDLC and enablement of competitive advantage to business
  • Benefits of using scientific techniques for estimation 
  • Overview of multiple estimation techniques (Function point, use case point, 3-point, PERT, story points / poker, Delphi)
  • Following a structured approach to perform estimation

Function point (FP) estimation:

  • Introducing five components of Function Point Estimation grouped by Data and Transaction Functions
  • Introducing Data Element Types (DET) and Record Element Types (RET)
  • Steps to estimate the unadjusted size for data and transaction functions
  • Applying value adjustment factor to arrive at adjusted size
  • Simulation with a case study: Estimation for developing a trading system
  • Close with Q&A

Use Case point (UCP) estimation:

  • Quick overview of use cases and its components
  • Steps to calculate unadjusted size based on use cases
  • Applying value adjustment factor to arrive at adjusted size
  • Simulation with a case study: Estimation for developing a trading system
  • Comparing the size estimated using FP and UCP

3-Point and PERT Estimation techniques (Only introduction no simulation):

  • Breaking down functionalities into a WBS
  • Using WBS to estimate size and effort in 3-Point and PERT estimation techniques

Management and governance of estimation templates, parameters and performance techniques

  • Data collection and reconciliation of actual against estimate
  • Root cause analysis on deviation
  • Developing organizational benchmarks
  • Governance structure to manage and maintain the templates, adjustment factors, common assumptions and risks

Establish scope:

  • Determine requirements scope
  • Estimating purpose
  • Supporting assumptions
  • Case introduction / simulation

Executing and Controlling the Project

  • Team dynamics
  • Leadership and management
  • Conflict and power
  • Workshop
  • Controlling projects
  • Project tracking
  • Performance reporting
  • Change management
  • How to recognize scope “creep”
  • Workshop
Format:

To help assimilate the tools and techniques learned, there is a mixture of various kinds of case studies throughout the course. A lively simulation help reinforce concepts learned. Be prepared for a high level of participation. Each participant will receive a checklist on estimation techniques.

Who Should Attend:

Project professionals or consultants who will be developing estimates for software development for their organization or clients. This could be project managers, business / system analysts, developers, testers or consultants.

Prerequisites: Experience on software development and understands software development lifecycle. The training adopts a mix of theory and hands-on sessions.

Learn More About Our Association