Tech Support Websites

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Thursday, 24 February 2011

Book Review - Software Estimation: Demystifying the Black Art

Posted on 10:04 by Unknown
Software Estimation: Demystifying the Black Art by Steve McConnell is a book that meets my definition of a good technical book.

In my opinion, Estimation is an underrated subject. A lack of understanding of this topic among team members (not just the PM) can negatively impact the success of the project. This is because the Project Manager has to draw on the judgement & experience of the software development team as well. This book is written for developers, leads, testers, and managers who need to create estimates occasionally as one of their many job responsibilities. It gently guides the reader through the esoteric art of software estimation with lots of practical real-world advice.

Within the 300+ pages of the book spread across 23 chapters, the author explains 32 Estimation techniques graded according by these factors of applicability:

  1. What's estimated (Size, Effort, Schedule, Cost, Features) 
  2. Size of project (Small, Medium, Large)
  3. Development stage (Early, Middle, Late), 
  4. Whether the development style is iterative, sequential, or both 
  5. Accuracy possible (Low, Medium, High)

The well-researched content is interspersed with 118 tips, numerous facts drawn from other authoritative books on software estimation and interesting statistics. Tip #30 contains the mantra of estimation: Count if at all possible. Compute when you can't count. Use judgment alone only as a last resort. 

Tip #17 advices: Include time in your estimates for stated requirements, implied requirements, and nonfunctional requirements—that is, all requirements. Nothing can be built for free, and your estimates shouldn't imply that it can. He lists the nonfunctional requirements that also need to be taken care of -

  1. Accuracy
  2. Interoperability
  3. Modifiability
  4. Performance
  5. Portability
  6. Reliability
  7. Responsiveness
  8. Reusability
  9. Scalability
  10. Security
  11. Survivability
  12. Usability

As with his other books, the author sets clear expectations. He explicitly states where the estimation techniques mentioned in the book will not be useful -
This book is not about how to estimate the very largest projects—more than 1 million lines of code, or more than 100 staff years.
These techniques will not produce estimates that are accurate to within ±5%, but they will reduce estimation error to about 25% or less, which turns out to be about as useful as most projects need, anyway. 

He informs in the beginning that this book draws from both the art and science of software estimation, but its focus is on software estimation as an art. This book avoids deep math and emphasizes relatively simple practices. Steve McConnell plans to publish a companion volume in the future that will deal with the Science of Estimation and cover more mathematically intensive estimation approaches.

I feel this book is essential reading for anyone who is into software development & highly recommend it.

Related:

  • 10 Deadly Sins of Software Estimation
  • Book Review: Software Project Survival Guide
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in Book Review, PM | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Windows 8 keyboard shortcuts
    Win + X   - context menu to access common features like Control Panel, Task Manager, File Explorer, Programs & Features, Run, Search etc...
  • What is the difference between Browser Mode & Document Mode in IE
    If you're a web developer and your job actively involves building web pages that work the same in all browsers including the last three ...
  • My 30-day personal project - watch 100 hours of Pluralsight videos
    Inspired by Matt Cutts' 30-day challenges , I plan to watch 100 hours of Pluralsight online videos to get up-to-date with current ...
  • Archive tweets & favorites with Google Reader
    There are numerous ways to archive tweets but rather than use yet another tool, I prefer using Google Reader to preserve the tweets I mark ...
  • TWIL - Week #3
    This Week I Learned: New Azure VM Image Templates include SQL Server, BizTalk Server, and SharePoint Server (2013?) images . This can be han...
  • Dashboard-like info with Browser tabs, Windows 7 Taskbar tabs
    Browser tabs & Windows 7 Taskbar tabs are turning self-aware.  This is how my browser looked the other day: I had the summary of all tha...
  • The State Of HTML5 Video
    Key points from the  The State Of HTML5 Video  report by LongTailVideo (last updated on April 19, 2012): 75% of the desktop & mobile bro...
  • Azure in Pictures - overview of Windows Azure Features, Services and Common Uses
    Download the Windows Azure Poster in PDF format (1.1MB)
  • Indian comparison shopping sites
    Did you know, India has 120 million Internet users & the Indian e-commerce market is worth $7 billion ?  Travel accounts for over 80 per...
  • Things to consider before settling on a JavaScript Library or jQuery plugin for your project
    In the article, Which JavaScript Library Should I Pick? , Pamela Fox has listed some practical points to consider before you settle on a Jav...

