Cấp độ tài liệu nào bạn mong đợi sẽ được cung cấp cho bạn bởi các nhà phát triển?


8

Tiêu đề nói lên tất cả.

Đôi khi nó có thể kết thúc rằng sự phát triển và CNTT đang đứng đầu trong lĩnh vực này. Cấp độ tài liệu nào bạn mong đợi khi bạn dự kiến ​​cài đặt, vá, bảo trì, bắt đầu, dừng và chẩn đoán một giải pháp chạy trên một hoặc nhiều máy chủ?


Câu trả lời:


9

Tất cả những điều này nên được ghi lại một cách chi tiết, mặc dù khi hoạt động là tiêu chuẩn cho hệ điều hành, máy chủ ứng dụng, máy chủ web, v.v. bạn có thể giả định rằng các hoạt động CNTT mọi người biết cách làm điều đó.

Cài đặt: ghi lại mọi thứ về cách nó được cài đặt và cấu hình, bao gồm cả cách nhận biết nó có hoạt động chính xác không.

Hãy cho chúng tôi biết về kiến ​​trúc, đặc biệt là về giao tiếp giữa các thành phần giải pháp khác nhau (ví dụ: phạm vi cổng - cơ chế RPC thường sử dụng một loạt các cổng - chúng tôi cần biết phạm vi đó là gì và khi nào ứng dụng có thể hết cổng).

Vá: ghi lại bất cứ điều gì cụ thể cho ứng dụng - những gì cần phải tắt trước khi vá và bất kỳ hành động tiếp theo nào sau khi vá (cache, chỉ mục, proxy có thể cần phải xóa hoặc xây dựng lại).

Bảo trì: ghi lại hoạt động bình thường và bất thường trông như thế nào - hàng đợi và những thứ khác cần được theo dõi và phạm vi bình thường của những điều này là gì.

Hãy cho chúng tôi biết cách quản lý dữ liệu - đặc biệt là các bảng và tệp phát triển không giới hạn (ví dụ: tệp nhật ký và lịch sử giao dịch). Làm thế nào những thứ này nên được thanh trừng và tác động của việc loại bỏ các mục cũ? (về báo cáo vv).

Hãy cho chúng tôi biết cách thực hiện các hoạt động quản lý "kinh doanh bình thường" / trong cuộc sống tiêu chuẩn - ví dụ, đây có thể là thêm hoặc sửa đổi tài khoản người dùng.

Hãy cho chúng tôi biết về bất kỳ hành động quản lý thông thường nào khác có thể được yêu cầu (ví dụ: chứng chỉ nào được sử dụng và phải làm gì khi hết hạn).

Đối với tất cả các thay đổi, hãy cho chúng tôi biết cách khôi phục chúng (không phải tất cả các thay đổi đều thành công). Và nói với chúng tôi rằng bạn đã thử nghiệm các kế hoạch rollback!

Chẩn đoán: Định dạng và vị trí tệp nhật ký tài liệu và MỌI thông báo lỗi ứng dụng có thể bật lên, cho biết thông báo lỗi có nghĩa là gì sai và những gì có thể cần phải thay đổi để sửa nó. Không bao giờ sử dụng cùng một thông báo lỗi cho hai sự kiện khác nhau.

Bắn xuống và khởi động: Làm thế nào, thứ tự nào, bất kỳ thủ tục đặc biệt nào (ví dụ: để máy chủ thoát kết nối trước khi tắt chúng).

Tôi hoàn toàn không đồng ý rằng cách tốt nhất để làm việc này là ném ứng dụng qua hàng rào và để dân IT làm việc những gì cần thiết. Các tài liệu hoạt động (và nói chung, các tính năng quản lý của ứng dụng) cần phải được suy nghĩ trước.


1
Wow, mức độ kiến thức về hệ thống này trước khi triển khai, tài liệu không bao giờ, sẽ rất tuyệt vời. Đây không phải là lý do tại sao một số công ty sử dụng SRE với các nhà phát triển thay vì dựa vào các nhà phát triển để nghĩ như thế này?
Cawflands

