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: