• The whole area of software for a long time has been looked upon as an area where the quality is dependent only on the individual. Often it was the creativity and the ingenuity of the individual programmer, which decided what quality of software, would be produced.
  • With software becoming large and complex this individual driven approach was not sustainable. Software experts had to look at ways to apply fundamentals of the engineering discipline and find ways to apply the same to software development. This led to development of systems, processes and methodologies which when followed would assure software of a certain minimum quality.
  • The international standards organization (ISO) came out with specific standards for software development process that would force software developers to focus on confirming requirements of the customers (both internal and external) and then conform to the requirements.
  • The other important development in this regard was the capability maturity model of the Software Engineering Institute (SEI-CMM) at the Carnegie Mellon University in USA. This model lays emphasis on continuos improvement of the process so that the process can achieve higher and higher levels of maturity.