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?
At the end of the training, participants will be able to
- Use some of the best known techniques to estimate software projects.
- Select the best estimation technique for a give project from a pool of estimation techniques.
- Use an ample amount of techniques and best practices to arrive at as realistic as possible estimates and to avoid many pitfalls.
- Estimate agile and iterative software projects.
- Correctly utilize use cases to arrive at estimates.
- Simulate sophisticated projects and analyze results to identify risks and make corrective changes in the estimates.
- Suggest a developing company what procedures and techniques can be utilized to improve organizational performance (And personal performance of workers).
- Software Project Managers, Software Project Estimators, Technical Leads/Team Leads/Senior Software Engineers
- IT Managers, IS Auditors
- Non-IT Professionals with project management knowledge who want to get into IT field (This is a conversion program for you.)
- Read "Do I fit for that training?" if you are interested, but need help to determine whether you should participate or not.
- 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?".
Kamal Wickramanayake (Profile)
- 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.
- 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.
- 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.
- To facilitate easy understanding, delivery of the training may not cover the content shown below in the exact order.
- 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?
Estimation Techniques Overview
- Classification of estimation techniques
- How to evaluate and compare different estimation techniques for suitability?
- Expert judgment
- Wideband Delphi technique
- Algorithmic approaches
- COCOMO II
Software Size Measurement Techniques Overview
- Lines of code
- Function points
- Use-case points
- Object points
- Complexity metrics
Range Estimation And Preparing A Work Breakdown Structure (WBS)
- Single-point estimation
- Three-point estimation
- Rolling wave estimation
- Best practices in preparing a WBS
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
Estimation Guidelines For Agile Development
- Introduction to agile development
- Agile value statements
- Release, iteration and daily planning
- Poker playing technique
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
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
- Common factors that affect individual productivity
- Effect of schedule compression
- What causes an early project completion?
- Effects of geographically dispersed development
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
Maintaining An Organization Specific Estimation Database
- Values of maintaining an estimation database
- What data should be maintained?
- How to use the estimation database?
- 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