Computer problem solving involves a series of tasks or phases, such as understanding the problem, finding the solution(s) to the problem, and then using the computer to write, compile, and execute the corresponding program(s). To carry out these tasks for developing programs in an appropriate manner, basic knowledge of the software development process is essential. One of the reasons for carefully following the software development process is to increase the quality of software produced at a reasonable cost. The main goal of this chapter is to explain the program development process.