↓ Chuyển đến nội dung chính
bàn làm việc với tập tài liệu dự án
  1. Bài viết/

Documentation BA: nói miệng thì nhanh, bắt bug thì mất dấu

·
Đặng Đức Quân
Tác giả
Đặng Đức Quân
Chuyện nghề BA trong lĩnh vực sản xuất. Viết cho mình, và cho cả những ai đang muốn dấn thân vào con đường này.

Cập nhật lần cuối:

Dev báo bug, hỏi chỗ này hồi đó chốt thế nào anh, và bạn mở máy ra tìm mà không thấy gì, không phải vì tài liệu bị xóa, mà vì nó chưa bao giờ được viết, lúc triển khai mọi thứ toàn nói miệng trong họp hoặc gõ vội qua tin nhắn. Bài này mình viết từ chính mấy lỗi documentation mình đã mắc, chứ không phải từ sách.

những lỗi documentation mình đã mắc
#

Lỗi đầu tiên nghe rất tầm thường, bận quá nên quên gửi meeting note, theo mình cái giá của nó là người dự họp mỗi người nhớ một kiểu, mà chẳng có văn bản nào để đối chiếu.

Lỗi thứ hai là tài liệu không ghi version, không có lịch sử sửa, một file bị sửa nhiều lần như vậy thì nhìn vào chẳng biết bản nào mới nhất, ai sửa, sửa vì lý do gì.

Lỗi thứ ba là không lưu trữ tài liệu dự án cho đàng hoàng, không có chỗ lưu tập trung thì truy vết lại một quyết định khó vô cùng.

Hậu quả của cả ba dồn vào đúng một thời điểm, lúc dev bắt bug, mình cần tài liệu để đối chiếu mà không tìm được, vì hồi triển khai mọi thứ chỉ nói miệng hoặc nhắn tin, không có bằng chứng nào cho thấy yêu cầu đã được chốt ra sao.

Buồn cười là môi trường làm việc khá hiền hòa, không ai cãi nhau, nhưng không cãi nhau đâu có nghĩa là không mất thời gian, thiếu tài liệu thì người ta vẫn phải nhớ lại, đoán lại rồi mới fix được. Hiền hòa chỉ làm cái giá đó bớt ồn ào thôi.

vì sao nói miệng cho nhanh lại thành chậm
#

Theo mình nói miệng với nhắn tin chẳng có lỗi gì, chúng nhanh, tự nhiên, nhiều quyết định nhỏ đúng là nên chốt như vậy, vấn đề nằm ở chỗ quyết định đó không được đưa về một nơi chính thức sau khi chốt. Tin nhắn trôi rất nhanh, một tuần sau nó nằm dưới hàng trăm tin khác, vài tháng sau người trong cuộc có khi đã chuyển team hoặc nghỉ việc, lúc đó câu đã chốt gì không còn ai trả lời chắc được, bên nào cũng giữ một phiên bản trí nhớ của riêng mình.

Trong BABOK Guide v3, mảng này nằm trong phần quản lý vòng đời yêu cầu (requirements life cycle management), trong đó có traceability, tức là khả năng lần ngược từ một chức năng về yêu cầu gốc và quyết định đã sinh ra nó. Mình không dẫn nguyên văn ở đây, nhưng ý thì đơn giản, không lần ngược được thì bạn không biết một hành vi của hệ thống là bug hay là đúng như đã chốt.

viết tài liệu nhiều thì chậm, Agile mà
#

Đây là lý do phổ biến để không viết, và nó đúng một nửa. Agile Manifesto đặt phần mềm chạy được lên trên tài liệu đầy đủ, nhưng ưu tiên hơn không có nghĩa là bỏ hẳn, chỗ hiểu sai là đánh đồng documentation với việc viết một bộ tài liệu dày cho đẹp. Thứ cần giữ thật ra không nhiều, quyết định nào được chốt, ai chốt, khi nào, vì sao, vài dòng là đủ, còn thứ tốn thời gian thật không phải viết vài dòng đó, mà là lúc bắt bug phải ngồi tái dựng chúng từ trí nhớ của nhiều người.

Một kiểu hiểu sai khác là nghĩ tin nhắn cũng là bằng chứng rồi, về lý thuyết thì có, nhưng không ai tìm lại được thì cũng như không, bằng chứng phải nằm ở chỗ người khác biết mà tìm.

theo mình nên làm thế nào
#

Từ mấy lỗi trên, đây là những thói quen mình nghĩ BA nên giữ, quan điểm của mình thôi, bạn chỉnh theo dự án.

