Một chiều cuối tháng 3, đang trong niềm vui khi 1 con dự án team tôi làm đã bàn giao xong, chỉ còn đợi khách hàng chuyển tiền, bỗng xếp kéo tôi vào phòng họp để nói về con dự án mới.
Sau một hồi nghe sếp trình bày, tôi loáng thoáng hiểu được bối cảnh. Về độ lớn thì có vẻ đây là dự án project base thuộc loại to nhất nhì của công ty vào thời điểm đó. Điều đó không làm tôi băn khoăn mấy, mà điểm đáng chú ý là đây lại là 1 dự án về react native. Phải nói rằng thời điểm đấy trong công ty chỉ có duy nhất 1 ông dev android có tầm 1 năm code react native và đâu đó 1 cộng tác viên có 6 tháng code react native. Dự án này cần ít nhất 4 dev cứng, code trong 3 tháng, còn sếp dúi cho tôi 1 ông 1 năm kinh nghiệm react native và 3 ông php =]].
Khủng hoảng về nhân sự, deadline sát, mà nghiệp vụ dự án thì cũng không phải bình thường, khách hàng cũng không phải kiểu chuyên nghiệp dễ làm việc… Cơ mà thôi, liều làm luôn, sợ gì?! Ở cái công ty này đâu chỉ tôi liều, nghe cái chỉ tiêu doanh thu năm sau x2 năm trước đã thấy liều phải biết, thế mà nó duy trì được mấy năm rồi đấy!
Nói là thế nhưng không thể phủ nhận một điều. Nếu dự án thành công, ngoài tiền dự án, thì công ty còn thu được một thứ mà tôi nghĩ là ý nghĩa hơn nhiều. Đấy là phổ cập được react native, giải quyết được cơn khát năng lực gia công trên mảng mobile của công ty!
Hai sprint đầu của dự án trôi qua khá êm thấm, team đã quen với công nghệ mới. Nhưng đến sprint thứ 3 một vấn đề bắt đầu phát sinh, không phải về kĩ thuật, mà xuất phát từ 1 nơi rất ít khi xảy ra vấn đề (theo kinh nghiệm của tôi là thế): vị trí PO. PO của team là người của công ty khách hàng, nắm rất rõ về sản phẩm nhưng mù tịt về quy trình Scrum, điều này dẫn đến chất lượng của Product Backlog cũng như tính cam kết về Sprint Goal rất mông lung. Một Product Backlog có thể sẽ bị chỉnh sửa bất kỳ lúc nào, hoặc nếu nó giữ nguyên thì cũng sẽ bị lệch so với yêu cầu cuối cùng của khách hàng, mà yêu cầu của khách hàng thì thay đổi xoàng xoạch. Bản thân ông PO này cũng chả quan tâm mấy về việc giữ vững yêu cầu cho đến hết mỗi sprint, dù cho team trao đổi, giải thích hay kêu gọi tiếng nói từ vị trí có thẩm quyền cao hơn đi chăng nữa..
Oke vấn đề, có vấn đề thì team sẽ cùng nhau giải quyết. Một loạt giải pháp được đưa ra và tiến hàng trong các buổi họp team, mục đích là tìm 1 người khác đảm đương vị trí PO này. Từ phương án xin cấp thêm 1 PO xịn xò (bị gạt phắt đi vì chả còn ai rảnh), tới phương án tận dụng team member, hay là SM kiêm luôn PO, đều đã được cân nhắc đến. Hàng loạt cải tiến, yêu cầu trợ giúp, tư vấn, cũng như checklist được team đưa ra nhằm chắp vá lấy cái lỗ hổng PO. Cuối cùng cũng chả đưa tới mấy tác dụng.
Một loạt hậu quả xuất hiện. Các buổi Sprint Preview trở nên kém chất lượng hay có thể nói là fake, vì căn bản ông PO chính là team member dựng lên thì làm sao có cái nhìn đứng trên lập trường của khách hàng được. Bug dần nhiều lên, team có dấu hiệu stress với sự bất ổn của requirement, cũng như không biết bao giờ task của mình chính thức done. Và tất nhiên, lời kêu cứu của team với xếp hàng tuần cũng chả mang lại gì, vì xếp cũng chả đào đâu ra được 1 ông PO cho team được(sếp hay bị sếp tổng chửi, kể cũng tội mà thôi cũng kệ :P). Start con dự án này mà không có PO hiểu biết về Scrum là sai lầm chí mạng!
Thời thế xuất anh hùng, tất nhiên PO ko xuất hiện, cơ mà team đã xuất hiện những cá nhân làm việc quên mình, không quản ngày đêm(đúng nghĩa đen luôn), kéo dự án sống sót hết sprint này qua sprint khác, dù rằng khá chật vật.
Đen thay, đời không như là mơ, khi tôi tưởng rằng team có thể lê lết tới lúc dự án kết thúc, thì sếp lại thông báo tôi 1 tin dữ. Thời gian làm dự án kéo dài, nên theo kế hoạch, nhân sự sẽ bị cắt hết sang dự án mới, một dự án ODC quan trọng hơn, chỉ giữ lại đúng 1 người. Và tôi cũng bắt đầu phải quay sang ôm 1 con dự án react khác cũng đang trong tình trạng thoi thóp (dự án 10mm, nhiều kỹ thuật khó, chỉ có 1 dev và muốn xong trong 2 tháng :v).
Và thế là cái vòng luẩn quẩn địa ngục bắt đầu: khó khăn -> trễ deadline -> cắt người -> lại khó khăn thêm -> lại trễ…
Bằng nhiều sự giúp đỡ quý báu đến từ đội design, và nỗ lực cảm tử của những team member còn lại, sau nhiều đêm, nhiều ngày cuối tuần ăn dầm ngủ dề ở công ty, đến giờ thì cả 2 dự án trên 1 cái thì đã vào khâu thu tiền, 1 cái thì đợi nốt thủ tục đưa lên store. Cơ mà so với cái deadline lúc đầu thì quả thật trễ rất rất rất xa.
Không sợ công nghệ khó, chỉ sợ team không có PO!
Ps: Có thể bài viết ngập tràn màu sắc đổ lỗi, nên nếu có ý kiến đóng góp xin cả nhà comment để mình và team rút kinh nghiệm. Cơ mà đen thay trong 5 tháng team vật lộn không một ý kiến nào đóng góp có thể giúp team.