Development Methodologies
Software development practices and principles for building high-quality, maintainable software — from testing strategies to delivery pipelines.
Filter by tag:
Testing Practices
Test-Driven Development (TDD)
Write a failing test first, then write the minimum code to pass it, then refactor — the red-green-refactor cycle for confident code.
Behaviour-Driven Development (BDD)
Extend TDD with natural-language specifications — Given/When/Then scenarios that bridge the gap between business and development.
Property-Based Testing
Generate random inputs to verify properties that should always hold — finds edge cases that example-based tests miss.
CI/CD & Delivery
Continuous Integration (CI)
Merge code changes frequently into a shared branch with automated builds and tests — catch integration issues early.
Continuous Delivery & Deployment
Automate the release pipeline so every change is production-ready — continuous delivery requires manual approval, deployment is fully automated.
Trunk-Based Development
All developers commit to a single shared branch (trunk/main) with short-lived feature branches — enables continuous integration and fast feedback.
Feature Flags (Feature Toggles)
Decouple deployment from release by wrapping features in toggles — enables trunk-based development, A/B testing, and gradual rollouts.
Code Quality
Refactoring
Improve code structure without changing external behaviour — systematic techniques for cleaning up code safely and incrementally.
SOLID Principles
Five object-oriented design principles — Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion.
Pair Programming
Two developers work together at one workstation — one writes code (driver) while the other reviews in real-time (navigator).