last highlighted date: 2024-03-22

Highlights

  • The sashimi software process (Takeuchi+Nonaka1986-nnpd) is quite similar to the waterfall, except that the phases overlap to show that requirements can’t be completed until architecture is at least partially explored, and architecture can’t be completed until module design is at least partially explored, and so on.
  • Perhaps the most prominent agile methodology is the test-driven Extreme Programming, or XP (Beck2000-epee). In XP, a group of up to about a dozen highly-skilled developers and a stakeholder sit in the same room. The developers work in pairs. Requirements are expressed as tests, and the tests are the requirements. There is no documentation and no artifacts other than the tests and the code. Everything else is handled by face-to-face discussions (thus the need for everyone to be in one room).
  • How to decide? • High risks or high cost of failure? A spiral process may be your best choice. • New kind of system? Probably not test-driven development, unless you are focused on prototyping; you’ll need to do requirements work. • Very large project? Probably spiral. • Medium-sized project? A sashimi process may work well for you. • Want to keep stakeholders involved? An incremental process may be what you need. • All the developers are experts? If the project is small enough, an agile approach may work for you. • Don’t have an on-site stakeholder to sit with the developers? Agile development is not for you. • Developers are not highly skilled? A waterfall or spiral process can help keep them on track and out of trouble.