I'm looking for papers, books, sites, etc. about techniques of improving estimating skills of my own and my team.
Can anyone suggest something interesting?
I can suggest you looking at devplanner.com. It is a personal planning and estimating tool. It shows planned time and time really spent, thus you can improve estimating skills using your own experience.
Good luck,
Michael.
Saving Changes...
Michael WoodProject Manager / Business Analyst / Business Process Improvement Guru| Independent ContractorGig Harbor, Wa, United States
John,
While this may sound strange I would look to the contstruction industry to learn how to estimate more accurately. The issue with estimating IT related projects is the lack of depth and granularity of the estimates. In the construction industry estimates are built at a very granular level. When I do development estimates for example I break the estimate down to every component of the development process for each deliverable. So each program would be estimated for its requirements, design, coding, testing, training and deployment components. While this takes time and much focus it does seem to produce plus or minus 5% accuracy of estimates. I have had success with macro techniques that are based on the accumulatioin of performance metrics for specific individuals and complexity ratiings of deliverables. Unfortunately they only seem to be accurate once sufficient performance history has been accumulated.
Michael is correct: Granularity implies more detail in a work breakdown structure and an understanding of precedence. This greatly enhances the accuracy of any estimate.
One small problem that you will encounter though is that the detail of work in the future depends on decisions you make before you get to that point in time. There is no way around this – example: Requirements are known and two possible designs are identified – one is more difficult to implement than the other. How can you estimate the whole project before you know what you will decide? Even worse: At the start of the project, you will not even be aware of the design choice situation.
The answer to the problem of this is to estimate phases – don’t get caught out with ‘fixed price’ estimates. Even a builder wont quote until he knows what is going to be built – and for that you need designs.
In my humble opinion the best approach is: Define your development process and make sure that it covers all the known requirements for developing software and make sure it uses a phased approach – call this best practice if you wish. Then make sure you detail the work breakdown sufficiently and refine this before going to a next phase and then ASK the people who are going to do the work for an estimate. For some reason, unknown to me, it is possible for a human to become quite good at estimating an answer to this type of problem.
Note: the experience of the person at estimating counts – LOTS!
And then, once you have a feasible plan – Manage, manage, manage – nothing is as dangerous as accurate estimation coupled with poor management.
The worst thing that you can do is to purchase a tool that promises to allow you to calculate an estimate from some indication of complexity – this has been proven to be a mathematical impossibility and I can share the published papers on this topic with you if you like.
Bottom line: There is no silver bullet here - to become proficient at solving this class of problem, you, your managament and your team will have to go through the hard yards and master a process - like the RUP process. Saving Changes...
Hi,
Thank You all for interesting answers.
I agree what there are two keys to accurate estimating: tasks breakdown and their estimates. Unfortunately they are both can not be fitted to a formula. Only experience of estimators is important.
Work breakdown we perform using brainstorming. Currently I'm only looking for papers on how to quickly improve estimates of small tasks.
I don't think we can wait for years and master our own process. We deal with small low budget projects (6th months or less).
John. Saving Changes...
Michael WoodProject Manager / Business Analyst / Business Process Improvement Guru| Independent ContractorGig Harbor, Wa, United States
John, I would suggest using one of the projects as a learning vehicle and bring in a coach to help develop an internal estimating method that considers the nature of the projects, the talent pool involved and the culture the work will be done in.
Things like changing priorities, shared team resources and start and stop and start issues can play havoc with estimates.
Until you find a coach I would be happy to assist where I can. Ah the benefits of gantthead membership.
Thank You Michael,
I'll try to share parts of our projects success and failures here. Please tell me more about coaching.
John.
Saving Changes...
Mark Price PerryBusiness Driven PMO Evangelist| BOT InternationalOrlando, Fl, United States
Hi John, you are right in that task breakdown and estimation in most small projects can not be fitted to a formula, but they can be used as historical estimating data points and re-usable objects for estimation. Extending upon Stuart's post, I would recommend two techniques for improving small project estimating skills. First, I would seek to define a development process for the organization that is oriented to small projects and use it to establish a culture of repeatable performance and continuous improvement. No doubt, you may already have a process or methodology in place. If so, I would extend upon it to include a post project closing process for continuous improvement (CI) that would contain proposed recommendations for CI based upon lessons learned as well as an update register for your historical estimating database. You would be surprised at how effective maintaining an estimating database is and how much it helps in improving estimation. None of the above needs to be complex, or require new technology or applications. Your historical estimating database can be in word, excel, or the tools of your choice. The value, of course, is the content and not the technology. In fact, often times small project oriented teams can maintain and improve their estimations more so than large teams and complex environments. Each project represents an opportunity to capture and make use of estimation data, both internal as well as external vendor and supplier estimates. Second, I would establish process owners among the project organization for each of your SDLC or PLC processes - such as Requirements, Functional Design, System Design, Develop and Program, Test, etc. Delegate to them the responsibility of 1) owning their portion of their organization's defined process, 2) mastering the estimating techiques, 3) ensuring the the process and PM artifacts are kept up to date, usable, and useful, and accessible by others. A small project environment lends itself very well to taking the experience of estimators and applying that experience into your process and then seek to continuously improve the process. Growing and maintaining your small project historical estimating database/repository is a skill unto itself that is often not exercised consistently or overlooked altogther. Hope this helps. Mark Perry, Vice President of Customer Care, BOT International. Saving Changes...
Michael WoodProject Manager / Business Analyst / Business Process Improvement Guru| Independent ContractorGig Harbor, Wa, United States
John, as the SME for BPI I often offer to help members where I can. In your case I would be more than happy to spend some phone time with you or even face time to serve as a sounding board on the issues and challenges you are facing. I have an extensive backgroung on estimating projects from a few hundred hours to thousands. I might even have some templates that could help once I get more knowledgable on the specifics. An hour here and there is no problem for me... No charge of course.