Unit 2 of 3
Development Methods and Design Patterns
15 min
+150 points
Learning objectives
When you finish this unit, you will be able to:
- Describe the concepts of test-driven development.
- Compare software development methods (agile, lean, and waterfall).
- Explain the benefits of organizing code into methods / functions, classes, and modules.
- Identify the advantages of common design patterns (MVC and Observer).
Software development practices
Test-driven development (TDD)
TDD writes tests before implementation, ensuring code meets requirements and remains maintainable as it evolves.
Development methods
- Agile: iterative delivery with frequent feedback.
- Lean: minimize waste and maximize value flow.
- Waterfall: sequential phases with defined handoffs.
Code organization
Structure code into methods/functions, classes, and modules for reusability, readability, and maintainability.
Design patterns
- MVC (Model-View-Controller): separates data, presentation, and logic.
- Observer: notifies dependent objects when state changes.
Exam focus: match development methods and patterns to scenarios and articulate their benefits.