content
System Processes
Waterfall
Requirements
Design -> Design architecture, user interface, database (Figma, ER models)
Code -> Developers working concurrently to work on different components in the software
Integration -> Combine all individual components to create a unified software
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:
Product Owner: Lead user of the system, person with the vision of what he/she wants to build
Team: Develops the product
Scrum Master: Facilitates the process of stand ups.
XP
Focus on software engineering practices and quality
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
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.
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