1. Trang chủ
  2. » Kinh Tế - Quản Lý

Quy trình SCRUM

10 973 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 517,34 KB

Nội dung

Giới thiệu:1.1 Định nghĩa: - Scrum là một phương thức phát triển phần mềm chỉ ra cách để Team nhóm phát triển làm việc một cách hiệu quả để tạo ra sản phẩm phần mềm.. Với nguyên tắc chủ

Trang 1

QUY TRÌNH SCRUM

Phiên bản 1.0

Được viết bởi Nhóm 8

09/10/2014

Trang 2

Mục lục

Lịch sử sửa chữa các phiên bản

Tên Ngày tháng Lý do thay đổi Phiên bản

1.0 approved

Tài liệu tham khảo

• http://hanoiscrum.net/hnscrum/article/91-nam-phut-vi-scrum

• http://www.vntesters.com/tong-quan-scrum/

• http://tech.blog.framgia.com/vn/?p=808

• http://iviettech.vn/blog/283-co-ban-ve-scrum.html

• http://duongtrongtan.wordpress.com/2012/03/29/v%E1%BB%81-ba-tr%E1%BB%A5-c

%E1%BB%99t-c%E1%BB%A7a-scrum-va-s%E1%BB%B1-hi%E1%BB%87u-qu

%E1%BA%A3-c%E1%BB%A7a-t%E1%BB%95-ch%E1%BB%A9c/

Trang 3

1 Giới thiệu:

1.1 Định nghĩa:

- Scrum là một phương thức phát triển phần mềm chỉ ra cách để Team (nhóm phát triển) làm việc một cách hiệu quả để tạo ra sản phẩm phần mềm Với nguyên tắc chủ đạo là chia nhỏ phần mềm cần sản xuất ra thành các phần nhỏ để phát triển (các phần nhỏ này phải đọc lập

và Release được), lấy ý kiến khách hàng và thay đổi cho phù hợp ngay trong quá trình phát triển để đảm bảo sản phẩm release đáp ứng những gì khách hàng mong muốn

- Cũng có thể nói Scrum là một Framework đơn giản để phát triển phần mềm, trong đó nó qui định một số qui luật cơ bản nhằm đảm bảo tạo ra cấu trúc của nhóm dự án và giữ cho nó phát triển, sáng tạo và tạo ra sự hấp dẫn đối với những người tham gia

- Scrum vận hành dựa trên đặc tính tư nhiên của người phát triển nên rất dễ hiểu, dễ áp dụng, tạo nên tính tương tác cao giữa những lập trình viên trong nhóm và cùng nhau tạo ra những sản phẩm tốt Thay vì chịu sự áp đặt từ bên ngoài

- Scrum được chia thành nhiều “đơn vị công việc” nhỏ hơn có tên là “Sprint”.

1.2 Khung làm việc của Scrum (Scrum Framework) có gì?

- Các giá trị cơ bản trong Scrum được gọi là “Ba chân của Scrum” bao gồm “minh bạch”,

”thanh tra” và “thích nghi”

- Ba chân của Srum: Giúp cơ chế kiểm soát tiến trình thực nghiệm (empirical process control)

có thể vận hành trơn tru

- Scrum Framework luôn đảm bảo thông tin (vấn đề, giải pháp, sáng kiến) được “minh bạch”

và thông suốt cho toàn bộ tổ chức, nhằm mang lại khả năng ra quyết định tối ưu nhất để giải quyết công việc, nhằm đạt hiệu quả cao nhất Trong quá trình phát triển, Scrum luôn đảm bảo nhóm phát triển tích cực tìm kiếm thông tin (vấn đề, giải pháp, ý tưởng v.v.) thông qua

