Note: Please note that training delivery does not happen as frequent as it was used to be due to other engagements of the trainer. This applies to both public and corporate training programs. Resumption of training activities to normalcy may not happen very soon. You are kindly requested to seek training from other sources.

Software Project Effort Estimation Training

Description:

Despite the difficulties of predicting future, estimating software projects (development, quality assurance or maintenance) is an essential need. An estimate helps pricing and planning the project before the project starts. Afterwards, an estimate helps in managing the project progress. Hence, attempts to make an estimate as realistic as possible is paramount to the success of software project undertaking companies.

Due to the manifestation of many unknowns, software project estimation is inherently difficult. This mandates that software project estimators are well rounded with various estimation techniques, when and where to use them, organization and customer environment analysis, risk assessment and awareness of many pitfalls.

This comprehensive training from Software View is designed to bring utmost values to the participants. While providing all the know-hows to arrive at realistic software project estimates, a natural by-product is the personal improvement of participants. This is due to the tight relationships between people, technology, time and money in software projects. Is there anyone to claim that knowing how to balance these factors does not allow one to use such wisdom to accomplish the personal missions?

Training Objectives:

At the end of the training, participants will be able to

  1. Use some of the best known techniques to estimate software projects.
  2. Select the best estimation technique for a give project from a pool of estimation techniques.
  3. Use an ample amount of techniques and best practices to arrive at as realistic as possible estimates and to avoid many pitfalls.
  4. Estimate agile and iterative software projects.
  5. Correctly utilize use cases to arrive at estimates.
  6. Simulate sophisticated projects and analyze results to identify risks and make corrective changes in the estimates.
  7. Suggest a developing company what procedures and techniques can be utilized to improve organizational performance (And personal performance of workers).

Target Groups:

  1. Software Project Managers, Software Project Estimators, Technical Leads/Team Leads/Senior Software Engineers
  2. IT Managers, IS Auditors
  3. Non-IT Professionals with project management knowledge who want to get into IT field (This is a conversion program for you.)
  4. Read "Do I fit for that training?" if you are interested, but need help to determine whether you should participate or not.

Prerequisites:

  1. The ideal participant should have been working in a software factory for more than about two years and knows about software development activities. If you do not find yourself in such a state, also read "Do I fit for that training?".

Communication Language:

English

Duration:

3 Day

Facilitator:

Kamal Wickramanayake (Profile)

Notes:

  1. Estimation and planning are parts of project management and have their roots reaching many ends. The training at appropriate times may introduce such important areas but without exploring them in detail not to dilute the focus.
  2. One may feel that most of the sections are relevant to software development projects only, but they are not. Almost all of the topics are equally important in software quality assurance and maintenance projects.
  3. This training is not about software procurement projects or services provided for such installed software. The focus is on software development and related quality assurance and maintenance projects.
  4. To facilitate easy understanding, delivery of the training may not cover the content shown below in the exact order.

Training Content:

  1. Introduction
    • Why software project estimation is different from project estimations in other fields?
    • What makes a realistic estimate?
    • What makes a non realistic estimate?
    • When to estimate?
    • Where and how to use an estimate?
    • What causes a project to fail and what can be the contribution of the project estimate?
  2. Estimation Techniques Overview
    • Classification of estimation techniques
    • How to evaluate and compare different estimation techniques for suitability?
    • Analogy
    • Expert judgment
    • Wideband Delphi technique
    • Parkinson
    • Price-to-win
    • Top-down/Bottom-up
    • Algorithmic approaches
    • COCOMO II
  3. Software Size Measurement Techniques Overview
    • Lines of code
    • Function points
    • Use-case points
    • Object points
    • Complexity metrics
  4. Range Estimation And Preparing A Work Breakdown Structure (WBS)
    • Single-point estimation
    • Three-point estimation
    • Rolling wave estimation
    • Best practices in preparing a WBS
  5. Estimation Guidelines For Iterative Development
    • Introduction to iterative development (as in Rational Unified Process)
    • Phase planning
    • Iteration planning
    • A framework to accept future scope changes in fixed price contracts
  6. Estimation Guidelines For Agile Development
    • Introduction to agile development
    • Agile value statements
    • Release, iteration and daily planning
    • Poker playing technique
  7. Monte Carlo Analysis
    • Why simulation is preferred for complex projects?
    • What is Monte Carlo Analysis?
    • How to use Monte Carlo analysis in project estimations?
    • Using spreadsheet software to perform the simulation
  8. Use Case Based Effort Estimation
    • Use case basics
    • Use case confusions
    • Use case levels
    • Estimating with use cases at different levels
    • UCP technique
    • Precautions in estimating with use cases
  9. Productivity Influencers
    • Common factors that affect individual productivity
    • Effect of schedule compression
    • What causes an early project completion?
    • Effects of geographically dispersed development
  10. Completing A Project Estimate
    • How to analyze risks and modify the estimate for their effects?
    • How to factor in the effects of other environmental forces?
    • Documenting assumptions
    • Review and verification of an estimate
    • An example fully completed project estimate
  11. Maintaining An Organization Specific Estimation Database
    • Values of maintaining an estimation database
    • What data should be maintained?
    • How to use the estimation database?
  12. Other Matters
    • Guidelines in estimating quality analysis and maintenance projects
    • Linkage between effort estimation and cost estimation
    • General guidelines in pricing software
    • Facing common concerns of customers