Technical Book Club: Code Complete – Measure Twice Cut Once: Problem Definition, Requirements, and Changing Requirements


The next sections are fairly straight-forward.  Here’s a summary of some of the keypoints:

  • Without a good problem definition, you might spend a lot of time solving the wrong problem … and never solve the right one.
  • Requirements enable the user to agree/disagree before programming begins, which keeps the programmer from making decisions while programming and the cost of changes low.
  • 25% of change in requirements accounts for 70-85% of the rework on a project

Cost of errors in requirements detected in

  • the requirements stage:  1 unit
  • the architecture stage:  3 units
  • the coding stage: 5-10 units
  • system test:  10 units
  • post-release:  10-100 units (closer to 10 for smaller projects with low overhead)

How to best accommodate changes in requirements:

  • ensure high quality requirements
  • be transparent about the cost of requirement change
  • have a change-control procedure
  • choose a development approach that is a good fit for the project
  • dump the project
  • keep a business focus

Your Turn:  Here’s an example project, what improvements would you suggest to improve the project?

Company WebsitesRUs creates websites and recently completed the first revision of a website.  The website is ready to launch for the target deadline in 2 weeks.  They meet with the customer for their first review of the website.  The website creates a stream of family/friend information for recovering surgery patients to catch up on the time they missed.

The customer is excited at their work and after the meeting 8 different emails are received by the company with 24 requests for changes.  Sarah receives the messages and is overwhelmed by both the response and the number of requests.  She knows the work requested would require significant re-work and would take 6-8 weeks to complete. 

 

Spend your summer with Software for Students’ Technical Book Club to give yourself a competitive edge in the job market:

Comments (2)

  1. robert hir says:

    I did a search for, but didn’t see any posts related to this book.

    You seriously want to give it a look, maybe a post, it’s very good.

    Dynamics of Software Development (Best Practices) (Paperback)

    by Jim McCarthy

    http://www.amazon.com/Dynamics-Software-Development-Best-Practices/dp/0735623198/ref=sr_1_3?ie=UTF8&s=books&qid=1242946412&sr=1-3

    Product Description

    In 1995, Jim McCarthy captured the attention of the software development industry with DYNAMICS OF SOFTWARE DEVELOPMENT offering thought-provoking ideas, techniques, and strategies for delivering great software on time in the real world. Now, this classic book is back complete with new insights and additional material. You get the 54 original Rules including new commentary for the 2006 Edition with realistic guidance for organizing, managing, and working on any software development team. Adding to these insights, the McCarthys meditate on three new Rules exploring the balance of critical relationships among team members. You ll also briefly examine The Core. A system of protocols stemming from The Rules, The Core helps teams reach a shared vision and work together more effectively to deliver great software. To complete the McCarthys tapestry, this 2006 Edition includes a CD with the original video presentation that sparked this book s first edition and helped influence an entire generation s approach to software development. CD features: Video of Jim s popular presentation: 23 Rules of Thumb (For Shipping Great Software on Time) Four episodes of The McCarthy Show

Skip to main content