Categories

  • AJAX
  • Android
  • APIs
  • App
  • ASP
  • ASP.NET
  • ASP.NET-MVC
  • Azure
  • Azure SQL Database
  • AzureInPictures
  • Bing
  • Book Review
  • Bookmarklet
  • Browsers
  • C#
  • chart
  • Chrome
  • Cloud
  • CSS
  • CSS3
  • DidYouKnow
  • E-Commerce
  • Excel
  • FB
  • Fiddler
  • Firefox
  • Gadgets
  • GeoLocation
  • GMail
  • Google
  • Google Docs
  • Google Reader
  • Health
  • Hotmail
  • HOWTO
  • HTML
  • HTML/CSS
  • HTML5
  • Humor
  • Hyderabad
  • IE
  • IIS
  • India
  • Internet
  • IT
  • Javascript
  • jQuery
  • JSON
  • JSONP
  • Laptop
  • Learning Resources
  • Lists
  • Map
  • Metrics
  • Microsoft
  • miscellaneous
  • Mobile
  • NAPA
  • Office365
  • Opera
  • PDF
  • Performance
  • Personal
  • PHP
  • PM
  • PowerShell
  • Privacy
  • Programming
  • Rant
  • Safari
  • Science
  • Search Engines
  • SearchEngines
  • Security
  • SEO
  • Sharepoint
  • SharePoint2013
  • Silverlight
  • Software Engineering
  • Solutions
  • SQL Azure
  • SQL Server
  • TFS
  • Tip
  • Tips
  • Tools
  • Tools/Utilities
  • Trivia
  • TWIL
  • Twitter
  • UX
  • VM
  • VS.NET
  • VS2010
  • VS2012
  • WCF
  • WebApps
  • Websites
  • WF
  • Windows Phone
  • Windows7
  • Windows8
  • Word
  • WP7
  • WPF

Blog Archive

  • ►  2013 (112)
    • ►  October (16)
    • ►  September (14)
    • ►  August (8)
    • ►  July (8)
    • ►  June (13)
    • ►  May (12)
    • ►  April (12)
    • ►  March (8)
    • ►  February (15)
    • ►  January (6)
  • ►  2012 (127)
    • ►  December (11)
    • ►  November (14)
    • ►  October (13)
    • ►  September (14)
    • ►  August (16)
    • ►  July (16)
    • ►  June (6)
    • ►  May (5)
    • ►  April (11)
    • ►  March (12)
    • ►  February (7)
    • ►  January (2)
  • ▼  2011 (98)
    • ►  December (5)
    • ►  November (2)
    • ►  October (5)
    • ►  September (7)
    • ►  August (7)
    • ►  July (15)
    • ►  June (10)
    • ►  May (7)
    • ►  April (8)
    • ►  March (10)
    • ▼  February (11)
      • Windows Azure CDN locations
      • Book Review - Software Estimation: Demystifying th...
      • HOW TO open your favorite set of websites in new b...
      • What makes a good technical book 'good'?
      • Search for keywords in videos with Microsoft Resea...
      • How AI touches our everyday lives
      • Does office space affect software development effi...
      • India - Know your elected government representatives
      • Video Overview of Visual Studio 2010 suite
      • China Bing Dictionary makes learning English fun
      • Can’t proceed beyond Database Configuration step i...
    • ►  January (11)
  • ►  2010 (163)
    • ►  December (14)
    • ►  November (19)
    • ►  October (19)
    • ►  September (15)
    • ►  August (18)
    • ►  July (17)
    • ►  June (20)
    • ►  May (17)
    • ►  April (19)
    • ►  March (5)
Powered by Blogger.

About Me

Unknown
View my complete profile