Methodologies

Factors to consider before choosing

Fixed

Waterfall

Key ideas
  • Move in a step by step process from one phase to the next
  • Should be approved by the sponsors before moving onto the next stage
Pros and Cons

Pros

  • Requirements are set out early on
  • Since requirements are frozen this means that it will be easier to develop, as there are no changes during development

Cons

  • Long time before visible evidence can be shown, of the product working
  • Lack of flexibility as requirements can only be changed at the end, in post development

Diagram

Parallel Development

Key ideas
  • Main project is divided into sub-projects that can be worked on in parallel
  • All sub-projects are implemented together to create final product
  • Similar to waterfall, except design and implementation are done in parallel
Pros and Cons

Pros

  • Shorter development cycle
  • Requirements are less likerly to change since development cycle is a shorter time frame
  • Faster than waterfall

Cons

  • Implementation is complex with all the sub-projects
  • Sub-projects may effect another, and cause unexpected outcomes
  • Deciding what can be a sub-project can be hard

Diagram

Rapid Application Development - RAD

Interactive Development - RAD approach

Key ideas
  • First prototype has the minimum amount of features
  • The prototype is then analysed by stakeholders, and more functionality is added
  • This repeats until all stakeholders are happy with the product
  • All that is needed is all is that is added
Pros and Cons

Pros

  • Users get to test a prototype of the system early
  • Feedback helps refine the system

Cons

  • Superficial analysis may cause problems
  • Overlooked featurs may be harder to add later

Diagram

Throwaway Prototyping - RAD approach

Key ideas
  • Prototypes with features are presented, users then determine if its something they actually want
  • Prototype is then thrown away, then they create a new final product withh the features that were tested earlier
Pros and Cons

Pros

  • Uncertainty is minimised
  • Important features are understood and can be implemented well

Cons

  • May take longer due to prototyping

Diagram

Agile

Manifesto

Principles

Extreme Programming - XP - Agile

Key ideas
  • Focus on customer satisfaction
  • Good communication with devs programmers and customers
  • Good for small projects divided into modules
Pros and Cons

Pros

  • Very fast
  • Good if goals are unclear

Cons

  • Requires motivation, since you will be removing and making stuff at a fast pace
  • Lost of user involvment
  • High learning curve, to know what you are making
  • Best for small projects

Scrum - Agile

Key ideas
  • Similar to XP
  • BEST if ideas constantly fluxing
  • Divided into small teams
  • Series of iterations is made (sprint)
  • Build in small chunks
  • Regular meeting to check progress and to plan

Diagram

Object-oriented methodology

Advantages

UML

This helps with the structure of the system

It will help by showing system diagrams