agile

Cards (9)

  • agile focuses on code rather than design, small and tight-knit teams, iterative approach to development, being adaptable to changes by focusing less on documentation
  • agile pros: flexible, great for users that are willing to be involved
  • agile cons: can be difficult to maintain customer interest throughout, intense sprints, priority of changes can be difficult when there are multiple stakeholders, easy to start changing too much and lose simplicity and original contract terms, maintenance more difficult due to lack of documentation
  • Incremental delivery: system is broken down into increments of waterfall with each one delivering a part of the functionality. User requirements are prioritised and highest priority are done in the earliest increments. The requirements of the current increment are frozen for the duration of the development
  • incremental delivery pros: user can start using the system early, each one acts as a prototype that helps get better requirements for the future, highest priority end up receiving the most testing due to being first, requirements for later developments remain flexible
  • incremental delivery cons: can be hard to identify/plan for common facilities shared by multiple increments (as they are not specified until that increment start), iterative process of developing specification conflicts with standard contracts, system structure tends to degrade as many new increments are added, bad if trying to replace an existing system
  • XP: 'extreme' approach, new versions may come out multiple times a day with increments delivered every 2 weeks, all tests must be run for every build, uses pair programming and works to pass tests
  • agile pros: client at centre of process, easy to adapt, less rigid and fosters collaboration, great for small teams
  • XP is unique in not even trying to anticipate changes but instead encourages constnt refactoring