Saturday, 14 February 2009

Basic Software Estimation Concepts

In one of my recent posts I was writing that single point estimates are meaningless. In this post I would like to carry on with this topic and talk about a few other fundamental concepts for software estimation based on Steve McConnell's "Software Estimation: Demystifying the Black Art".

One of the most important things is to know the difference between estimates, targets and commitments.
While a target is a description of a desirable business objective, a commitment is a promise to deliver defined functionality at a specific level of quality by a certain date. A commitment can be the same as the estimate, or it can be more aggressive or more conservative than the estimate. In other words, do not assume that the commitment has to be the same as the estimate; it doesn't.
It's quite typical situation when developers are asked to estimate new project or piece of functionality for which deadline is already set. You have to know if you are really asked to provide estimates or to figure our how to meet a deadline. Those are two totally different things. Estimation should be unbiased therefore deadline doesn't matter. If deadline matters then you are, in fact, asked to provide a plan in which goal is to deliver before the deadline.

Single point estimates are meaningless
, estimations should always be represented as a range -- the best and the worst scenario. Don't estimate only at the beginning of a project. At every stage estimates can be useful and they can show that project goal is in danger.
Once we make an estimate and, on the basis of that estimate, make a commitment to deliver functionality and quality by a particular date, then we control the project to meet the target. Typical project control activities include removing non-critical requirements, redefining requirements, replacing less-experienced staff with more-experienced staff, and so on
Controlling the project include dealing with changing requirements. But with new requirements estimations also change and after a few iterations your target is to deliver something radically different then it was estimated at the very beginning. How can you say then if initial estimates were accurate?

In practice, if we deliver a project with about the level of functionality intended, using about the level of resources planned, in about the time frame targeted, then we typically say that the project "met its estimates," despite all the analytical impurities implicit in that statement.

If it's well known that assumptions will change, functionality will change then what is the real purpose of estimates?

The primary purpose of software estimation is not to predict a project's outcome; it is to determine whether a project's targets are realistic enough to allow the project to be controlled to meet them.

Important implication is that gap between estimates and actual times has to be small enough to be manageable. According to book, 20% is the limit which can be controlled.

Estimates don't need to be perfectly accurate as much as they need to be useful. When we have the combination of accurate estimates, good target setting, and good planning and control, we can end up with project results that are close to the "estimates."

That takes us to a definition of "good estimate"
A good estimate is an estimate that provides a clear enough view of the project reality to allow the project leadership to make good decisions about how to control the project to hit its targets.
All of that and much more can be found in the book, it's worth reading.

56 comments:

poona said...


Heya¡­my very first comment on your site. ,I have been reading your blog for a while and thought I would completely pop in and drop a friendly note.
Software Estimation Techniques

sarah taylor said...

QTP is flagship automation testing tool, which is used to perform functional and regression testing on a software application. Training on this automation will ensure lucrative career opportunity for aspiring professionals.
QTP Course In Chennai

murali karthik said...

We are the reputed placement training institute in Chennai offering quality education to all our students’ at most competitive price in the market. Join us to be aspiring professionals in top MNCs.
Placement Training Institute in Chennai

vignesh said...

You have sharing to this useeful information.hadoop training in chennai

christina jeni said...

Thanks for sharing this informative blog. If anyone wants to get Hadoop Training in Chennai visit fita academy located at Chennai, which offers best Big Data Training in Chennai with years of experienced professionals.

Stephen said...

Hello, nice article on basic software estimation, this would be useful for me to train myself in Hadoop Training Chennai

Emi Jackson said...

Your blog is really useful for me. Thanks for sharing this informative blog. If anyone wants to get real time Oracle Training in Chennai reach FITA located at Chennai. They give professional and job oriented training for all students.

Jhon Mick said...

Thanks for sharing the wonderful article on basic software estimation, this cleared all my myths about hadoop and helped in finding the best Hadoop Training in Chennai

Victoria John said...

Thanks for sharing this informative blog. If anyone wants to get Big Data Training in Chennai visit fita academy located at Chennai, which offers best Hadoop Training in Chennai with years of experienced professionals.

Victoria John said...

