Scrum Methodology: Hướng Dẫn Thực Hiện Agile Development
Tìm hiểu Scrum framework và cách áp dụng trong thực tế
Scrum Methodology: Hướng Dẫn Thực Hiện Agile Development
Scrum là framework phổ biến nhất trong Agile development. Nó giúp teams deliver value nhanh chóng và linh hoạt thay đổi theo requirements.
Scrum Framework Overview
3 Pillars of Scrum
- Transparency: Mọi thứ phải visible cho team
- Inspection: Regular inspection of progress
- Adaptation: Adjust based on feedback
Scrum Values
- Commitment: Cam kết đạt mục tiêu
- Courage: Dám đưa ra quyết định khó
- Focus: Tập trung vào Sprint goal
- Openness: Open về challenges và failures
- Respect: Respect trong team
Scrum Roles
Product Owner
Responsibilities:
- Define Product Backlog
- Prioritize features
- Accept/Reject work results
- Maximize product value
Key Skills:
- Business understanding
- Communication
- Decision making
- Stakeholder management
Scrum Master
Responsibilities:
- Facilitate Scrum events
- Remove impediments
- Coach team on Agile/Scrum
- Shield team from distractions
Key Activities:
- Daily Standup facilitation
- Sprint Planning guidance
- Retrospective facilitation
- Conflict resolution
Development Team
Characteristics:
- Cross-functional (5-9 members)
- Self-organizing
- Shared accountability
- No titles, no sub-teams
Composition:
- Developers
- QA Engineers
- UX/UI Designers
- DevOps Engineers
Scrum Events
Sprint (2-4 weeks)
Sprint Flow:
Day 1: Sprint Planning
Daily: Daily Standup (15 min)
End: Sprint Review + Retrospective
Sprint Goal Example:
"Implement user authentication system
with login, logout, and password reset"
Sprint Planning
Agenda (8 hours for 4-week Sprint):
1. What can be delivered? (4 hours)
- Review Product Backlog
- Estimate effort
- Define Sprint Goal
2. How will it be achieved? (4 hours)
- Break down into tasks
- Identify dependencies
- Assign initial work
Output: Sprint Backlog
Daily Standup
Format (15 minutes max):
What did I do yesterday?
What will I do today?
Any blockers/impediments?
Rules:
- Same time, same place
- Stand up (keep it short)
- Not for problem solving
- Whole team participates
Example:
Developer A: "Yesterday I completed the login API.
Today I'll work on logout functionality.
Blocked: Need UI design for reset password."
Sprint Review
Purpose:
- Demonstrate working software
- Get stakeholder feedback
- Update Product Backlog
Format (4 hours for 4-week Sprint):
- Demo working features
- Discuss what was accomplished
- Gather feedback
- Update release plan
Participants:
- Whole Scrum Team
- Stakeholders
- Management
Sprint Retrospective
Purpose:
- Inspect team performance
- Identify improvements
- Create action plan
Format (3 hours for 4-week Sprint):
1. What went well?
2. What didn't go well?
3. What can we improve?
4. Action items for next Sprint
Tools:
- Start-Stop-Continue
- Mad-Sad-Glad
- Sailboat retrospective
- 5 Whys analysis
Scrum Artifacts
Product Backlog
Structure:
ID | User Story | Priority | Estimate | Acceptance Criteria
---|------------|----------|----------|----------------------
1 | As a user, I want to login | High | 5 | - Valid email/password
| | | | - Error messages
| | | | - Max 3 attempts
Prioritization Techniques:
- MoSCoW (Must, Should, Could, Won't)
- Value vs Effort matrix
- Kano model
- WSJF (Weighted Shortest Job First)
Sprint Backlog
Example for Authentication Sprint:
Task ID | Description | Assignee | Estimate | Status
--------|-------------|----------|----------|--------
T-001 | Login API | John | 3h | Done
T-002 | Login UI | Sarah | 4h | In Progress
T-003 | Logout API | Mike | 2h | To Do
T-004 | JWT Token | John | 3h | To Do
Increment
Definition of Done:
✓ Code complete
✓ Code reviewed
✓ Unit tests pass
✓ Integration tests pass
✓ Documentation updated
✓ Deployed to staging
✓ Product Owner accepted
Quality Standards:
- No critical bugs
- Code coverage > 80%
- Performance requirements met
- Security scan passed
Implementation Best Practices
Sprint Planning Best Practices
Preparation:
- Refine backlog before Sprint
- Have clear acceptance criteria
- Estimate stories in advance
- Identify dependencies early
During Planning:
- Focus on Sprint goal
- Don't overcommit
- Consider team capacity
- Plan for unknowns
Daily Standup Best Practices
Team Rotations:
- Monday: What are we building this Sprint?
- Wednesday: Mid-Sprint check-in
- Friday: Are we on track?
Visual Management:
- Use physical board if co-located
- Update task board daily
- Use burndown chart
- Track impediments visibly
Retrospective Best Practices
Create Safe Environment:
- No blame culture
- Focus on improvement
- Everyone participates
- Action-oriented outcomes
Follow Up:
- Review previous actions
- Assign owners
- Track implementation
- Measure impact
Metrics và KPIs
Sprint Metrics
Velocity: Story points completed per Sprint
Commitment Reliability: % of committed work delivered
Sprint Goal Success: % of Sprints achieving goal
Escaped Defects: Bugs found after Sprint
Team Satisfaction: Team happiness score
Burndown Chart
Ideal Burndown:
Day 1: 100% remaining
Day 5: 75% remaining
Day 10: 50% remaining
Day 15: 25% remaining
Day 20: 0% remaining
Warning Signs:
- Flat line (no progress)
- Steep drop (under-estimated)
- Upward trend (scope creep)
Common Challenges
Team Resistance
Symptoms:
- "We don't need daily meetings"
- "This is just another process"
- "We don't have time for retrospectives"
Solutions:
- Start with training
- Show quick wins
- Adapt gradually
- Get management support
Scope Creep
Prevention:
- Clear Sprint goal
- No changes during Sprint
- Proper backlog refinement
- Stakeholder education
Handling:
- Add to backlog
- Re-estimate
- Re-prioritize
- Plan in next Sprint
Kết luận
Scrum thành công đòi hỏi:
- Commitment: Từ tất cả stakeholders
- Patience: Mất thời gian để master
- Adaptation: Linh hoạt theo context
- Continuous Improvement: Luôn học hỏi và adjust
Bài viết này là phần đầu tiên trong series về Agile methodologies. Trong các bài tiếp theo, chúng ta sẽ explore Kanban và Scaled Agile Framework (SAFe).