Skip to content

Why development methodologies? To manage product well.

Waterfall

Do repeatedly:

  • requirements
  • analysis
  • design
  • implementation
  • testing
  • maintenance

Software testing: validation VS verification

  • validation: To ensure right product
  • verification: To ensure build the software correctly

V-Model

Testing for every phase.

B-method

For safety-critical systems

Agile

Features:

  1. limited planning
  2. quick iteration
  3. limited foresight

Process: Repeat

  1. Plan
  2. Iteration, review from feedback
  3. deliver and feed back

DevOps

Continuous integration CI

Continuous deliver/deployment

Organizational

  1. daily meeting
  2. planning game (play poker card to estimate work load)
  3. continuous integration
  4. retrospective
  5. shared code ownership

Technical

  1. test-driven
  2. refactoring
  3. pair-programming
  4. simplest solution may work sometimes
  5. coding standards

Agile Artifacts

Virtual:

  • User story/user case
  • burndown chart

Material:

  • Story card
  • Story board
  • Open room

Agile is not

  • a silver bullet.
  • easy to implement.
  • an excuse to discard documentations, design or good development practice.
  • about avoiding committing to deliver software.

Technical Debt

Expedient in short term will create a technical debt where same work will cost more later than now.

Accumulation of technical debt leads to crises.