Hi I am Victoria lives in Chennai. I am a technology freak. Recently I did Java Training in Chennai at a leading Java Institutes in Chennai. This is really helpful for me to make a bright carrer in IT industry.

Victoria John said...

Hi I am Victoria lives in Chennai. I am a technology freak. Recently I did Java Course in Chennai at a leading Java Training Institutes in Chennai. This is really helpful for me to make a bright carrer in IT industry.

Victoria John said...

Thanks for sharing this informative blog..If anyone wants to get SAP ABAP Training in Chennai, please visit FITA Academy located at Chennai, rated as No.1 SAP Training Center in Chennai.


jack wilson said...

Hi, I wish to be a regular contributor of your blog. I have read your blog. Your information is really useful for beginner. I did QTP Training in Chennai at Fita training and placement academy which offer best Selenium Training in Chennai with years of experienced professionals. This is really useful for me to make a bright career.

john son said...

Best Dot Net Training in Chennai

Thanks for your wonderful post.It is really very helpful for us and I have gathered some important information from this blog.If anyone wants to get Dot Net Training in Chennai reach FITA, rated as No.1 Dot Net Training Institutes in Chennai.

Dot Net Course in Chennai


Anonymous said...

Software Testing Training in Chennai

I have read your blog and i got a very useful and knowledgeable information from your blog.its really a very nice article. I did Loadrunner Training in Chennai. This is really useful for me. Suppose if anyone interested to learn Manual Testing Training in Chennai reach FITA academy located at Chennai Velachery.

Victoria John said...

Salesforce Training

The information you posted here is useful to make my career better keep updates..I did Salesforce Training in Chennai at FITA academy. Its really useful for me to make bright future in IT industry.

Salesforce Developer Training in Chennai

Salesforce Administrator Training in Chennai

Salesforce.com Training in Chennai

Sales Cloud Consultant Training in Chennai

rebeka christy said...

PHP Training Chennai

I get a lot of great information from this blog. Thank you for your sharing this informative blog. Recently I did PHP course at a leading academy. If you are looking for best PHP Training Institute in Chennai visit FITA IT training academy which offer real timePHP Training in Chennai.

PHP Course in Chennai

christina jeni said...

Oracle Training Chennai

I get a lot of great information from this blog. Recently I did oracle certification course at a leading academy. If anyone interested to learn best Oracle Course in Chennai visit FITA academy which offer SQL Training in Chennai.

Regards...

Oracle Training in Chennai

jack wilson said...

Testing Training in Chennai

Its really awesome blog..If anyone wants to get Software Testing Training in Chennai visit FITA IT academy located at Chennai. Rated as No.1 Software Testing Training Institutes in Chennai

Software Testing Course in Chennai

jack wilson said...

QTP Training Chennai

Hi, I wish to be a regular contributor of your blog. I have read your blog. Your information is really useful for beginner. I did Testing Training in Chennai at Fita training and placement academy which offer best Software Testing Training in Chennai with years of experienced professionals. This is really useful for me to make a bright career.

Regards...

Software Testing Training Institutes in Chennai

jhansi joe said...

I have read your blog it was nice to follow even I am looking for your future updates. Hadoop is a highly growing & scoopful technology in IT market it’s an open-source software framework for managing big data in a distributed fashion on large commodity computing hardware. FITA provides Hadoop training chennai get in to fita and out with your career.
Hadoop training in chennai | Hadoop courses in Chennai | Hadoop institutes in Chennai

Emi Jackson said...

HTML5 Training

Hi, Thanks for sharing this valuable blog.I was really impressed by reading this blog. I did HTML5 Training in Chennai at reputed HTML5 Training Institutes in Chennai. This is really useful for me to make a bright future in designing field.

Best HTML5 Training in Chennai

Anonymous said...

Cloud Computing Training

I have read your blog and i got a very useful and knowledgeable information from your blog.its really a very nice article.You have done a great job . If anyone want to get real time Cloud Computing Course in Chennai, Please visit FITA academy located at Chennai Velachery which offer best Cloud Computing Training in Chennai.

Victoria John said...

Oracle Training Center in Chennai

