Introduction to Software Engineering/Methodology

Software development methodology is used to structure, plan, and control the process of developing an information system. What are different approaches? and what are the basic principles of each approach?

2. Verb approaches

Incremental development

Various methods are acceptable for combining linear and iterative systems development methodologies, with the primary objective of each being to reduce inherent project risk by breaking a project into smaller segments and providing more ease-of-change during the development process.

The basic principles are:

  • A series of mini-Waterfalls are performed, where all phases of the Waterfall are completed for a small part of a system, before proceeding to the next increment, or
  • Overall requirements are defined before proceeding to evolutionary, mini-Waterfall development of individual increments of a system, or
  • The initial software concept, requirements analysis, and design of architecture and system core are defined via Waterfall, followed by iterative Prototyping, which culminates in installing the final prototype, a working system.