Software development

Cards (16)

  • Water fall lifecycle :
    • the stages are carried out sequentially so all of each stage is done al once, so fully documented, discussed agreed and signed off before the next stage
    • It requires a lot of investment early on
    • Once the requirements are agreed they are fixed
    • Used for small or medium projects
  • waterfall lifecycle:
    • its suitable if its a small or medium project and user requirements are clearly understood and specified
    • the approach is well structured and well understood as its easier to plan and clar lines of responsibility
    • large projects can be split into parts
  • waterfall life cycle negatives:
    • It is rigid and there is a lot of documentation
    • Little client input
    • It’s heavily dependant on accurate specification of the requirements
    • The development process takes too long
    • Because the testing is close to the end its almost not worth it as its too far along to make suitable changes
  • Spiral lifecycle:
    • Similar to waterfall but uses project cycles
    • The pattern is repeated until the final product is made
    • The four stages are: Determine objectives, identify and resolve risks, develop and test,plan for the next loop.
  • spiral lifecycle model benefits and suitability:
    • emphasises risk management
    • suitable for large, high risk projects
    • suitable if multiple organisations are involved
  • spiral lifecycle model criticism:
    • it needs to include risk management expert ,adding to the cost of the project
  • agile approach:
    • advocates building prototypess ,testing and feedback loops being as quick as possible
    • very commonly used
  • agile approach priorities:
    1. satisfy the customer
    2. welcome changing requirements and late development
    3. delivers working software frequently
    4. must work together
    5. uses face to face conversation
    6. working software is the priority
    7. simplicity
    8. constant pace
    9. makes the team as efficient as possible
  • agile approach suitability and benefits:
    • suitable for small to medium projects but large can be done if decomposed
  • agile approach negatives:
    • could give scope creep - client adding more and more requirements
  • rapid application development:
    • is an agile approach software based on prototyping
    • lacks is functionability but focuses on layouts
  • rapid application development suitability and benefits :
    • suitable for small projects and if requirements are unclear from the start.
    • allows for continuous feedback
  • rapid application criticism:
    • encourages sloppiness
    • client not very involved
  • XP extreme programming:
    • is an agile approach
    • it focuses on the refinement of the objectives
    • it uses frequent releases in short development cycls
    • provides feedback at every stage of the project
  • XP extreme programming suitability and benefits:
    • High quality of code
    • Fewer bugs so less time needed to fix them
    • Emphasises client involvement
  • XP extreme programming negatives:
    • allows for scope creep
    • lack of requirements
    • requires high degrees of communication