AgileĀ – An iterative approach to project management and software development that helps teams deliver value to customers faster and with fewer headaches, emphasizing collaboration, flexibility, and continuous improvement.
Key Principles:
- Iterative Development: Work is completed in short cycles (sprints/iterations)
- Customer Collaboration: Regular feedback and involvement throughout the project
- Responding to Change: Adapting to changing requirements rather than following a rigid plan
- Working Software/Products: Focus on delivering functional increments regularly
- Individuals and Interactions: Prioritizing people over processes and tools
Core Characteristics:
- Timeboxed Iterations: Typically 1-4 week cycles
- Cross-functional Teams: Self-organizing teams with diverse skills
- Continuous Feedback: Regular retrospectives and reviews
- Adaptive Planning: Plans evolve based on learning and feedback
- Early and Frequent Delivery: Regular delivery of working increments
Common Agile Frameworks:
- Scrum: Most popular framework with defined roles, events, and artifacts
- Kanban: Visual workflow management system
- Lean: Focus on eliminating waste and maximizing value
- Extreme Programming (XP): Engineering-focused practices
Benefits:
- Faster time to market
- Higher customer satisfaction
- Better risk management
- Improved team morale
- Greater flexibility to change
Agile Manifesto Values:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Related Terms:
- Sprint: Time-boxed iteration in Scrum
- User Story: Brief description of a feature from user’s perspective
- Backlog: Prioritized list of features/requirements
- Retrospective: Team reflection meeting for continuous improvement