Technical Book Club: Code Complete – Measure Twice Cut Once: 6 Influences on Software Methodology

Steve discusses costs associated with iterative and sequential development approaches. He presents many good best practices and charts in Chapter 3 worth reviewing but comes down to these 6 factors that influence software methodology for the project.

Deciding between a mix of iterative and sequential techniques can hinge on the following:

  • stability of the requirements
  • clarity of the design
  • development team’s familiarity with the applications area
  • how much risk the project contains
  • importance of long-term productivity
  • cost of changing requirements, design, and code downstream

For most software projects, having some degree of iteration is valuable.  Here are a couple scenarios I’ve seen.  Would you choose an iterative or sequential approach for these projects?  How do you rank them according to the above criteria?

1) A large company is interested in exploring up and coming web initiatives.  They decide to create a mash-up tool.  The team contains a handful of programmers that are all familiar with JavaScript, web services, with an average of 3 years experience.

2) A small automation engineering firm is hired for a project to automate the paint production process.  Currently this process is completely manual, but very functional.  The steps are well understood.  The team consists of a number of specialists including a UI specialist, customer consultant, Database Administrator, and 2 teams of programmers.

3) A company is embarking on the 3rd release of a timesheet application.  This release will focus on a prioritized set of feedback provided from their user base, including incorporation of web services.  The team contains a group of members from the last release and a new team they acquired from banking. 

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