ABSTRACT

This chapter introduces software development processes. These processes play an important part in the creation of good-quality software solutions. Formality in developing software ameliorates randomness in development efforts and a lack of documentation and traceability. Processes provide the discipline necessary for a project team to collaboratively develop software solutions. Process-driven software development is based on rigorously defined activities and tasks that are also repeatable and measurable. Many software developers argue that processes restrict their creativity. Far from that, processes actually enable creativity with value. Metrics and measurements in software projects also enable assignment of responsibilities and accountabilities Traditionally, software development is thought of as series of phases performed one after the other. The capability maturity model developed by the Software Engineering Institute of Carnegie Mellon University, provides the most widely accepted benchmark for measuring and improving a software process.