A software development methodology or system development methodology in software engineering is a framework that is used to structure, plan, and control the process of developing an information system.
The software development methodology (also known as SDM) framework didn’t emerge until the 1960s. According to Elliott (2004) the systems development life cycle (SDLC) can be considered to be the oldest formalized methodology framework for building information systems. The main idea of the SDLC has been “to pursue the development of information systems in a very deliberate, structured and methodical way, requiring each stage of the life cycle from inception of the idea to delivery of the final system, to be carried out rigidly and sequentially” within the context of the framework being applied. The main target of this methodology framework in the 1960s was “to develop large scale functional business systems in an age of large scale business conglomerates. Information systems activities revolved around heavy data processing and number crunching routines”.
A software development methodology is a framework that is used to structure, plan, and control the process of developing an information system – this includes the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
A wide variety of such frameworks have evolved over the years, each with its own recognized strengths and weaknesses. One software development methodology framework is not necessarily suitable for use by all projects. Each of the available methodology frameworks are best suited to specific kinds of projects, based on various technical, organizational, project and team consideration.
These software development frameworks are often bound to some kind of organization, which further develops, supports the use, and promotes the methodology framework. The methodology framework is often defined in some kind of formal documentation. Specific software development methodology frameworks (noun) include:
• Rational Unified Process (RUP, IBM) since 1998.
• Agile Unified Process (AUP) since 2005 by Scott Ambler