content

System Processes

Waterfall

  1. Requirements

  2. Design -> Design architecture, user interface, database (Figma, ER models)

  3. Code -> Developers working concurrently to work on different components in the software

  4. Integration -> Combine all individual components to create a unified software

  5. System Test -> Testing at the end of the software creation

āœ… Logical and organised as the requirements are stated very early on; āŒ A plan is executed, and it is not purposeful; this method assumes plan is clear fomr the start, but an iterative and incremental process brings in uncertainty as there may be discovery of bugs, change in clients plan/goals midway through the project.

Agile Process

  • No standard template/checklists/procedures

  • More prescriptive than descriptive

  • Examples: Scrum, Extreme Programming (XP), Kanban

Scrum

  • Uses short iterations called sprints that focus on productivity

  • Breaks down a product into sprints, with each sprint focusing on one feature/task of the project.

  • After each iteration, show something to the client.

Roles:

  1. Product Owner: Lead user of the system, person with the vision of what he/she wants to build

  2. Team: Develops the product

  3. Scrum Master: Facilitates the process of stand ups.

XP

  • Focus on software engineering practices and quality

  1. Planning Phase

  • Customer presents user stories and prioritises the business value a feature will bring, and the developers will choose what features they can realistically deliver in a week

  1. Pair Programming + Test-Drive Development (TDD)

  • Developers pair up to write automated tests like unit tests

  • Code is then written to make the test pass, and then refactored to improve code quality

  • Pairs rotate to share knowledge and improve code quality.

  1. Customer Feedback Loop

  • Customer tries the features in a working build.

Product Backlog

  • Something that is continuously derived and refined from large/existing customer stories.

  • Usually describes the features, known issues/defects/research that is related to the product.

Last updated