cơ chế “Thanh tra” đều đặn và liên tục (trong Daily Scrum, họp Sơ kết, hay họp

Retrospective); từ đó mở đường cho các chiến lược và hành động “Thích nghi”, nhằm thích ứng với các thay đổi, đạt năng suất tối ưu, mang lại lợi ích tối đa cho dự án Xuất phát từ cái lõi là "Ba chân", khung làm việc Scrum còn xây dựng các cơ chế, công cụ và phương pháp thực hành để đảm bảo cho các giá trị cốt lõi đó được phát huy Trong Scrum, chúng được biết đến với các thuật ngữ như Đội hình Scrum (Scrum Team) với các vai trò (ScrumMaster, Product Owner và Đội sản xuất); các Hộp thời gian (Họp kế hoạch Sprint, Sprint, Họp Scrum hằng ngày, Sơ kết Sprint, Rà soát - Cải tiến Sprint); các Đồ nghề (Sprint Backlog, Product Backlog và Biểu đồ Burndown) và các Quy tắc Scrum ( mô tả rõ các thành tố trong Scrum framework được dùng như thế nào, giới hạn ra sao, nhằm mục đích gì v.v.) gắn kết các yếu tố lại với nhau

Trang 4

1.3 Một số đặc tính của Scrum:

- Tập trung vào sản phẩm, sản phẩm mới là đích cuối cùng chứ không phải qui trình

- Thích ứng nhanh với sự thay đổi yêu cầu

- Nhấn mạnh vai trò của Team, Team mới là người đưa ra giải pháp và thực hiện nó

- Tạo nên sự tương tác cao giữa khách hàng, nhóm phát triển sản phẩm để chắc chắn sản phẩm đầu ra đúng với yêu cầu của khách hàng.

1.4 Một số kĩ thuật được sử dụng trong Scrum:

- Evolution Design

- Refactoring

- Agile Estimation

- Pair Programming

- Continuous Integration

- Test – driven Development

Trang 5

1.5 Tại sao nên sử dụng Scrum?

- Sản phẩm của mối dự án phần mềm không giống nhau nên việc áp dụng để phát triển hàng loạt là rất khó khăn Do vậy, nếu để có một qui trình chi tiết áp dụng được để phát triển cho tất cả các sản phẩm thì đó là một tác phẩm đồ sộ và tốn kém Giả sử có một qui trình như vậy thì việc nhớ để áp dụng nó một cách hiệu quả cũng là một thách thức lớn.

- Phần mềm là một sản phẩm phức tạp nên ngay từ đầu khách hàng khó có thể hình dung đầy đủ các yêu cầu đặt ra cho sản phẩm mà phải qua quá trình phát triển những chi tiết

ấy mới hình thành nên việc ứng phó tốt với những thay đổi yêu cầu sẽ giúp giảm bớt rủi

ro Scrum đáp ứng rất tốt cho vấn đề này.

- Như chúng ta đã nói ở trên quá trình phát triển phần mềm khá phức tạp và có nhiều khác nhau giữa các sản phẩm nên nếu không trực tiếp tham gia sản xuất sẽ rất khó hiểu hoặc hiểu không đúng Do vậy, hãy để cho Team phát triển quyết định giải pháp cho sản phẩm và khách hàng quan tâm đến chức năng của sản phẩm để đáp ứng nhu cầu của họ

là tốt nhất.

- Khách hàng nên tham gia vào quá trình phát triển phần mềm để đảm bảo sản phẩm đầu

ra đáp ứng nhu cầu phát triển của mình.

- Một số tổ chức trên scrumalliance.org thống kê rằng trước khi áp dụng SCRUM tỷ lệ thành công của các dự án lớn chỉ 40% nhưng sau khi áp dụng SCRUM tỷ lệ này đã tăng lên 80%.

2 Các vai trò trong Scrum:

Trang 6

Chủ sản phẩm (Product owner):

Là người chịu trách nhiệm về sự thành công của dự án, người định nghĩa các yêu cầu và đánh giá cuối cùng đầu ra của các nhà phát triển phần mềm.

Chịu trách nhiệm cho việc quản lý Product Backlog.

Không phải là Quản lý dự án (Project Manager).

Scrum Master:

Là người có hiểu biết sâu sắc về Scrum và đảm bảo nhóm có thể làm việc hiệu quả với Scrum Công việc đặc thù: loại bỏ trở lực.

