SCRUM PROCESS

by 00:37 0 nhận xét

ĐỒ ÁN MÔN HỌC
    NHẬP MÔN CÔNG NGHỆ THÔNG TIN
 

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


Unknown

Developer

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

0 nhận xét:

Đăng nhận xét