Ai sẽ đọc tài liệu? Tài liệu này sẽ được sử dụng để làm gì? Đây là những câu hỏi quan trọng nhất để trả lời. Ví dụ: tài liệu dành cho nhà phát triển bảo trì sẽ tập trung nhiều hơn vào cấu trúc trong khi tài liệu dành cho nhà phát triển tích hợp với sản phẩm sẽ tập trung nhiều hơn vào dịch vụ web và cấu trúc cơ sở dữ liệu.
Nói chung, làm nhiều tài liệu theo yêu cầu và không hơn. Nhiều tổ chức yêu cầu tài liệu vì ai đó khăng khăng đó là cách thực hành tốt nhất nhưng tài liệu cuối cùng lại thu thập bụi.
Giả sử rằng mọi người sẽ thực sự sử dụng tài liệu, đừng cố nắm bắt mã và cơ sở dữ liệu ở mức nhỏ nhất. Các nhà phát triển sẽ xem xét mã cho minutiae. Thay vào đó, hãy tập trung vào các chi tiết không rõ ràng trong mã , ví dụ:
- Các trường hợp sử dụng sản phẩm đáp ứng. Điều này có thể khó khăn khi xem xét tuổi của sản phẩm nhưng việc nắm bắt ý nghĩa của sản phẩm sẽ mang lại bối cảnh quan trọng cho người đọc và người thử nghiệm phi kỹ thuật. Các đối thủ cạnh tranh trên thị trường (nếu có) là ai? Có bất cứ điều gì loại trừ khỏi phạm vi của sản phẩm?
- Bất kỳ yêu cầu phi chức năng rõ ràng . Ví dụ, sản phẩm được viết để xử lý một khối lượng nhất định? Dữ liệu có thể bao nhiêu tuổi? Bộ nhớ đệm được sử dụng ở đâu? Người dùng được xác thực như thế nào? Kiểm soát truy cập hoạt động như thế nào?
- Một sơ đồ ngữ cảnh hiển thị tương tác với các hệ thống khác, chẳng hạn như cơ sở dữ liệu, nguồn xác thực, sao lưu, giám sát, v.v.
- (Nếu biết) Rủi ro và cách chúng được giảm nhẹ cùng với đăng ký quyết định . Điều này có lẽ khó khăn khi nhìn lại nhưng thường có những quyết định quan trọng ảnh hưởng đến một thiết kế. Nắm bắt bất cứ điều gì bạn biết.
- Các mẫu thiết kế phổ biến hoặc hướng dẫn thiết kế . Ví dụ, có một cách tiêu chuẩn để truy cập cơ sở dữ liệu? Có một tiêu chuẩn mã hóa hoặc đặt tên?
- Đường dẫn mã quan trọng , thường sử dụng biểu đồ luồng hoặc hoạt động UML hoặc sơ đồ trình tự. Có thể không có bất kỳ dự án nào nhưng đây thường là những người dùng doanh nghiệp đã khớp nối.
Ngay cả khi tất cả thông tin này không có sẵn, hãy bắt đầu ngay bây giờ . Các nhà phát triển đến sau bạn sẽ cảm ơn bạn.
Các bài kiểm tra đơn vị tự động tốt hoặc các trường hợp kiểm thử cũng có thể là tài liệu hữu ích, mặc dù khó truy cập cho những người ít kỹ thuật.
Có vẻ như bạn cần thực hiện một thay đổi văn hóa để bao gồm tài liệu . Bắt đầu nhỏ nhưng, lý tưởng nhất, dự án không nên được "thực hiện" cho đến khi nó có ít nhất một mức độ tài liệu tối thiểu. Đây có lẽ là bước khó nhất vì trên đây là những điều bạn có thể kiểm soát. Đây là thứ người khác phải mua vào. Tuy nhiên, nó cũng có thể là phần thưởng xứng đáng nhất, đặc biệt nếu dự án tiếp theo bạn làm đi kèm với tài liệu tốt.