Đúng là hầu hết các nhà phát triển không nghĩ về những điều như vậy (Tôi đã từng làm việc như một nhà phát triển phần mềm và sau đó là kiến ​​trúc sư trong một công ty quản lý cơ sở hạ tầng, và sau này là một người mở mắt ...). Tôi nghĩ các nhà phát triển nên biết về các chủ đề này, nhưng nếu họ không biết, thì có lẽ các chuyên gia làm việc cùng nhau là con đường phía trước. Đây thực sự là một phần của vấn đề rộng hơn về những gì quan trọng với phần mềm - giá trị là phần mềm đang được thực thi và có sẵn - cung cấp một dịch vụ, không chỉ là tính năng hoàn chỉnh. Tôi có thể cần phải hỏi một câu hỏi khác để tôi có thể trả lời sâu hơn :)
Archetypal Paul

2

Một câu hỏi tiếp theo sẽ là: điều gì xảy ra khi (chứ không phải) các nhà phát triển không cung cấp đủ tài liệu?

Tôi khuyên rằng CNTT có khả năng nhập các báo cáo lỗi đối với phần mềm, sử dụng bất kỳ hệ thống theo dõi lỗi nào mà các nhà phát triển sử dụng. Bằng cách đó, nếu họ không nói với bạn, chẳng hạn, các tệp trong một thư mục cụ thể cần phải được thanh lọc và chỉ nên giữ giá trị trong một tuần, bạn có thể nhập vào một lỗi nói rằng "ứng dụng sẽ lấp đầy đĩa bằng các tệp nhật ký ", Và đề nghị họ làm việc với CNTT về một kỹ thuật được lập thành tài liệu để xóa thư mục đó.


Đúng, đã ở đó, làm điều đó. Phải mất bốn tuần để các nhà phát triển cho chúng tôi biết làm thế nào để thanh lọc ba bảng đang phát triển không giới hạn. Nhanh hơn để có suy nghĩ về việc trả trước đó. Nhưng tôi hoàn toàn đồng ý với bạn rằng các vấn đề về khả năng quản lý là khiếm khuyết trong phần mềm ...
Archetypal Paul

Tôi thường từ chối triển khai các máy chủ (như trong daemon) không có giấy tờ. Nếu tôi thực sự cần triển khai chúng bằng vũ lực (ban quản lý yêu cầu) tôi sẽ nói rõ chi phí sẽ tốn bao nhiêu để tìm ra tất cả mọi thứ
Martin M.

2

Danh sách các yêu cầu của tôi đối với tài liệu sẽ là (không theo thứ tự cụ thể nào):

(tài liệu về :)

  • tất cả các công tắc dòng lệnh
  • tất cả các trạng thái thoát và trả về giá trị
  • thông điệp tường trình (không quá nhiều nội dung mà là giải thích các trường nếu nó không thể cấu hình)
  • cú pháp cấu hình
  • chuyển đổi trong tập tin cấu hình
  • sử dụng bộ nhớ
  • nó có ren hay rẽ nhánh không
  • các tín hiệu máy chủ phản ứng trên là gì
    • Có tín hiệu nào không khởi động lại máy chủ nhưng làm cho nó đọc lại cấu hình
    • nó cư xử thế nào (có phải nó chờ các luồng / tiến trình hiện tại kết thúc với cấu hình cũ. Nó có giết chúng không, ...)
  • Điều gì xảy ra khi tắt máy ô uế (đặc biệt nếu đó là một loại dịch vụ / máy chủ bền bỉ)
  • Nó có ghi nhật ký hệ thống thông qua các cuộc gọi được cung cấp hay nó ghi nhật ký với một cái gì đó được viết bởi chính nó ( yuck cho apache và nhật ký truy cập - Tôi rõ ràng thích các công cụ trên máy bay để đăng nhập)
  • IPv4 và IPv6 đã sẵn sàng nếu đó là dịch vụ mạng
  • tài liệu về thân cây và tài liệu về một phiên bản cụ thể
    • Không có gì tệ bằng việc cấu hình một cái gì đó trong nhiều giờ chỉ để tìm ra nó sẽ bị bỏ qua vì tùy chọn cấu hình chỉ có sẵn trong thân cây
  • tùy chọn cấu hình nào hợp lệ trong phiên bản nào (có sẵn từ: v1.0, không dùng nữa: v1.2 hoặc một cái gì đó tương tự)

