x

Methodologies

The Waterfall Method
  • The Waterfall Method is a type of software development that focuses on a set lifecycle.
  • In each stage, there is a set of activities that must happen in a certain order, and a set of outcomes (called 'deliverables') that must be produced and signed off as completed by the Project Manager for each stage before the next one is started.
  • An example of a Deliverable is a report or documentation.
  • Notice with this model that there is nothing stopping a stage feeding back into an earlier stage, so that the project can constantly loop around until it is perfect!
The Aglile Method
  • The Agile methodology focuses heavy on delivering small working pieces of code that can be easily implemented into a larger codebase.
  • This approach has blown up as a result of Object Orientated Programming because of the modular nature of the code.
  • Agile has a set of values to follow:
  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan.
  • These are only rough guidelines.
  • The Agile methodology is iteritive and goes round and round until the project is complete.
Extreme Programming (XP)
  1. Work on one thing at a time, incrementally.
  2. Release as many small releases as possible, as quickly as possible, to get as much feedback as possible.
  3. Use metaphors in documentation e.g. the Shopping Cart' is often used as a metaphor for the online shopping experience.
  4. Always use the simplest design to get the function working. Don't add things that may not be used.
  5. Test everything. Use automatic testing if possible.
  6. Design as you go, making improvements when you need to.
  7. Program in pairs or small groups, to allow discussions about requirements, designs, coding, testing etc.
  8. Anyone on the team can make a change to code at any time - everyone owns the code.
  9. The entire product is constantly being tested as new parts are added.
  10. The teams should not be stressed out when they work, trying to meet unrealistic deadlines by working late and weekends and not seeing their families, for example.
  11. Everyone in the team should aim to be able to do anything that needs doing; generalisation rather than specialisation of team members.
  12. Everyone in the team should know and follow whatever standards are agreed.
  13. Aim for constant and direct customer access, to facilitate feedback and general communications.
  14. XP is different to other Agile Methodologies in that it has an iteration time of from one to four weeks for each production of software.
  15. XP focuses heavily on the aspect of Agile that involves delivering small working packets of code.
  16. It also uses lots of storyboards which allow prioritisation of tasks and due to it being object orientated, it doesnt require a linear approach.
  17. However the lack of a linear approach may make it hard for a customer to understand the methodology.
Left-click: follow link, Right-click: select node, Scroll: zoom
x