Đầu tiên là gửi meeting note trong ngày, kể cả khi chỉ có ba dòng, một meeting note ngắn gửi ngay có giá trị hơn một biên bản đầy đủ không bao giờ được gửi, chỉ cần ghi đã chốt gì, ai làm gì tiếp, còn câu hỏi nào mở, bận quá thì gửi bản nháp ghi rõ sẽ bổ sung, vẫn hơn im lặng.

Thứ hai là đưa quyết định từ tin nhắn về tài liệu chính thức. Giả sử key user nhắn bỏ bước duyệt thứ hai cho đơn dưới một mức tiền nào đó cũng được, việc của BA lúc đó là cập nhật vào tài liệu yêu cầu, ghi ngày và người đồng ý, rồi nhắn lại một câu xác nhận, tin nhắn vẫn là nơi trao đổi, còn tài liệu là nơi lưu kết luận.

Thứ ba là tài liệu nào cũng có version và lịch sử sửa, không cần công cụ xịn, một bảng nhỏ đầu file gồm số version, ngày, người sửa, nội dung thay đổi là đủ trả lời câu bản này khác bản trước ở đâu, cũng là tinh thần của configuration management, biết chính xác đang dùng bản nào.

Thứ tư là một chỗ lưu trữ duy nhất cả team đều biết, chứ không phải mỗi người một thư mục trên máy, dev hỏi tài liệu ở đâu thì câu trả lời nên là một đường dẫn, không phải để anh tìm lại đã.

Giả sử bạn làm đủ bốn việc này rồi dev báo bug, bạn mở tài liệu ra là thấy version nào chốt yêu cầu đó, ai đồng ý, ngày nào, cuộc nói chuyện chuyển từ hồi đó hình như sang đây là cái đã chốt, giờ mình xem có cần đổi không. Nhanh hơn, mà cũng nhẹ người hơn cho cả hai bên.

documentation đi cùng tài liệu nào
#

Còn rối giữa các loại tài liệu yêu cầu thì bài BRD, SRS, FS khác nhau thế nào giúp phân biệt nên ghi quyết định vào đâu, đội bạn làm theo user story thì đọc thêm use case và user story để thấy phần để làm gì cũng là một dạng bằng chứng, và tới giai đoạn kiểm thử thì kịch bản UAT trong dự án ERP là nơi tài liệu đã chốt được đem ra đối chiếu thật.

Documentation không phải giấy tờ cho sếp xem, nó là bằng chứng để sau này bạn, dev và khách khỏi phải đoán lại những gì đã chốt, bắt đầu từ việc nhỏ nhất là cuộc họp tiếp theo, gửi meeting note ngay trong ngày. Bạn đã bao giờ mất dấu một quyết định chỉ vì nó nằm trong tin nhắn chưa? Kể mình nghe qua Facebook hoặc LinkedIn nhé.

Bài viết liên quan

BPMN cho người mới: vẽ as-is/to-be từ ghi chú workshop

·
Giả sử bạn vừa bước ra khỏi buổi workshop hai tiếng với phòng mua hàng, cầm về tờ giấy chi chít chữ, ai gửi yêu cầu, ai duyệt, mức nào phải lên giám đốc, lúc nào thì chạy Excel ngoài, giờ phải vẽ lại thành một sơ đồ cho cả team nhìn chung một bức tranh, mở công cụ lên rồi đứng hình. Bài này đi từ đúng tờ giấy đó ra một sơ đồ BPMN dùng được, kèm mấy lỗi hay biến sơ đồ thành tranh treo tường.

BRD, SRS, FS khác nhau thế nào? Dự án thật dùng cái nào

·
Lỗi hay gặp của fresher với BRD, SRS, FS là thuộc lòng ba định nghĩa mà vẫn viết sai tài liệu. Giả sử ngày đầu đi làm bạn được giao viết SRS cho module này, trong khi tuần trước có người vừa gửi BRD, cả team thì cứ nói FS, ba cái tên mà câu hỏi thật chỉ có một, tài liệu này ai đọc và để quyết định việc gì.

ERD cho BA: đọc được sơ đồ dữ liệu mà không cần là dev

·
Lỗi hay gặp của BA mới với ERD là lướt qua luôn, coi đó là việc của dev, mà hậu quả thì tới muộn, viết yêu cầu xem lịch sử mua hàng của khách mà không biết dữ liệu nằm ở bảng nào, nên chẳng hỏi được mấy câu quan trọng kiểu một khách có thể có mấy địa chỉ giao hàng. Đọc ERD ở mức BA không cần biết code, chỉ cần bốn bước và một ví dụ.