Nội dung

DaiPhan

DaiPhan

Full-Stack Developer

Full-stack developer passionate about modern web technologies, best practices, and sharing knowledge with the community.

Skills & Expertise

JavaScript TypeScript React Node.js DevOps
150+
Articles
50k+
Readers
4.9
Rating

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

  1. Transparency: Mọi thứ phải visible cho team
  2. Inspection: Regular inspection of progress
  3. 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).