Title: Explain the reasoning behind the steps in the software development life cycle (SDLC).
Course: Programming, Advanced (10152-II) > Section: Developing Object-Oriented Programming (OOP)

Explanation should include the reason for each step in the sequence of steps used for program development:

- Define the problem.
- Develop the algorithm.
- Code the program.
- Test the program.
- Debug the program.
- Document the program.
- Implement the program.
- Maintain the program.

Software development can be done in a sequential (Waterfall) or iterative (Agile) method.