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.

84 comments:


  1. 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

    ReplyDelete
  2. 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

    ReplyDelete
  3. 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.

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

    ReplyDelete
  5. 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.

    ReplyDelete
  6. 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

    ReplyDelete
  7. 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.

    ReplyDelete
  8. 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.

    ReplyDelete
  9. 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


    ReplyDelete
  10. 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.

    ReplyDelete
  11. 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

    ReplyDelete
  12. 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

    ReplyDelete
  13. 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

    ReplyDelete
  14. 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

    ReplyDelete
  15. 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.

    ReplyDelete
  16. 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

    ReplyDelete
  17. 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

    ReplyDelete
  18. 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

    ReplyDelete
  19. 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.


    ReplyDelete
  20. 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

    ReplyDelete
  21. 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

    ReplyDelete
  22. 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

    ReplyDelete
  23. 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

    ReplyDelete
  24. 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

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

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

    ISTQB Training Institute in Chennai

    ReplyDelete
  27. 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

    ReplyDelete
  28. 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

    ReplyDelete

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

    sap abap online training india

    ReplyDelete
  30. 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

    ReplyDelete
  31. 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

    ReplyDelete
  32. 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

    ReplyDelete
  33. 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

    ReplyDelete
  34. He always kept chatting about this. I will forward this page to him. Fairly certain he will have a good read. Thank you for sharing.
    safety courses in chennai

    ReplyDelete
  35. Great!it is really nice blog information.after a long time i have grow through such kind of ideas.thanks for share your thoughts with us.
    Android Courses in OMR
    Android Training Institutes in T nagar
    Best Android Training Institute in Anna nagar
    android app development course in bangalore

    ReplyDelete
  36. I really thank you for your innovative post.I have never read a creative ideas like your posts.here after i will follow your posts which is very much help for my career.
    Best devops Training Institute in Anna nagar
    devops Certification Training in Anna nagar
    devops certification in bangalore
    devops training institutes in bangalore

    ReplyDelete
  37. Whoa! I’m enjoying the template/theme of this website. It’s simple, yet effective. A lot of times it’s very hard to get that “perfect balance” between superb usability and visual appeal. I must say you’ve done a very good job with this.
    fire and safety course in chennai

    ReplyDelete
  38. This is beyond doubt a blog significant to follow. You’ve dig up a great deal to say about this topic, and so much awareness. I believe that you recognize how to construct people pay attention to what you have to pronounce, particularly with a concern that’s so vital. I am pleased to suggest this blog.
    Microsoft Azure online training
    Selenium online training
    Java online training
    uipath online training
    Python online training


    ReplyDelete
  39. Your very own commitment to getting the message throughout came to be rather powerful and have consistently enabled employees just like me to arrive at their desired goals.
    Data science Course Training in Chennai | Data Science Training in Chennai
    RPA Course Training in Chennai | RPA Training in Chennai
    AWS Course Training in Chennai | AWS Training in Chennai

    ReplyDelete
  40. Most and useful information you have provided sql course

    ReplyDelete
  41. Effective blog with a lot of information. I just Shared you the link below for ACTE .They really provide good level of training and Placement,I just Had Data Science Classes in ACTE , Just Check This Link You can get it more information about the Data Science course.
    Java training in chennai | Java training in annanagar | Java training in omr | Java training in porur | Java training in tambaram | Java training in velachery

    ReplyDelete
  42. Hey guy's i have got something to share from my research work
    Sickrage
    Louiz
    Foundation

    ReplyDelete
  43. I concur with a ton of the focuses you made in this article. I value the work you have placed into this and expectation you keep composing regarding this matter.
    Best Data Science training in Mumbai

    Data Science training in Mumbai


    ReplyDelete

  44. It is an informative blog. I would like to know more information about the new model bike. Anyway thanks a lot for sharing this post. Those guidelines additionally worked to become a good way to recognize that other people online have the identical fervour like mine to grasp great deal more around this condition.

    Data Science Training In Chennai | Certification | Data Science Courses in Chennai | Data Science Training In Bangalore | Certification | Data Science Courses in Bangalore | Data Science Training In Hyderabad | Certification | Data Science Courses in hyderabad | Data Science Training In Coimbatore | Certification | Data Science Courses in Coimbatore | Data Science Training | Certification | Data Science Online Training Course

    ReplyDelete
  45. Excellent Blog! I would like to thank for the efforts you have made in writing this post. I am hoping the same best work from you in the future as well. I wanted to thank you for this websites! Thanks for sharing. Great websites!
    data science training in coimbatore

    ReplyDelete

  46. Nice article and thanks for sharing with us. Its very informative



    Tableau Training in Hyderabad

    ReplyDelete
  47. Wonderful article, thanks for putting this together! This is obviously one great post. Thanks for the valuable information and insights you have so provided here.

    python Training in chennai

    python Course in chennai


    ReplyDelete
  48. Learned a lot from this. Keep sharing information like this. Thanks.
    buy logo design

    ReplyDelete
  49. Thank you for sharing it with us.
    I am really happy to see this blog.
    It is very helpful for me.

    Nursing assignment help

    ReplyDelete
  50. Thanks for sharing it with us,
    it is a very unique and helpful article for us.

    Buy law essay

    ReplyDelete
  51. This post is so interactive and informative.keep update more information...
    Tally Course in Tambaram
    Tally course in Chennai

    ReplyDelete
  52. Cool stuff you have and you keep overhaul every one of us
    business analytics course in hyderabad

    ReplyDelete