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.