|
BÁO CÁO: QUY TRÌNH SCRUM
A.Thông tin
đồ án.
v GVHD: Phạm Minh Hoàng
v Nhóm VIRUS thực hiện gồm:
1. MSSV 1512452 - Lê Hoàng Sang (nhóm
trưởng).
2. MSSV 1512449 - Đặng Nguyễn Quỳnh
(thư kí).
3. MSSV 1512446 - Lâm Quốc Quyền.
4. MSSV 1512455 - Trần Hồ Thiện Sinh.
5. MSSV 1512442 - Vũ Minh Quân.
6. MSSV 1512417 - Phùng Khắc Phương.
B.Quy trình
Scrum.
I. Định nghĩa:
Scrum:
Scrum là một trong những khung
làm việc linh hoạt và không kém phần phổ biến nhất hiện nay. Scrum được dùng để
quản lý các dự án phát triển phần mềm, ngoài ra scrum còn được dùng trong các
công việc khác với độ phức tạp và tính sang tạo rất đa dạng. Dựa trên lý thuyết
quản lý thực nghiệm: Scrum sử dụng kĩ năng lặp và tăng dần để tối ưu hóa sự
hiệu quả và kiểm soát rủi ro.
Sprint (tạm gọi là vòng phát
triển)
Cốt lõi của qui trình Scrum
đó là Sprint, một vòng thời gian của một tháng hoặc ít hơn, sự phát triển và
tung ra sản phẩm có tiềm năng, hữu dụng được tạo ra. Những Sprints tối ưu là
sprint có thời hạn thông qua sự nỗ lực phát triển. Sprint mới sẽ bắt đầu ngày
sau khi Sprint trước kết thúc.
Trong mỗi Sprint :
+ Không có sự thay đổi được thực hiện nhằm duy trì
được kết quả của Sprint đó.
+ Chất lượng kết quả không được giảm và có thể làm rõ
và thảo luận lại bởi chủ sản phẩm và đội phát triển.
Một Sprint có thể bị hủy nếu mục
tiêu cuối của Sprint trở nên lỗi thời. Điều đó sẽ xảy ra nếu công ty thay đổi
sự chỉ dẫn hay điều kiện thị trường, công nghệ thay đổi.
Ta có thể nói: Scrum rất đơn giản,
dễ học và khả năng ứng dụng lớn. Vì vậy, để dụng scrum chúng ta cần nghiên cứu
các thành phần sau đây:
II. Các nhân tố cấu tạo nên Scrum:
1. Ba giá trị cốt lõi:
a) Minh bạch (Transparency):
Trong Scrum, minh bạch xem như
là giá trị cốt lõi cơ bản nhất. Muốn thành công với Scrum, thông tin phải minh
bạch và thông suốt. Từ đó mọi người với các vai trò khác nhau có đủ thông tin
cần thiết để tiến hành các quyết định các giá trị để nâng cao hiệu quả công
việc. Các công cụ và cuộc họp trong Scrum luôn bảo đảm thông tin minh bạch cho
các bên.
b) Thanh tra (Inspection):
Công tác thanh tra liên tục
các hoạt động trong scrum bảo đảm cho việc phát triển các vấn đề cũng như giải
pháp để thông tin đa dạng và hữu ích đến được với các bên tham gia dự án. Với
việc truy xét kỹ càng và liên tục là cơ chế khởi đầu cho việc thích nghi và cải
tiến liên tục trong Scrum.
c) Thích nghi (Adaptation):
Scrum là một trong những
phương pháp phát triển rất linh hoạt. Nhờ đó mang lại tinh thích nghi rất cao.
Scrum có thể phản hồi lại các thay đổi một cách tích cực nhờ đó mang lại nhiều
thanh công lớn cho dự án.
2. Ba vai trò
·
Product
Owner: người xác
định các tính năng có trong sản phẩm.
·
Scrum
Master: người chịu
trách nhiệm về tình hình dự án, hiệu suất làm việc của các thành viên trong
nhóm phát triển và sự phối hợp giữa họ, và loại bỏ những trở ngại ảnh hưởng đến
quá trình phát triển.
·
Team
members: các thành
viên trong nhóm phát triển chịu trách nhiệm xây dựng và kiểm thử phần mềm chất
lượng cao.
3. Bốn cuộc họp:
a) Sprint Planning (Họp Kế hoạch
Sprint):
Nhóm phát triển gặp gỡ với
Product Owner để lên kế hoạch làm việc cho một Sprint (xem thêm phần Sprint bên
dưới). Công việc lập kế hoạch bao gồm việc chọn lựa các yêu cầu cần phải
phát triển, phân tích và nhận biết các công việc phải làm kèm theo các ước
lượng thời gian cần thiết để hoàn tất các tác vụ. Scrum sử dụng cách thức lập
kế hoạch từng phần và tăng dần theo thời gian, theo đó, việc lập kế hoạch không
diễn ra duy nhất một lần trong vòng đời của dự án mà được lặp đi lặp lại, có sự
thích nghi với các tình hình thực tiễn trong tiến trình đi đến sản phẩm.
b) Daily Scrum (Họp Scrum hằng ngày):
Scrum Master tổ chức cho Đội
sản xuất họp hằng ngày trong khoảng 15 phút để Nhóm Phát triển chia sẻ tiến độ
công việc cũng như chia sẻ các khó khăn gặp phải trong quá trình phát triển
phần mềm suốt một Sprint.
c) Sprint Review (Họp Sơ kết Sprint):
Cuối Sprint, nhóm phát triển
cùng với Product Owner sẽ rà soát lại các công việc đã hoàn tất (DONE) trong
Sprint vừa qua và đề xuất các chỉnh sửa hoặc thay đổi cần thiết cho sản phẩm.
d) Sprint Retrospective (Họp Cải tiến
Sprint):
Dưới sự trợ giúp của Scrum
Master, nhóm phát triển sẽ rà soát lại toàn diện Sprint vừa kết thúc và tìm
cách cải tiến quy trình làm việc cũng như bản thân sản phẩm.
Cuối Sprint, nhóm phát triển
cùng với Product Owner sẽ rà soát lại các công việc đã hoàn tất (DONE) trong
Sprint vừa qua và đề xuất các chỉnh sửa hoặc thay đổi cần thiết.
e) Sprint Planning (Họp Kế hoạch
Sprint):
Nhóm phát triển gặp gỡ với
Product Owner để lên kế hoạch làm việc cho một Sprint. Công việc lập kế
hoạch bao gồm việc chọn lựa các yêu cầu cần phải phát triển, phân tích và nhận
biết các công việc phải làm kèm theo các ước lượng thời gian cần thiết để hoàn
tất các tác vụ. Scrum sử dụng cách thức lập kế hoạch từng phần và tăng dần theo
thời gian, theo đó, việc lập kế hoạch không diễn ra duy nhất một lần trong vòng
đời của dự án mà được lặp đi lặp lại, có sự thích nghi với các tình hình thực
tiễn trong tiến trình đi đến sản phẩm.
4) Ba công cụ:
a) Product backlog:
Đây là danh sách ưu tiên các
tính năng (feature) hoặc đầu ra khác của dự án, có thể hiểu như là danh sách
yêu cầu (requirement) của dự án. Product Owner chịu trách nhiệm sắp xếp độ ưu
tiên cho từng hạng mục (Product Backlog Item) trong Product Backlog dựa
trên các giá trị do Product Owner định nghĩa (thường là giá trị thương mại –
business value).
b) Sprint backlog:
Đây là bản kế hoạch cho một
Sprint; là kết quả của buổi họp lập kế hoạch (Sprint Planning). Với sự kết hợp
của Product Owner, nhóm sẽ phân tích các yêu cầu theo độ ưu tiên từ cao xuống
thấp để hiện thực hóa các hạng mục trong Product Backlog dưới dạng danh sách
công việc (TODO list).
c) Burndown Chart:
Đây là biểu đồ hiển thị xu
hướng của dự án dựa trên lượng thời gian cần thiết còn lại để hoàn tất công
việc. Burndown Chart có thể được dùng để theo dõi tiến độ của Sprint (được gọi
là Sprint Burndown Chart) hoặc của cả dự án (Project Burndown Chart). Biểu
đồ burndown không phải là một thành tố tiêu chuẩn của Scrum theo định nghĩa
mới, nhưng vẫn được sử dụng rộng rãi do tính hữu ích của nó.
III.
Nguyên lý
hoạt động của scrum:
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. Nó rất phù hợp cho những dự án có nhiều sự thay đổi và yêu
cầu tốc độ cao.
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.
IV.
The Scrum
Team (tạm dịch là “Đội Scrum”):
Đội Scrum bao gồm các nhân tố
đó là Product Owner (người quản lí sản phẩm), Development Team ( đội phát
triển) và Scrum Master (Chủ qui trình Scrum).
Một Đội Scrum tự tổ chức thực hiện
và là đội đa chức năng. Đội tổ chức sẽ lựa chọn cách tốt nhất để hoàn thành
công việc, không phải tuân theo sự chỉ dẫn bởi một đội khác. Đội đa chức năng
sẽ có mọi yếu tố cần thiết để hoàn thành công việc mà không phải phụ thuộc vào
những nhân tố từ các đội khác. Phong cách làm việc ở Đội Scrum được thiết kế để
xử lí công việc một cách linh hoạt, sáng tạo và có năng suất.
Hình ảnh
từ agileatlas.org
Đội Scrum sẽ cung cấp sản phẩm
thường xuyên, lặp đi lặp lại và có sự tăng dần, đồng thời thu về nhiều kết quả
phản hồi về sản phẩm. Kết quả của sự tăng dần về việc cung cấp sản phẩm đã hoàn
thiện nhằm đảm bảo các phiên bản của sản phẩm luôn đạt chất lượng.
1. Người quản lí sản phẩm (The Product
Owner)
Người quản lí sản phẩm sẽ phản
hồi một cách hiệu quả về chất lượng của sản phẩm và hiệu suất công việc của đội
phát triển (Development Team). Cách thức thực hiện để hoàn thành công việc
thông qua sự tổ chức, những đội Scrums, và mỗi cá nhân.
Người quản lí sản phẩm là
người duy nhất chịu trách nhiệm quản lí các tồn đọng của sản phẩm. Quản lí tồn
đọng sản phẩm bao gồm:
+ Thể hiện rõ ràng sản phẩm nào tồn
đọng.
+ Đặt từng loại sản phẩm tồn đọng
một cách tối ưu mục đích và nhiệm vụ.
+ Thúc đẩy sự tối ưu hiệu quả công
việc của đội phát triển.
+ Đảm bảo các sản phẩm tồn đọng minh
bạch, rõ ràng, và chỉ ra cho đội Scrum những công việc tiếp theo.
+ Đảm bảo đội phát triển hiểu những
loại sản phẩm trong phần sản phẩm tồn đọng ở cấp độ nào.
2. Đội phát triển
Đội phát triển bao gồm những
chuyên gia người làm công việc cung cấp những sản phẩm hoàn thiện có chất lượng
tăng dần (chất lượng phát triển) vào mỗi cuối Sprint. Chỉ những thành viên
trong đội phát triển tạo ra sự phát triển của sản phẩm.
Đội phát triển được tổ chức và
được ủy quyền bởi một tổ chức nhằm vận hành và quản lí công việc của họ. Kết
quả của sự tổng hợp, tối ưu hóa sản phẩm dựa vào sự thành công, có hiệu quả của
đội phát triển.
Những đặc điểm của đội phát
triển là:
+ Họ tự vận hành, tự tổ chức, không
một ai có thể nói thành viên của đội phát triển làm sao để đưa những sản phẩm
tồn đọng phát triển một cách hiệu quả và có năng suất.
+ Đội phát triển đa chức năng, có
những yếu tố, kĩ năng cần thiết của một đội để tạo ra sự phát triển sản phẩm.
+ Mỗi cá nhân trong đội phát triển
có những kĩ năng đặc biết và những vùng công việc phù hợp, và mỗi người được
tập trung vào những ưu thế đó.
3. Chủ qui trình Scrum
Chủ qui trình Scrum có trách
nhiệm đảm bảo Scrum được mọi người hiểu và ban hành nó. Chủ qui trình Scrum làm
điều này bằng cách đảm bảo rằng các đội Scrum tuân thủ các lí thuyết Scrum, qui
tắc và qui trình thực hành. Chủ qui trình Scrum giúp cho những người ở ngoài
đội Scrum hiểu sự tương tác nào là phù hợp đối với đội Scrum. Chủ qui trình
Scrum giúp mọi người thay đổi những tương tác đó nhằm tối ưu hóa những giá trị,
chất lượng được thực hiện bởi đội Scrum.
a) Chủ qui trình Scrum đối với Chủ Sản
phẩm:
+ Tìm kiếm kĩ thuật cho việc quản lí
sản phẩm tồn đọng hiệu quả.
+ Giúp cho đội Scrum hiểu sự cần
thiết cho việc rõ ràng, súc tích các sản phẩm tồn đọng.
+ Hiểu được kế hoạch sản phẩm trong
môi trường thực nghiệm.
+ Đảm bảo Chủ sản phẩm hiểu cách sắp
xếp sản phẩm tồn đọng một cách tối ưu nhất.
+ Hiểu, thực hiện công việc một cách
nhanh nhẹn và tạo điều kiện cho các sự kiện của Scrum theo yêu cầu hay là cần
thiết.
b) Sự dịch vụ của chủ qui trình Scrum
đối với đội phát triển:
+ Huấn luyện đội phát triển trong
việc tổ chức và thực hiện đa chức năng.
+ Giúp đỡ đội phát triển tạo ra
những sản phẩm có giá trị, năng suất cao.
+ Loại bỏ những trở ngại trong quá
trình làm việc của đội phát triển.
+ Huấn luyện đội phát triển trong
môi trường có tổ chức nếu chưa hiểu hoàn toàn qui trình Scrum.
c) Sự dịch vụ của chủ qui trình Scrum
đối với tổ chức:
+ Chỉ ra, huấn luyện cho tổ chức về
qui trình Scrum.
+ Kế hoạch triển khai trong tổ chức.
+ Giúp đỡ nhân viên và các đối tượng
liên quan hiểu và ban hành Scrum, sản phẩm thực nghiệm được phát triển.
+ Thay đổi nhằm thúc đẩy việc làm
hiệu quả, có năng suất của đội Scrum và làm việc với chủ qui trình Scrum khác
để nâng cao sự hiểu quả của việc ứng dụng qui trình Scrum trong tổ chức.
Hình ảnh từ capgemini.com
|
0 nhận xét:
Đăng nhận xét