I get a lot of great information from this blog. Recently I did oracle certification course at a leading academy. If anyone interested to learn best Oracle Course in Chennai visit FITA academy which offer SQL Training in Chennai.

Regards...

Oracle Training Institutes in Chennai | Oracle Course in Chennai

dhanamlakshmi palu said...

This is extremely helpful info!! Very good work. Everything is very interesting to learn and easy to undestood. Thank you for giving information.html5 Training in chennai | html5 Training chennai | html5 course in chennai | html5 course chennai

surangacloud said...

Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing. AWS course chennai | AWS certification in chennai | AWS cerfication chennai

jack wilson said...

Hi, I am Jackson from Chennai. I am technology freak. I did Hadoop Training in Chennai at FITA. This is useful for me to make a bright career in IT field.


john son said...

Hi friends,This is Johnson from Chennai.Thanks for sharing this informative blog. I did Unix certification course in Chennai at Fita academy. This is really useful for me to make a bright career.
Regards..
Unix Training

Stephen said...

There are lots of information about latest technology and how to get trained in them, like Big Data Training in Chennai have spread around the web, but this is a unique one according to me. The strategy you have updated here will make me to get trained in future technologies(Big Data Training). By the way you are running a great blog. Thanks for sharing this. cloud computing training in chennai

Boss Tents said...

Thank you for sharing your positive feedback with us!

Manufacturers of Tents Tents South Africa Tents for sale Tents Manufacturers Tents South Africa Alpine Tents Aluminium Tents Alpine Marquee Plastic Chair

Yasmin Priya said...

Hi this is Yasmin from Chennai. I am regular contributor of
your blog. You have done really great job. Thanks for sharing this informative
post. Keep blogging.
Regards

Oracle Apps Training in Chennai | Oracle Apps Training in Chennai

John Son said...

Hi, I am really happy to found such a helpful and fascinating post that is written in well manner. Thanks for sharing such an informative post.
Regards..
QTP Training in Chennai

Amirtha rao said...

Superb explanation & it's too clear to understand the concept as well, keep sharing admin with some updated information with right examples.
Regards,

Hadoop Training in Chennai|Big Data Training in Chennai|Fita Chennai reviews

Valves and Flanges Exporter said...

Great post!!

Valves and Flanges | Flanges Manufacturer | Flanges Exporter | Falcon Engineers

Rose Angel said...

I am a fond of graphic designing and always keep searching the new ideas about it. thanks for sharing about this topic telephony applications

arumugam said...

Hi,Thanks a lot and really happy to see such a wonderful comment.

ISTQB Training Institute in Chennai

for IT the said...

Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me.. I am a regular follower of your blog. Really very informative post you shared here. Kindly keep blogging. If anyone wants to become a Java developer learn from Java Training in Chennai. or learn thru Java Online Training India . Nowadays Java has tons of job opportunities on various vertical industry.

venkatesh krishna said...

goDigitally Thanks for the insightful article

Mani said...


It was so good to read and useful to improve my knowledge as updated one.Thanks to Sharing.
ETL Testing Online Training
Hadoop online Training
Informatica Online Training

sri krishna kumar said...

I really enjoy it, to reading this
Informatica Training In Chennai | Hadoop Training In Chennai | Sap MM Training In Chennai

kevingeorge said...

I believe there are many more pleasurable opportunities ahead for individuals that looked at your site.

Java Training Institute Bangalore

Best Java Training Institute Chennai


john kevin said...

I wish to show thanks to you just for bailing me out of this particular trouble.As a result of checking through the net and meeting techniques that were not productive, I thought my life was done.

Amazon Web Services Training in Chennai


Best Java Training Institute Chennai

CIIT Noida said...

Ciitnoida provides Core and java training institute in

noida
. We have a team of experienced Java professionals who help our students learn Java with the help of Live Base Projects. The object-

oriented, java training in noida , class-based build

of Java has made it one of most popular programming languages and the demand of professionals with certification in Advance Java training is at an

all-time high not just in India but foreign countries too.

By helping our students understand the fundamentals and Advance concepts of Java, we prepare them for a successful programming career. With over 13

years of sound experience, we have successfully trained hundreds of students in Noida and have been able to turn ourselves into an institute for best

