PC History | Internet History | Operating Systems | Programming Languages
Under Construction

Paradigms - models - methodologies - framework - life cycles

In the 70's the waterfall model was the standard. In the 80's the iterative methods were popular. Projects still took longer than planned and and were over budget. We used to say that you estimated the time it would take to develop a system by doing your initial estimate then trippling it. In the 90's prototyping and something called rapid apps were introduced to try and shorten the time.
In 2001 the agile method was introduced, which provided a structure for some of these ideas.
  • Waterfall

    What is the ideal ratio of time required for various phases of SDLC? [SOLVED] - Toolbox for IT Groups

  • Iterative

    Iterative development is a way of breaking down the software development of a large application into smaller chunks. In iterative development, feature code is designed, developed and tested in repeated cycles. With each iteration, additional features can be designed, developed and tested until there is a fully functional software application ready to be deployed to customers.
  • Iterative Waterfall
  • Agile

    Most agile development methods break product development work into small increments called sprints, that minimize the amount of up-front planning and design. Iterations, or sprints, are short time frames that typically last from one to four weeks.

    The Agile Manifesto: In February 2001, 17 software developers met at the Snowbird resort in Utah to discuss lightweight development methods. They published the Manifesto for Agile Software Development, in which they said that by "uncovering better ways of developing software by doing it and helping others do it," they have come to value Individuals and interactions over Processes and tools, Working software over Comprehensive documentation, Customer collaboration over Contract negotiation, and Responding to change over Following a plan.

    Agile software development frameworks continue to evolve,[3] some popular ones are Scrum, Kanban, Lean, Dynamic Systems Development Method (DSDM), Crystal Methods, and Extreme Programming (XP).
    See Agile Methodologies for Software Development | VersionOne.com

      Scrum - The Scrum approach to agile software development marks a dramatic departure from waterfall management. Scrum and other agile methods were inspired by its shortcomings. Scrum emphasizes collaboration, functioning software, team self management, and the flexibility to adapt to emerging business realities.

  • Others:
    Prototyping, Spiral,
See:
Differences between Waterfall, Iterative Waterfall, Scrum and Lean Software Development (In Pictures!) | The Agilista PM
Scrum
Scrum: The Art Of Doing Twice The Work In Half The Time: Amazon.com: , Jeff Sutherland, 2014

Phases

  • Conception
  • Requirements/Analysis
  • Design/Plan
  • Construction/Build - Programming
  • Testing/Debugging
  • Deployment
  • Maintenance

User Centered Design:

A term coined by Don Norman at UCSD.
Observe, Test, Iterate, and Learn (Don Norman) (Video)
See Don Norman here.


Links:
Software development process - Wikipedia
What is ITIL (Information Technology Infrastructure Library)? - Definition from WhatIs.com

Return to computers

last updated 5 Oct 2017