1) Sơ lược về chu trình scrum:
- Scrum
là một quy trình phát triển phần mềm theo mô hình linh hoạt (agile).
Công nghệ Agile cung cấp rất nhiều phương pháp luận, quy trình và các
thực nghiệm để cho việc phát triển phần mềm trở nên nhanh chóng và dễ
dàng. Hiện nay tại Việt Nam, quy trình này đang được thử nghiệm tại các
đội phát triển phần mềm của một số công ty lớn.
- Scrum chia dự án thành các vòng lặp phát triển gọi là
các sprint. Mỗi sprint thường mất 2- 4 tuần (30 ngày) để hoàn thành. Một sprint hoàn thành một số chức năng, mục đích nào
đó trong toàn bộ hệ thống. Các tác vụ trong sprint được chia ra thành
các danh mục, đội làm việc sẽ phát triển và đánh giá lại sao cho đạt
được mục đích ban đầu trong khoảng thời gian đề ra.
- Thành phần chính quan trọng của scrum là các role (vai trò) và các cuộc trao đổi đánh giá. Có các role chính là:
+ Product Owner: là người làm những công việc bắt đầu
cho dự án, tạo ra các yêu cầu trong quá trình phát triển dự án. Phân
tích mục tiêu, giải phóng các kế hoạch.
+ Scrum Master: họ phải đảm bảo các sprint được hoàn thành đúng mục đích, bảo vệ đội làm việc và loại bỏ các trở ngại.
+ Đội làm việc ở scrum: thường từ 5-9 người, tùy theo
quy mô dự án nó có thể có rất nhiều đội, nhiều người tham gia. Sẽ không
có những lập trình viên (programmer), người thiết kế (designer), kiểm
thử viên (tester),… thường thấy ở các dự án phần mềm truyền thống. Các
đội làm việc sẽ tiến hành cài đặt các chức năng được mô tả trong bản yêu
cầu. Họ tự quản lý, tổ chức và điều chỉnh đội làm việc của mình sao cho
hiệu quả lớn nhất. Tất cả các thành viên có ảnh hưởng như nhau đến sự
thành công hoặc thất bại của toàn bộ hệ thống hoặc các hệ thống nhỏ hơn
trong đó.
- Có 2 pha là lập kế hoạch và kết thúc sẽ xác định các
tiến trình cần thiết gồm các dữ liệu đầu vào đầu ra thật đầy đủ. Có một
số vòng lặp phát triển trong pha kế hoạch. Kế hoạch lập ra ban đầu chỉ
là tương đối và sẽ có sự điều chỉnh.
2) Nhóm scrum:
- Product owner: (chủ sản phẩm) chịu trách nhiệm tối đa hoá giá trị của sản phẩm và công việc của nhóm phát triển. Cách thức để đạt được đều đó có thể rất khác nhau giữa các tổ chức, các nhóm Scrum và các cá nhân.
- Development team: (nhóm phát triển) gồm các chuyên gia làm việc để cho ra các phần tăng trưởng có thể phát hành được cuối mỗi Sprint. Chỉ có các thành viên của nhóm phát triển mới có thể tạo ra các phần tăng trưởng này.
- Scrum master: chịu trách nhiệm đảm bảo mọi người hiểu và dùng được scrum. Scrum master thực hiện việc này bằng cách đảm bảo nhóm Scrum tuân thủ lý thuyết, các kỹ thuật thực hành và qui tắc của scrum.
2) Nhóm scrum:
- Product owner: (chủ sản phẩm) chịu trách nhiệm tối đa hoá giá trị của sản phẩm và công việc của nhóm phát triển. Cách thức để đạt được đều đó có thể rất khác nhau giữa các tổ chức, các nhóm Scrum và các cá nhân.
- Development team: (nhóm phát triển) gồm các chuyên gia làm việc để cho ra các phần tăng trưởng có thể phát hành được cuối mỗi Sprint. Chỉ có các thành viên của nhóm phát triển mới có thể tạo ra các phần tăng trưởng này.
- Scrum master: chịu trách nhiệm đảm bảo mọi người hiểu và dùng được scrum. Scrum master thực hiện việc này bằng cách đảm bảo nhóm Scrum tuân thủ lý thuyết, các kỹ thuật thực hành và qui tắc của scrum.
3) Cách thức cài đặt và sử dụng chu trình scrum:
* Có thể sử dụng 10 bước sau:
- Bước 1: thu nhập các đặc điểm của sản phẩm
(backlog) trong đơn đặt hàng. Lập nên các
đội làm việc, có thể tách thành các đội nếu cần thiết và thảo luận với
nhau về nghiệp vụ cần làm. Sau đó bổ nhiệm một người vào vị trí Product
owner, người này có khả năng trao đổi, bao quát công việc tốt, biết sắp
xếp ưu tiên đúng thứ tự các nhiệm vụ. Sau đó tự tổ chức lại đội làm
việc, đề xuất ra vị trí Scrum master và thảo luận chi tiết các yêu cầu,
sắp xếp chúng theo thứ tự ưu tiên.
- Bước 2: ước lượng đầy các yêu cầu về sản phẩm đầu
ra, chia sản phẩm thành số lượng các danh mục
backlog. Tiếp đến là ước lượng chi tiết từng backlog, ước lượng số
lượng các đội làm việc.
- Bước 3: lên kế hoạch phát triển các vòng lặp
sprint. Sử dụng các cuộc trao đổi kế hoạch phát triển sprint với tất cả
các thành viên. Xác định khoảng thời gian sẽ phát triển một sprint, mục tiêu của sprint là gì, sẽ đạt được gì, phân
tích các yêu cầu của sprint một cách rõ ràng.
- Bước 4: lên kế hoạch phát triển các nhiệm vụ của
sprint. Tất cả mọi người sẽ xác định ngân sách của sprint đó, chia các
đặc điểm thành các tác vụ nhỏ hơn, ước lượng số thời gian sẽ làm từng
task (giờ), hoàn tất các yêu cầu và nhận dạng task quan trọng.
- Bước 5: tạo ra không gian làm việc cộng tác cho tất
cả mọi người. Sử dụng bảng trắng để vẽ nên những vấn đề cần
thiết cho tất cả mọi người cùng đánh giá.
- Bước 6: các thành viên bắt tay xây dựng từng
sprint. Lập trình, kiểm thử và điều chỉnh thời gian để có hiệu quả tốt
nhất.
- Bước 7: mọi người báo cáo kết quả để tiếp tục làm việc. Các báo cáo tập trung vào các vấn đề: đạt được những gì so với lần trao đổi trước; sẽ hoàn thành những gì trong lần trao đổi tiếp theo; có những trở ngại gì trong quá trình làm việc ...
- Bước 8: tổng hợp kết quả trên biểu đồ.
- Bước 9: xem xét để hoàn tất. Khi các thành viên nói công việc đã hoàn thành có nghĩa là mọi thay đổi sẽ bị từ chối, đẩy lại cho vòng lặp sau.
-Bước 10: đánh giá, phản ánh và lặp lại. Họp đánh giá lại sprint của các thành viên. Trình bày những gì đạt được, phản hồi của khách hàng, xét thời hạn của sprint và tiếp nhận những đóng góp, bổ sung để đưa tiếp vào các vòng lặp sprint tiếp theo.
- Bước 7: mọi người báo cáo kết quả để tiếp tục làm việc. Các báo cáo tập trung vào các vấn đề: đạt được những gì so với lần trao đổi trước; sẽ hoàn thành những gì trong lần trao đổi tiếp theo; có những trở ngại gì trong quá trình làm việc ...
- Bước 8: tổng hợp kết quả trên biểu đồ.
- Bước 9: xem xét để hoàn tất. Khi các thành viên nói công việc đã hoàn thành có nghĩa là mọi thay đổi sẽ bị từ chối, đẩy lại cho vòng lặp sau.
-Bước 10: đánh giá, phản ánh và lặp lại. Họp đánh giá lại sprint của các thành viên. Trình bày những gì đạt được, phản hồi của khách hàng, xét thời hạn của sprint và tiếp nhận những đóng góp, bổ sung để đưa tiếp vào các vòng lặp sprint tiếp theo.
0 nhận xét:
Đăng nhận xét