Tìm hiểu về Agile & Scrum. Các sự kiện trong Scrum
Mục Lục
1. Agile là gì ?
Khái niệm:
- Agile (viết tắt của Agile Software Development) là phương thức quản lý và phát triển phần mềm linh hoạt. Nó gồm một quá trình làm việc tương tác và tích hợp để có thể đưa sản phẩm đến tay người dùng càng nhanh càng tốt.
Các tuyên ngôn Agile
Vào năm 2001, bản tuyên ngôn Agile (Agile Manifesto) đã được thống nhất và ra đời bởi một nhóm người có uy tín trong phát triển phần mềm:
- Individuals and interactions over processes and tools: Cá nhân và sự tương tác hơn là quy trình và công cụ
- Working software over comprehensive documentation: Phần mềm chạy tốt hơn là tài liệu đầy đủ
- Customer collaboration over contract negotiation: Cộng tác với khách hàng hơn là đàm phán hợp đồng
- Responding to change over following a plan: Phản hồi với sự thay đổi hơn là bám theo kế hoạch
12 nguyên tắc quan trọng trong Agile
- Đáp ứng toàn diện nhu cầu khách hàng thông qua việc giao hàng sớm và sản phẩm có giá trị.
- Thay đổi yêu cầu được chào đón, thậm chí là rất muộn trong quá trình phát triển.
- Giao phần mềm chạy được cho khách hàng một cách thường xuyên.
- Nhà kinh doanh và các kỹ sư phần mềm cần làm việc cùng nhau trong suốt dự án.
- Xây dựng dự án xung quanh các cá nhân có động lực. Cung cấp sự hỗ trợ cần thiết, môi trường làm việc và niềm tin để hoàn thành công việc.
- Trao đổi trực tiếp là cách truyền đạt thông tin hiệu quả nhất.
- Thước đo chính của tiến độ là phần mềm chạy tốt.
- Phát triển liên tục và bền vững.
- Cải tiến sự linh hoạt bằng cách quan tâm đến kỹ thuật và thiết kế.
- Nghệ thuật tối đa hóa lượng công việc chưa xong - Sự đơn giản là cần thiết.
- Nhóm tự tổ chức
- Thích ứng thường xuyên với những thay đổi.
2. Scrum là gì ?
Khái niệm
- Scrum là một cơ cấu tổ chức công việc tinh gọn giúp mọi người, các nhóm và tổ chức tạo ra giá trị thông qua các giải pháp thích ứng trước các vấn đề phức tạp.
- Scrum khuyến khích team học tập qua trải nghiệm, tự tổ chức các hoạt động của team để giải quyết các bài toán, và reflect - suy tưởng, phản tư về những thành công cũng như thất bại của team để liên tục tìm ra các cải tiến.
Agile và Scum: giống hay khác nhau ?
-
Agile và Scrum giống nhau ra sao?
Agile và Scrum đều được áp dụng theo quy trình lặp lại và sự tương tác với khách hàng thường xuyên. Do đó, cả hai đều nhấn mạnh việc vừa phát triển phần mềm và vừa điều chỉnh theo phản hồi.
Scrum được xây dựng dựa trên Agile nên cả hai phương pháp đều có chung mục tiêu là tối đa hóa các giá trị mà chúng sẽ tạo ra cho khách hàng doanh nghiệp. -
Điểm khác nhau của Agile và Scrum
Agile | Scrum |
---|---|
Là phương pháp luận gồm nhiều nguyên tắc. | Là một trong những mô hình làm việc áp dụng và triển khai các nguyên tắc của Agile. |
Với Agile, sản phẩm có xu hướng được chuyển giao vào giai đoạn cuối dự án. | Được chia thành các Sprint có thời gian nhất định và các hạng mục của sản phẩm được cung cấp cho khách hàng sau mỗi vòng sprint. |
Thúc đẩy việc giao tiếp trực tiếp và tương tác tương quan giữa tất cả thành viên trong team. | Việc trao đổi, thảo luận được thực hiện hàng ngày (hoặc hàng tuần) theo một lịch trình cụ thể. |
Leader có vai trò cực kỳ quan trọng, chịu trách nhiệm về công việc của toàn bộ team. | Scrum thúc đẩy một nhóm tự tổ chức và đa chức năng. |
3. Các sự kiện trong Scrum
Các sự kiện trong Scrum tạo nên sự minh bạch cần thiết cho dự án. Giúp mọi thành viên làm việc hiệu quả và chặt chẽ với nhau, cũng như nâng cao kiến thức và trở nên hiệu quả hơn trong lương lai.
3.1. Sprint
- Sprint là một sự kiện chứa tất cả các sự kiện khác, trong đó, các ý tưởng được biến thành giá trị.
- Đây là khoảng thời gian có thể kéo dài một tháng hoặc ít hơn phụ thuộc vào nhiều yếu tố khác nhau. Một Sprint mới sẽ bắt đầu ngay sau khi Sprint trước kết thúc.
- Tất cả công việc cần thiết để đạt Product Goal, bao gồm Sprint Planning, Daily Scrum, Sprint Review và Sprint Retrospective đều diễn ra trong các Sprints.
Trong một Sprint:
- Không được thực hiện những thay đổi có thể làm tổn hại đến Sprint Goal;
- Chất lượng không giảm sút;
- Product Backlog được tinh chỉnh nếu cần thiết;
- Phạm vi công việc có thể được làm rõ thêm và thảo luận lại với Product Owner khi một số thông tin trở nên rõ ràng hơn.
Hủy một Sprint
- Một Sprint có thể bị huỷ bỏ nếu Sprint Goal trở nên lỗi thời. Chỉ có Product Owner có quyền huỷ Sprint.
3.2. Sprint planning
- Sprint Planning khởi đầu một Sprint bằng cách chuẩn bị một kế hoạch cho những công việc sẽ hoàn thành trong một Sprint. Sprint Planning là một sự kiện hộp thời gian kéo dài 8 giờ hoặc ít hơn trong 30 ngày chạy nước rút. Chạy nước rút ngắn hơn có thể có thời gian lập kế hoạch chạy nước rút ngắn hơn.
- Product Owner sẽ đưa ra các Product Backlog và thảo luận với Development team. Các Developers sẽ dự đoán các Product Backlog mà họ có thể đạt được trong Sprint dựa trên các yếu tố như tốc độ, nguồn lực hay bất cứ yếu tố nào khác.
- Kết quả của sự kiện này là có được Sprint Goal và Sprint Backlog mà mọi người đồng ý rằng có thể đạt được.
Sprint Planning đề cập đến những chủ đề sau:
- Chủ đề thứ nhất: Mục tiêu của Sprint này là gì ?
- Chủ đề thứ hai: : Những gì có thể được Hoàn Tất trong Sprint?
- Chủ đề thứ ba: Làm thế nào để hoàn tất những việc đã chọn?
Ai tham dự sự kiện này?
- Scrum team (product owner, scrum master, and development team).
- Ngoài ra, Scrum Team có thể mời thêm nhiều người cùng tham dự Sprint Planning để có ý kiến đóng góp.
3.3. Daily Scrum
- Mục đích của Daily Scrum là kiểm tra tiến độ công việc và chuẩn bị một kế hoạch cho ngày làm việc tiếp theo (trước thời điểm daily tiếp theo).
- Daily Scrum thường có thời gian là 15 phút. Daily Scrum nên diễn ra tại cùng một thời điểm và cùng một địa điểm để giảm bớt sự phức tạp và nhầm lẫn.
Các thành viên sẽ trao đổi xoay quanh ba câu hỏi:
- Bạn đã làm gì hôm qua ?
- Bạn sẽ làm gì hôm nay ?
- Điều gì khó khăn khi làm việc ?
Ai tham dự sự kiện này?
- Development team là thành phần bắt buộc.
- Scrum Master được khuyến khích có mặt để đảm bảo Development team tham gia và tổ chức đầy đủ các buổi Daily Scrum.
- Nếu Product Owner hoặc Scrum Master cũng thực hiện các hạng mục trong Sprint Backlog, họ sẽ tham dự với tư cách Developers.
Tips giúp Daily Scrum trở nên hiệu quả
- Duy trì thói quen họp mỗi ngày vào thời gian nhất định, nên là buổi sáng.
- Sử dụng vật để truyền lần lượt tay nhau, đến tay ai người đó sẽ báo cáo.
- Trả lời đủ 3 câu hỏi.
3.4. Sprint Review
- Mục đích của Sprint Review là để kiểm tra, đánh giá kết quả của Sprint. Ở đây, Scrum Team trình bày kết quả công việc của họ cho các bên liên quan và tiến độ hoàn tất Product Goal. Dựa trên đó, những người tham dự cùng nhau xác định việc cần làm kế tiếp. Product Backlog có thể sẽ được điều chỉnh để phù hợp với định hướng công việc trong tương lai.
- Sprint Review là sự kiện kế cuối của một Sprint và nó được giới hạn thời gian tối đa trong bốn tiếng cho Sprint một tháng. Cho những Sprint ngắn hơn, sự kiện này thường sẽ ngắn hơn.
Ai tham dự sự kiện này?
- Scrum Team (Product Owner, Scrum Master, and Development Team).
- Các bên liên quan ( Khách hàng, người dùng cuối, v.v.).
3.5. Sprint Retrospective
- Mục đích của Sprint Retrospective là để Scrum team nhìn lại và có được kế hoạch thay đổi và phát triển tốt hơn trong Sprint tiếp theo. Cả nhóm có thể nhìn lại những gì đã làm tốt, những gì đã bỏ lỡ, những gì có thể làm tốt hơn, v.v..
- Sprint Retrospective sẽ kết thúc một Sprint. Nó được giới hạn tối đa trong ba tiếng cho Sprint một tháng. Cho những Sprint ngắn hơn, sự kiện này thường sẽ ngắn hơn.
Ai tham dự sự kiện này?
Duy nhất Scrum Team (Product Owner, Scrum Master, and Development Team).
Tài liệu tham khảo
www.atlassian.com/agile
www.scrum.org/resources
Agile và Scrum: giống hay khác nhau?