Java training in Noida.

java training institute in noida
java training in noida
best java training institute in noida
java coaching in noida
java institute in noida

ciit noida said...

ERP-SAP-SD Training Centre in Noida

CIIT Noida provides Best SAP Training in Noida based on current industry standards that helps attendees to secure placements in their dream jobs at MNCs. CIIT Provides Best ERP SAP Training in Noida. CIIT is one of the most credible ERP SAP training institutes in Noida offering hands on practical knowledge and full job assistance with basic as well as advanced level ERP SAP training courses. At CIIT ERP SAP training in noida is conducted by subject specialist corporate professionals with 7+ years of experience in managing real-time ERP SAP projects. CIIT implements a blend of aERPemic learning and practical sessions to give the student optimum exposure that aids in the transformation of naïve students into thorough professionals that are easily recruited within the industry.

At CIIT’s well-equipped ERP SAP training center in Noida aspirants learn the skills for ERP SAP Basis, ERP SAP ABAP, ERP SAP APO, ERP SAP Business Intelligence (BI), ERP SAP FICO, ERP SAP HANA, ERP SAP Production Planning, ERP SAP Supply Chain Management, ERP SAP Supplier Relationship Management, ERP SAP Training on real time projects along with ERP SAP placement training. ERP SAP Training in Noida has been designed as per latest industry trends and keeping in mind the advanced ERP SAP course content and syllabus based on the professional requirement of the student; helping them to get placement in Multinational companies and achieve their career goals.

Anonymous said...


Nice information about test automation tools my sincere thanks for sharing post Please continue to share this post.

sap abap online training india

IT Tutorials said...

Thanks for your article. Hadoop training in chennai | Hadoop Training institute in chennai

IT Tutorials said...


Thanks for your article. Hadoop training in chennai | Hadoop Training institute in chennai

amilu B said...

This is most informative and also this post most user friendly and super navigation to all posts... Thank you so much for giving this information to me.. 
python training in omr

python training in annanagar | python training in chennai

python training in marathahalli | python training in btm layout

python training in rajaji nagar | python training in jayanagar

simbu said...

It seems you are so busy in last month. The detail you shared about your work and it is really impressive that's why i am waiting for your post because i get the new ideas over here and you really write so well.
java training in omr

java training in annanagar | java training in chennai

java training in marathahalli | java training in btm layout

java training in rajaji nagar | java training in jayanagar

Anexas Europe said...


It’s great to come across a blog every once in a while that isn’t the same out of date rehashed material. Fantastic read.

Digital Marketing Training in Mumbai

Six Sigma Training in Dubai

Six Sigma Abu Dhabi

john kevin said...

Nice post. By reading your blog, i get inspired and this provides some useful information. Thank you for posting this exclusive post for our vision. 

rpa training in Chennai

rpa training in velachery

rpa training in tambaram

rpa training in sholinganallur

rpa training in Chennai

rpa training in pune

rpa online training

rpa training in bangalore

shalinipriya said...

Wonderful article, very useful and well explanation. Your post is extremely incredible. I will refer this to my candidates...

Data Science Training in Chennai
Data science training in bangalore
Data science online training
Data science training in pune
Data science training in kalyan nagar
selenium training in chennai

Saro said...

Inspiring writings and I greatly admired what you have to say , I hope you continue to provide new ideas for us all and greetings success always for you..Keep update more information..


rpa training in anna nagar |

rpa training in marathahalli

rpa training in btm

rpa training in kalyan nagar

rpa training in electronic city

rpa training in chennai

rpa online training

selenium training in training

john jersy said...

The knowledge of technology you have been sharing thorough this post is very much helpful to develop new idea. here by i also want to share this.
python online training
python training in OMR
python training in tambaram

johnsy sai said...

Thanks Admin for sharing such a useful post, I hope it’s useful to many individuals for developing their skill to get good career.
Devops training in sholinganallur
Devops training in velachery

Anexas Europe said...

Great Article… I love to read your articles because your writing style is too good, its is very very helpful for all of us. Do check Six Sigma Training in Bangalore | Six Sigma Training in Dubai & Get trained by an expert who will enrich you with the latest trends.