Wednesday, July 16, 2014

Software Development Methodologies

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 deliverable 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 considerations.
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.
 Every software development methodology approach acts as a basis for applying specific frameworks to develop and maintain software. Several software development approaches have been used since the origin of information technology. Broadly these are:
1.   Software development life cycle methodology
2.   Agile methodology
There are many models under these methodologies:
1.   Software development life cycle:
·         Waterfall: a linear framework
·         Spiral: a combined linear-iterative framework
·         Prototyping: an iterative framework
·         Rapid application development (RAD): an iterative framework
2.   Agile methodology:
·         Scrum
·         Extreme programming
·         Adaptive software development (ASD)
·         Dynamic system development method (DSDM)
·         Lean Software Development
  •    WaterFall:
  •          .Spiral: a combined linear-iterative framework

  • .        Prototyping: an iterative framework: Creating prototypes of software applications i.e. incomplete versions of the software program being developed

  • .       Iterative and Incremental Developmentis any combination of both iterative design or iterative method and incremental build model for development.

  •        Rapid application development (RAD): Rapid application development (RAD) is a suite of software development methodology techniques used to expedite software application development. RAD uses predefined prototyping techniques and tools to produce software applications. It encompasses a graphical user interface (GUI) development environment, allowing end users to easily drag and drop required software application components.

       About Agile methodologies we will discuss in detail in upcoming posts

3 comments:

  1. Thanks for appreciating. Really means and inspires a lot to hear from you guys.I have bookmarked it and I am looking forward to reading new articles. Keep up the good work..Believe me, This is very helpful for me.
    software development

    ReplyDelete
  2. Normally this would be "Business Value Delivered", but in certain cases there may be other things that are more important to get.
     kodu

    ReplyDelete
  3. software development company - http://praxent.com

    ReplyDelete