1. Sformułowanie problemu 2. Określenie danych wejściowych 3. Metody rozwiązania problemu i rozkład na zadania 4. Formalizacja 5. Kodowanie 6. Testowanie