Agile Methodology – Crib Notes
Essential Vocabulary
- Agile: Mindset/principles emphasizing iterative development, customer collaboration, flexibility.
- Iteration: Short cycles (1-2 weeks) to deliver incremental value.
- User Story: Brief feature description from user perspective.
- Definition of Done: Criteria for a feature to be considered complete.
- Retrospective: Meeting to reflect and improve future cycles.
- Incremental Delivery: Regular small releases delivering continuous value.
Agile Workflow
flowchart LR
Plan --> Develop --> Test --> Review
Review --> Deploy[Deploy/Release]
Review -->|Feedback| Plan
Develop --Blocked/Change--> Adjust
Adjust --> Plan
Agile Mindset & Principles
- Iterative development: Deliver small increments of working software.
- Customer collaboration: Constant feedback loops to meet real needs.
- Flexibility: Embrace changing requirements, even late in development.
Handling Common Agile Scenarios
Feature Blocked (Feature 1 Scenario)
- Pause & communicate blockage clearly and quickly.
- Perform a spike (research) if needed.
- Update backlog & refine scope collaboratively.
- Adjust plans to maintain momentum.
Agile Response Flow:
- Identify blockage → Pause → Communicate → Spike (if needed) → Refine & reprioritize → Continue development once resolved.
Mid-Development Requirement Changes (Feature 2)
- Welcome changes, quickly assess impact.
- Integrate small changes immediately or pause development if the change is large.
- Regular communication with stakeholders.
- Frequent prototyping/demos to align expectations.
Change Response:
- Assess → Small change: Incorporate immediately
- Large change: Pause, communicate, replan → update backlog → develop & test → release
External Dependency Delays (Feature 3)
- Immediately identify and treat delays as impediments.
- Coordinate with external teams proactively.
- Adjust team focus to alternative tasks or simulate missing components (stubs/mocks).
- Reprioritize backlog accordingly.
Action Plan:
- Blocked → Communicate externally → Mock/stub dependencies if possible → Reprioritize tasks → Integrate real dependency when available → Reflect in retrospective
Smooth Delivery (Feature 4)
- Feature developed within one iteration.
- Clear planning, regular demos, continuous integration/testing.
- Transparent communication ensures smooth acceptance.
Smooth Process:
- Plan → Develop (pair/mob programming) → Automated Testing → Demo → Stakeholder acceptance → Immediate/iterative release.
Key Agile Best Practices
- Transparency: Task boards, clear communication.
- Adaptability: Revisit plans regularly, minimize waste.
- Continuous improvement: Regular retrospectives.
- Testing & Integration: Continuous integration, automated tests (JUnit/Kotlin testing frameworks).
- Incremental value: Frequent releases to users, providing continuous value.
Agile Lifecycle (Summary)
- Agile lifecycle: Iterative loops (Planning → Development → Testing → Review → Deployment).
- Quickly handle blocked work or external delays through clear communication and rapid replanning.
- Maintain high software quality through continuous integration, testing, and stakeholder feedback.
Agile Motto: Deliver incremental, customer-aligned value through transparency, continuous improvement, and adaptability.
Why always me?