Scrum là gì?

Scrum có thể là một cái tên quen thuộc đối với hầu hết những nhà phát triển phần mềm. Đã có vô số lời khen dành cho Scrum, vì cách tiếp cận đơn giản và vô cùng hiệu quả của nó trong quy trình sản xuất phần mềm. Có thể các bạn đang làm việc với Scrum, có thể không, nhưng liệu các bạn có thực sự hiểu Scrum là gì? Và tại sao lại nên áp dụng nó trong quá trình phát triển phần mềm? Trong bài viết này tôi sẽ giới thiệu với các bạn những điều cơ bản về Scrum dưới góc nhìn của tôi.

Scrum thực ra chỉ là một trong những cách hiện thực của Agile vào quy trình phát triển phần mềm. Vậy Agile là gì? Agile là cách thức làm phần mềm linh hoạt sử dụng một tập hợp các phương thức phát triển lặp đi lặp lại để làm sao đưa sản phẩm đến tay người dùng càng nhanh càng tốt và ở một khía cạnh nào đó nó được xem như là sự cải tiến khi đặt cạnh những mô hình cũ như  Waterfall hay CMMI.

Ngoài ra còn có một số cách hiện thực khác để sử dụng Agile trong quy trình phát triển như Kanban hay Extreme programming, có thể tôi sẽ nói về chúng trong những bài viết tới. Tất cả các cách hiện thực này đều mang trong mình những quy tắc chung về cách mà mọi người làm việc với nhau trong team như:

  • Làm hài lòng khách hàng
  • Bàn giao sản phẩm một cách định kì và thường xuyên
  • Business team và development team làm việc cùng nhau
  • Đo lường kết quả dựa trên tỉ lệ hoàn thành công việc
  • Cho phép các team tự quản, không cần team leader
  • Phản ánh thường xuyên về tiến độ công việc, cái gì làm, cái gì không

Trong thực tế, Scrum được tối ưu hoá để team làm việc trong dự án có thể chia nhỏ thành nhiều thành phần công việc dựa trên chức năng sẽ được bàn giao trong một khoảng thời gian cố định như một hay hai tuần làm việc, còn được gọi là sprint trong Scrum. Scrum sử dụng thuật ngữ story để mô tả các thành phần chức năng đó, và team sẽ phải ước tính xem mất bao nhiêu effort để hoàn thành một story.

Không giống như các cách tiếp cận phát triển phần mềm truyền thống, Scrum không cần thiết việc một mình Product Manager phải hoàn chỉnh các tài liệu về yêu cầu khách hàng hay chi tiết kĩ thuật dài loằng ngoằng, mà tất cả đều phải được toàn team thông qua.

Scrum đủ linh hoạt để một team có thể bắt đầu chỉ bằng một story đơn giản, có thể giữ cho team bận rộn vài tuần liền. Trong thời gian đó, nếu có phản hồi mới từ người dùng, sự thay đổi về thị trường, bất cứ thông tin gì mới đến từ nội bộ hay bên ngoài dự án, hay thay đổi về mặt công nghệ thì story mới sẽ được đưa ra và triển khai trong một vài tuần tiếp theo.

Scrum cũng ủng hộ việc thường xuyên giao tiếp mặt đối mặt trong team. Điều này thường được áp dụng bằng cách tổ chức daily meeting, có thể chỉ là stand up meeting trong nhóm để các thành viên có thể nói cho nhau biết về việc họ đã làm ngày hôm qua, việc họ sẽ làm trong hôm nay cũng như các vấn đề mà họ đã gặp phải hoặc sẽ gặp phải. Ngoài ra Scrum cũng khuyến cáo nên có meeting cho việc lập kế hoạch, demo, và nhìn lại quá trình làm việc (retrospective) trong mỗi sprint.

Việc thực hành daily meeting nghe thì có vẻ xa xỉ, và tốn thời gian đối với developer, tuy nhiên, nó sẽ được tinh chỉnh bởi Scrum master để phù hợp với dự án trong quá trình làm việc, thường thì daily meeting sẽ không bao giờ được quá 15 phút.

Tóm lại, các bạn có thể hiểu Scrum là một cách hiện thực Agile để đưa sản phẩm đến với khách hàng càng nhanh càng tốt, với việc tối ưu hoá quá trình phát triển bằng cách chia ra thành nhiều sprint, dự trên các story được đưa ra bởi cả team thông qua các meeting, cũng như thực hiện daily meeting để toàn team có thể nắm tình hình làm việc chung và giải quyết các vấn đề gặp phải, tất cả mọi thứ đều được giám sát bởi Scrum master, và họ sẽ tinh chỉnh cũng như đưa ra những câu hỏi cho team để làm cho quy trình phát triển trở nên tốt hơn và phù hợp hơn với tình trạng dự án.

Hy vọng, qua bài viết nho nhỏ này các bạn đã hiểu Scrum là gì, cũng như cách áp dụng Scrum trong thực tế, nếu có bất cứ chia sẻ hay ý kiến gì, đừng ngại chia sẻ ở phần comment nhé!

Advertisements

One thought on “Scrum là gì?

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s