Tài liệu như thế này là ví dụ cho tài liệu tốt:

Tôi coi tài liệu như thế này là đầy thất bại:

Ngoài ra, Cẩm nang FreeBSD là một ví dụ tuyệt vời về tài liệu và cách tiếp cận của OpenBSD. Họ đá những thứ không đúng tài liệu.

EDIT: danh sách này không có nghĩa là hoàn thành, nó chỉ là những thứ cơ bản ngay lập tức xuất hiện trong đầu tôi. Ngoài ra các tài liệu nên được đọc tốt, không chỉ là một cái gì đó đọc như ai đó đã ném lên .


1

Tóm lại, tôi mong đợi các tài liệu tôi chỉ định và hợp đồng cho.

Quá nhiều lần chi tiết quan trọng này bị bỏ qua một thỏa thuận. Người dùng cuối mong đợi nó và tất nhiên muốn nó miễn phí. Các nhà phát triển giỏi sẽ điều chỉnh sự giám sát này sớm trong quá trình và đặt kỳ vọng bao gồm yêu cầu về giá cả và thời gian.


0

Tôi tin rằng CNTT cần liên lạc với các nhà phát triển loại tài liệu nào là cần thiết. Cách tốt nhất để làm điều này là nếu sự phát triển cung cấp các phiên bản tiền phát hành (hoặc phiên bản lặp) của một giải pháp để CNTT chơi và thử nghiệm để CNTT có thể đáp ứng với những gì cần thiết.


0

Tạo ghi chú phát hành đầy đủ với một ứng dụng sẽ là một khởi đầu tốt. Nếu có thay đổi đối với hành vi hiện tại với bản phát hành, bất kỳ ghi chú nào từ QA về các thay đổi đối với phụ thuộc hoặc hành vi bắt đầu / dừng, thay đổi tải đối với máy chủ hoặc cơ sở dữ liệu phụ thuộc, v.v.


0

@Spoike (Tôi chưa thể nhận xét về câu trả lời ..)

Những người triển khai CNTT (vai trò sẽ thay đổi theo loại hình và quy mô doanh nghiệp) phải hoạt động nhất quán để đạt được những điều sau:

  • Cài đặt / doanh thu Yêu cầu tối thiểu - nói cách khác, CNTT không thể thụ động và mong các nhà phát triển "biết" thông tin nào là cần thiết trong thời gian cài đặt / doanh thu. Tôi đã thấy rằng thường có sự nhầm lẫn / bất đồng đáng kể trong CNTT về những gì cấu thành tài liệu thích hợp của một ứng dụng. Dev hiểu các yêu cầu (chúng tôi hy vọng) và CNTT phải tập trung để tìm ra những gì - ở mức tối thiểu - là bắt buộc.

  • Quy trình cài đặt / doanh thu - trong cài đặt doanh nghiệp, bạn có thể gọi đây là Kiểm soát thay đổi hoặc Quản trị, nhưng về cơ bản, đó là một chu trình đánh giá tiêu chuẩn trong đó CNTT ngồi xuống với bản cài đặt hàng đầu của Dev PRIOR để có bản tóm tắt về sản phẩm và nhu cầu của nó.

Cài đặt một ứng dụng không giống như ra mắt một sản phẩm sân khấu. Trước khi màn hạ màn, đạo diễn (nhà phát triển chính) gặp gỡ nhiều lần với đội ngũ sản xuất sân khấu (người triển khai CNTT) để đảm bảo mọi thứ đều "chỉ như vậy" cho đêm khai mạc (cài đặt công khai).

Bạn không thể thay đổi Dev persona (tại sao bạn muốn?), Nhưng bạn có thể chỉ ra mục tiêu được chia sẻ của mình về một ứng dụng tuyệt vời chạy rất nhanh cho tất cả người dùng. Sự đồng thuận của bạn yêu cầu tài liệu CNTT chỉ là một trong những điều cần thiết để đảm bảo điều đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.