Những gì bạn đề xuất là tốt từ quan điểm của những người theo chủ nghĩa thuần túy Kỹ thuật hệ thống.
(Sẽ có một vài tín đồ Agile nghĩ rằng tất cả đều vượt qua đỉnh cao ... và bạn chỉ nên ra ngoài và làm mọi thứ với các đánh giá thông thường, v.v.).
Tuy nhiên, bạn cần phải tính đến những gì bạn đang làm, và bạn đang làm điều đó cho ai.
Làm một dự án cho chính mình khác với làm cho người khác - vì tiền.
Khi bạn làm việc cho người khác (trong công ty hoặc theo hợp đồng), phương tiện giao tiếp CHỈ là nói và viết. (Cuối cùng sẽ có một sản phẩm hoặc kết quả có thể được đánh giá.)
Toàn bộ quan điểm của một đặc điểm kỹ thuật là cố gắng và giảm chi phí thực hiện các sửa lỗi và thay đổi đến sau. Bạn có thể đã thấy các biểu đồ hiển thị chi phí thực hiện các bản sửa lỗi ở các giai đoạn khác nhau của dự án, nó sẽ diễn ra như sau:
Một bản sửa lỗi được thực hiện cho một ý tưởng ngu ngốc có giá $ 1
Một bản sửa lỗi được thực hiện khi ý tưởng ngu ngốc biến nó thành một đặc tả (phải được cập nhật) có giá $ 10
Một bản sửa lỗi được thực hiện khi bạn đã xây dựng một nguyên mẫu có giá 100 đô la
Một bản sửa lỗi được thực hiện về thời gian bạn đang chấp nhận trước khi chi phí vận chuyển $ 1000
Một sửa chữa được thực hiện sau khi bạn đã vận chuyển và chọc giận khách hàng của bạn có giá 10000 đô la.
Vì vậy, những gì bạn viết trong một đặc điểm kỹ thuật là khá quan trọng.
Để tranh luận rằng bạn không nên có đặc điểm kỹ thuật nào là ngây thơ, dại dột và có lẽ nguy hiểm.
Một trong những vấn đề lớn nhất bạn gặp phải khi viết một đặc tả là biết khi nào bạn đã đi quá xa. Điều này thay đổi tùy thuộc vào quy mô của dự án. Ví dụ, một dự án mất 1-2 người khoảng một năm nên có tổng số khoảng 2 đến 4 TUẦN dành cho đặc tả ... bao gồm cả việc điều tra tính khả thi ... thông số được viết bởi những người thực sự làm công việc không phải là một loại phân tích falutin cao, những người không biết các chi tiết chính. Một dự án mất 10 người 2 năm cần nhiều thời gian hơn.
Bây giờ cho một số ý kiến về các điểm khác nhau của bạn:
CÓ, viết cái này. Giữ nó đến 1-2 đoạn văn, tối đa 1/2 trang.
CÓ LẼ. Chỉ khi nó thêm giá trị cho mọi thứ khác.
THIẾT YẾU. Hiển thị TẤT CẢ đầu vào và đầu ra. Hiển thị bối cảnh. Bạn có thể (và nên) dành một khoảng thời gian hợp lý cho việc này.
- Các yếu tố thành công của dự án quan trọng
CÓ LẼ. Chắc chắn nếu dự án đáp ứng yêu cầu thì thành công. Tôi nghĩ rằng điều này là không thực sự cần thiết.
KHÔNG. Sơ đồ ngữ cảnh của bạn làm điều này.
ĐÚNG. Hãy thử và giữ cho nó ngắn gọn.
- Diễn viên (Nguồn dữ liệu, Diễn viên hệ thống)
CÓ LẼ. Điều này nghe có vẻ giống như các bit kỹ thuật của thiết kế đối với tôi không phải là một đặc điểm kỹ thuật FUNCTIONAL.
CÓ LẼ. Đặt cái này (cái này) trong một phụ lục. Giải thích bằng lời nói. Cố gắng giữ những thứ này đến một số nhỏ. Tôi đã thấy các đề xuất rằng một dự án nên có không quá 8 Ca sử dụng được giải thích chi tiết. Đừng bao gồm tất cả các con đường "unahppy" hoặc bạn sẽ không bao giờ hoàn thành.
Rất hiếm khi bất kỳ phần nào của s / w có một Sơ đồ ca sử dụng / Ca sử dụng duy nhất.
CÓ LẼ. Chỉ khi nó thêm giá trị quan trọng, nếu không bạn đang lãng phí thời gian của bạn.
CÓ LẼ. Chỉ khi nó thêm giá trị quan trọng, nếu không bạn đang lãng phí thời gian của bạn.
CÓ - nếu có liên quan.
CÓ - bắt buộc. Phải nói những gì phải làm (và với mức độ hiệu suất).
MAYBE - nếu có gì đặc biệt.
MAYBE - nếu hữu ích.
- Mô hình miền (Mô hình dữ liệu)
MAYBE - nếu hữu ích.
- Flow Scenario (Thành công, xen kẽ)
MAYBE - nếu hữu ích.
- Lịch trình thời gian (Quản lý công việc)
KHÔNG. Đây không phải là những gì nên có trong một spec. Đó là về lịch trình, kế hoạch, vv
CÓ LẼ. Mục tiêu không phải là yêu cầu, chúng là những thứ lông tơ mơ hồ sẽ không đẹp, phục vụ cho việc làm vũng nước. Hãy cố gắng và tránh.
ĐÚNG. Thiết yếu. Nói những gì phải làm.
KHÔNG. Một phần của kế hoạch và quản lý, không phải là yêu cầu của điều bạn đang làm.
Giải thích: Tôi đã viết thông số kỹ thuật cho các sản phẩm, phần mềm và hệ thống phức tạp trong hơn 15 năm. Tất cả các công cụ thương mại. Chủ yếu là thành công về mặt thương mại và kiếm được nhiều tiền cho các nhà tuyển dụng khác nhau. Bao gồm đặc tả cho phát triển Agile s / w trong đó bạn vẫn cần một thông số kỹ thuật trước khi bạn nhảy vào phát triển. Sự phát triển THỰC TẾ có thể được thực hiện trong bất kỳ quy trình nào bạn muốn, nhưng cuối cùng, bạn phải có 3 điều để thành công:
Biết những gì bạn muốn làm. VÀ VIẾT NÓ XUỐNG. (Đó là một thông số.)
Làm công cụ để đáp ứng # 1 ở trên.
Thực hiện một số mức độ kiểm tra chấp nhận đối với thông số kỹ thuật (về cơ bản là "bạn đã làm những gì bạn nói bạn sẽ làm").