Sự cần thiết
"Lắp bánh xe vào chạy nhanh hơn này" "Không, cảm ơn" "Đang bận làm rồi, nhà bao việc"
Mô hình phát triển phần mềm linh hoạt Agile có thể được mô tả có vòng đời như sau
Về tư tưởng, thì là chúng ta sẽ phát triển liên tục, thông qua cycle như hình minh hoạ. Sự liên tục tiến lên, cải thiện năng suất lao động để tạo ra sản phẩm là lặp lại theo vòng tròn. Trong số các bước này, nếu để ý chúng ta sẽ thấy bước quan trọng nhất để rút ra bài học là bước "LEARN". Có nghĩa là chúng ta phải dành thời gian ra để nhìn lại, và so sánh, đưa ra các hành động để cải thiện. Thì đó mới được coi là mô hình Agile
Trong mô hình phát triển Alige thì bước "LEARN" thể hiện qua hoạt động Retrospective. Vì vậy nó là vô cùng cần thiết nếu không muốn nói là "bắt buộc".
- Hiện nay đâu đó trong quá trình làm việc, các team đều có những hoạt động đánh giá, cải thiện khi gặp vấn đề, đó cũng có thể coi là một hình thức cải thiện, nhưng đôi khi mang tính rời rạc và không giải quyết triệt để vấn đề. Về thời điểm, cũng như cách tổ chức một cuộc meeting Retrospective để đạt được hiệu quả cao nhất, thì chúng ta đã có một quy chuẩn. Một hình thức đã được đúc rút ra từ nhiều kinh nghiệm của những người đi đầu trong lĩnh vực.
Các giai đoạn
Một cuộc họp Retrospective gồm có các giai đoạn như sau
Điều đó có nghĩa là cuộc họp phải trải qua đủ 5 giai đoạn như trên. Và trong mỗi giai đoạn lại có những hoạt động khác nhau để đưa ra được output cần thiết. Thời điểm tổ chức là sau khi kết thúc một sprint. Và thời lượng thì tuỳ thuộc vào sprint đó. Chúng ta có thể tham khảo về thời lượng như sau:
- Thời gian tổ chức Retrospective nói riêng hay thời gian tổ chức các cuộc họp nói chung là rất quan trọng. Người tổ chức phải đảm bảo các hoạt động nằm trong thời gian cho phép, và vẫn thu được các output mong muốn một cách tốt nhất. Để thực hiện được điều đó thì không phải là dễ. Nhưng nếu chúng ta có kiến thức về các hoạt động phù hợp cho từng giai đoạn, thì chúng ta có thể điểu khiển nó một cách dễ dàng, phù hợp.
1. Set stage
Giai đoạn đầu tiên nhằm "set stage", đưa mọi người tập trung vào cuộc họp. Nó không bao gồm các hoạt động thông báo thời gian, địa điểm. Mà mục đích chính là kéo sự tập trung của mọi người vào cuộc họp. Vì đôi khi, sẽ có những người tham gia, nhưng thường không tập trung và làm việc riêng. Như vậy giá trị của người đó trong cuộc họp không được cao.
Ví dụ về một hoạt động trong giai đoạn set stage: Check-in
- Mọi người lấy giáy bút, vẽ ra cảm xúc của mình trong ngày rồi dán lên bảng . . .
Mỗi giai đoạn của cuộc họp sẽ có 1 hoạt động. Sẽ có nhiều hoạt động khác nhau để chúng ta lựa chọn, thay đổi trong giai đoạn set stage, và cả các giai đoạn khác. Việc của chúng ta là lựa chọn cho phù hợp thời gian, số lượng người .... Có thể thao khảo tài liệu cuối bài viết
2. Gather data
Mục đích của "Gather data" là thu thập dữ liệu về ý kiến của mọi người đối với các sự kiện xảy ra trong sprint. Nếu 1 sprint là 1 tuần, thì 1 ngày đã tương ứng với 20% của sprint đó. Nếu ai bỏ lỡ thì cũng có thể bỏ lỡ 1 sự kiện nào đó quan trọng. Thứ 2 là mỗi sự kiện xảy ra thì đối với mỗi người sẽ có những cảm xúc khác nhau, hay là sự ảnh hưởng của sự kiện đó lên mỗi người là khác nhau. Có thể lấy ví dụ như là thay đổi thành viên trong nhóm, thực hiện thay đổi 1 công nghệ mới, .... Vi vậy nên chúng ta phải thu thập, để có 1 bức tranh tổng thể về sự ảnh hưởng của các sự kiện xảy ra trong sprint
Ví dụ về hoạt động có thể làm trong giai đoạn gather data: Glad, Sad, Mad
- Lấy giấy bút và ghi ra các sự kiện và dán lên các cột tương ứng
3. Generate Insight
- Đây là lúc chúng ta phân tích "tại sao" từ các dữ liệu thu thập được, và làm nổi bật các việc quan trọng cần làm trước. Và đây cũng là lúc team cùng thảo luận về một vấn đề, thấu hiểu các quan điểm từ mỗi người. Hoạt động ví dụ:
- Phần tích 5 WHy về 1 sự kiện
- Đánh gia độ ưu tiên với Prioritiz with dots
4. Decice What to do
- Đến giai đoạn này thì chúng ta đã có danh sách các việc cần phải làm từ stage trước. THường sẽ là chon 1 hoặc 2 action để áp dụng vào iteration tiếp theo với độ ưu tiên cao nhất. Và đưa ra kế hoạch thực hiện.
- Ví dụ thực hiện: Smart Goal
- Chỉ định rõ các vấn đề cần thực hiện, người liên quan, kế hoạch B thay thế, thời gian thực hiện là bao giờ?
5. Close retrospective
- Mục tiêu của stage này là trước khi kết thúc buổi họp. CHúng ta sẽ giữ vững tinh thần cao để áp dụng các action cải thiện cho sprint tới. Và phải tracking nó để biêtts được sự hiệu quả. Và khi mọi người rời cuộc họp thì đã biết cần phải làm gì.
- Ví dụ : ROTI
- Tham vấn mực độ đánh giá của từng người trong buổi retrospective, đề nghị mọi người biểu quyết con số về độ hài lòng trong thang điểm 5.
Kết luận
Retrospective là một hoạt động nhằm cải tiến hiệu quả làm việc, gắn kết team với nhau. Tuy nhiên để thực hiện 1 cách hiệu quả nhất với từng team cũng cần đòi hỏi người tổ chức phải có kinh nghiệm thực hiện. Hi vọng mọi người sẽ áp dụng để có thể nâng cao khả năng của team qua từng sprint. Các hoạt động có thể tham khảo: