Tìm hiểu về Scrum

1. Tìm hiểu về Agile

Khi nhắc đến Agile nhiều người cứ lầm tưởng đó là một mô hình phát triển phần mềm và gọi nó với cái tên "Mô hình Agile". Tuy nhiên Agile không phải là một mô hình mà Agile là một tư tưởng phát triển phần mềm linh hoạt để làm sao đưa sản phẩm đến tay người dùng càng sớm càng tốt.

Khác với những phương phát phát triển truyền thống đưa toàn bộ sản phẩm vào phát triển cùng lúc thì Agile phát triển phần mềm hương hướng chia nhỏ phần mềm ra

4 Corevalues của Agile

  • Các cá nhân và tương tác hơn là quy trình và công cụ
  • Phần mềm chạy tốt hơn là tài liệu đầy đủ
  • Cộng tác vs KH hơn là đàm phán hợp đồng
  • Phản hồi với các thay đổi hơn là bám sát kế hoạch

Bên cạnh đó các nhà phát triển còn nhấn mạnh 12 nguyên lý để có thể vận hành tốt nhất

Có rất nhiều Framework(khung làm việc) làm việc dựa trên tư tưởng Aglie và Scrum là một trong những Framework sử dụng Agile nhiều nhất

2. Tìm hiểu về Scrum

Scrum là một Framework(khung làm việc) về quy trình và quản lý giúp giải quyết các vấn đề phức tạp, nhưng vẫn đảm bảo tính hiệu quả, sáng tạo và sản phẩm được tạo ra phải đạt được giá trị cao nhất.

Mô hình Scrum theo tư tưởng Agile sẽ chia sản phẩm thành các phần với các chức năng riêng, gọi là Sprint (Sprint là một phân đoạn lặp đi lặp lại trong quy trình phát triển phần mềm, thường có khung thời gian ngắn (từ 1 đến 4 tuần)). Một Sprint phát triển một hay một số chức năng hoàn chỉnh. Các Sprint này sẽ nằm trong các vòng lặp, với đầy đủ 1 quy trình phát triển phần mềm hoàn chỉnh. Kết thúc một Sprint ta có thể trình bày chức năng đó cho khách hàng

2.1. Những vai trò trong Scrum

PO: Product owner là đại diện chuẩn bị và tham gia Lập kế hoạch Sprint, Đánh giá Sprint Xác định các tính năng của sản phẩm. Hay nói cách khác PO là người chịu trách nhiệm về sản phẩm

  • Chịu trách nhiệm về lợi nhuận của sản phẩm (ROI)
  • Ưu tiên các tính năng theo giá trị thị trường
  • Điều chỉnh các tính năng và ưu tiên sự phát triển
  • Chấp nhận hoặc từ chối kết quả công việc

Scrum master:

  • Là người master về Scrum
  • Đảm bảo đội dự án phát triển theo đúng mô hình Scrum
  • Loại bỏ các trở ngại ảnh hưởng đến đội dự án
  • Support team khi cần về vật chất cũng như tinh thần
  • Bảo vệ đội khỏi các can thiệp từ bên ngoài

Development Team:

  • Dev, QA gồm từ 3-9 người theo công thức 6+-3
  • Code, test, phân tích tài liệu, viết TCs....

Ngoài ra còn có một vai trò khác StakeHolder

  • Người dùng cuối
  • Nhà tài trợ dự án
  • Những người bạn cần giao tiếp để hoàn thành dự án
  • Những người bị ảnh hưởng trực tiếp bởi việc thực hiện dự án
  • Chuyên gia về chủ đề và tên miền

2.2 . Những cuộc họp trong Scrum

Planning meeting: Cuộc họp diễn ra vào đầu mỗi sprint. Thường kéo dài 4h cho sprint 2 tuần và 8h cho sprint 4 tuần. Cuộc họp sẽ dễn ra vào Trong buổi họp này product owner sẽ trình bày mục tiêu và các công việc cần làm trong sprint. Sau đó đội phát triển sẽ thảo luận, đặt câu hỏi cũng như ước lượng thời gian và định ra những công việc cần phải làm. Thành phần tham gia bao gồm tất cả các thành viên của team.

Daily meeting: Buổi họp này thường diễn ra ngắn khoảng 15 phút, cố định về thời gian, địa điểm họp. Thường diễn ra vào đầu ngày làm việc. Và các thành viên sẽ đứng thành vòng tròn đối mặt với nhau. Trong cuộc họp này, từng người trong nhóm phát triển lần lượt báo cáo để trả lời cho 3 câu hỏi sau: Hôm qua đã làm gì? Hôm nay sẽ làm gì? Có vấn đề gì không?

Review meeting: Khi nhắc đến cuộc họp này chúng ta nhớ đến 2 keyword Demofeedback Vào cuối mỗi Sprint, nhóm sẽ trình bày những phần mình đã làm được trong Sprint hay còn gọi là demo trên sản phẩm thật và nhận lại các feedback. Cuộc họp sẽ giúp đánh giá xem nhóm có đạt được mục tiêu đề ra ở buổi họp kế hoạch Sprint hay không.

Retrospective meeting: Họp cải tiến diễn ra ngay sau buổi họp review.Họp review là chúng ta review sản phẩm. Hay nói cách khác demo và nhận feedback về sản phẩm. Về cơ bản, buổi họp sẽ xoay quanh trả lời những câu hỏi: Những việc nào chúng ta nên bắt đầu làm ? Những việc nào chúng ta không nên làm tiếp? Những việc nào chúng ta nên duy trì?

3. Ưu điểm của Scrum so với các mô hình truyền thống

Nếu Waterfall hay V- model đưa toàn bộ sản phẩm vào phát triển cùng một lúc và sau khi kết thúc sẽ giao tới tay khách hàng một sản phẩm hoàn thiện về tất cả các chức năng thì Scrum lại chia nhỏ sản phẩm thành từng phần để đưa vào các giai đoạn phát triển. Mỗi sprint phía nhà phát triển sẽ chỉ triển khai một vài chức năng chính có độ ưu tiên cao của phần mềm. Sau đó sẽ demo và nhận feedback từ khách hàng cho những tính năng đã phát triển. Vậy ưu điểm của Scrum so với các mô hình truyền thống là gì

  • Đưa sản phẩm tới tay khách hàng nhanh hơn
  • Nhận lại các feedback sớm hơn
  • Nếu có thay đổi về requirement thì cũng sẽ không ảnh hưởng tới toàn bộ hệ thống. Thay đổi chức năng nào chúng ta update tính năng ấy
  • So với mô hình truyền thống sau khi sản phẩm đã hoàn thiện rồi mới đưa tới tay người dùng có gì thay đổi thì lúc đó lại phải quay lại chỉnh sửa toàn bộ sản phẩm
  • Tiết kiệm thời gian, chi phí và công sức sửa lỗi hơn nếu có sự thay đổi so với mô hình truyền thống
  • Waterfall người tester chỉ bắt đầu tham gia vào dự án sau khi kết thúc giai đọạn Coding, lúc đó mới bắt đầu nghiên cứu tài liệu, viết TCs... còn trong Scrum người Tester sẽ tham gia ngay từ đầu dự án khiến cho các lỗi cũng được phát hiện và khắc phục sớm nhất

Link tài liệu tham khảo:

https://www.tutorialspoint.com/scrum/

All Rights Reserved