Không phải là Quản lý dự án (Project Manager).

Đội sản xuất (Development Team):

Một nhóm liên chức năng (cross-functional) tự quản lý để tiến hành chuyển đổi các yêu cầu được

tổ chức trong Product Backlog thành chức năng của hệ thống, sẵn sàng chuyển giao ở cuối mỗi Sprint.

3 Các công cụ của Scrum:

Scrum sử dụng các công cụ rất đơn giản nhưng hiệu quả để trợ giúp công việc Chúng bao gồm

bản yêu cầu của chủ sản phẩm được gọi là Product backlog, bản kế hoạch của từng Sprint (Sprint Backlog) và biểu đồ Burndown Chart.

3.1 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)

Trang 7

3.2 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)

Hình 2: Ví dụ về một Sprint Backlog

3.3 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

Trang 8

Hình 3: Ví dụ về một Burndown Chart

4 Quy trình vận hành của Scrum và các hoạt động:

Quy trình bao gồm 5 hoạt động chính:

- Sprint planning meeting

- Sprint lifecycle

- Daily meeting

- Sprint Review

- Sprint retrospective

Trang 9

- Sau khi có bảng Product Backlog, nhóm sẽ chọn ra “User story” mà đảm bảo rằng sẽ hoàng thành đúng hạn từ bảng đó

- Tạo Sprint Backlog trong đó có những “user story” được chọn và thiết lập mức độ ưu tiên

4.2 Sprint Lifecycle:

- Sau khi có Sprint Backlog, nhóm Scrum sẽ chọn các “User Story” và ước lượng thời gian phù hợp cho mỗi sprint

- Với mỗi Sprint, nhóm sẽ thực thi như là một mô hình Waterfall thu nhỏ

4.3 Daily Meeting:

- Mỗi buổi họp thường kéo dài 15 đến 30 phút

- Nội dung của buổi họp xoay quanh 3 câu hỏi:

 Hôm qua bạn làm được gì?

 Hôm nay bạn sẽ làm gì?

 Bạn gặp khó khăn gì?

- Nhóm phát triển sẽ tham gia buổi họp này Khách hàng cũng có thể tham dự nhưng chỉ những người trong nhóm phát triển mới được đưa ra quyết định

4.4 Sprint Review:

- Nội dung của buổi họp bao gồm mọi thứ nhóm đạt được sau mỗi Sprint

- Các thành viên sẽ trình bày không quá 2 tiếng

- Và mọi người sẽ đánh giá dựa trên những mục tiêu ban đầu đề ra

- Thành viên tham dự: Những người có liên quan

4.5 Sprint Retrospective:

- Được thực hiện sau Sprint review

- Các thành viên tham dự: Những người có liên quan

- Mục đích của buổi họp là rút ra được kinh nghiệm gì và cải thiện ra sao

- Có thể sẽ có thêm User story mới và sẽ được đưa vào Product backlog

5 Ưu, khuyết điểm của Scrum:

5.1 Ưu điểm:

Trang 10

- Vai trò của PO rất quan trọng, PO là người định hướng sản phẩm Nếu PO làm không tốt sẽ ảnh hưởng đến kết quả chung

- Khi phát triển dự án theo Scrum thì dự án sẽ không có detail design Do vậy mỗi thành viên của dự án cũng sẽ là một người thiết kế hệ thống Do vậy nếu phối hợp không tốt thì có thể dẫn đến việc sản phẩm rất khó "sửa chữa" (thực tế ở VN, không có nhiều dự án có detail design)

Ngày đăng: 26/11/2014, 22:38

Xem thêm

HÌNH ẢNH LIÊN QUAN

Hình 2: Ví dụ về một Sprint Backlog - Quy trình SCRUM
Hình 2 Ví dụ về một Sprint Backlog (Trang 7)
Hình 3: Ví dụ về một Burndown Chart - Quy trình SCRUM
Hình 3 Ví dụ về một Burndown Chart (Trang 8)

TỪ KHÓA LIÊN QUAN

w