1. Problem Analysis:
(using a Problem-Definition Table)
2. Design
(using Input-Processing-Output (IPO) charts, Pseudocode or Flowcharts)
3. Implementation (Coding)
4. Testing/Verification
5. Maintenance
6. Obsolescence