Phát triển theo hướng thông số kỹ thuật là gì?

Đã hoàn thành

Trong phát triển phần mềm truyền thống, chúng ta thường coi mã là nguồn tin cậy cuối cùng. Thông số kỹ thuật phục vụ mã - chúng là giàn giáo mà chúng ta xây dựng và sau đó loại bỏ khi "công việc thực sự" của mã hóa bắt đầu. Chúng tôi viết Tài liệu Yêu cầu Sản phẩm (PRD) để hướng dẫn phát triển, tạo tài liệu thiết kế để cung cấp thông tin cho việc triển khai và vẽ sơ đồ để trực quan hóa kiến trúc. Nhưng những tài liệu này luôn phụ thuộc vào chính bộ mã. Khi mã phát triển, thông số kỹ thuật hiếm khi theo kịp.

Với sự gia tăng của các trợ lý mã hóa AI mạnh mẽ như GitHub Copilot, cách tiếp cận ưu tiên mã này đã phát triển thành cái mà ngày nay chúng ta gọi là "mã hóa rung cảm". Thật không may, phương pháp mã hóa rung cảm thường liên quan đến việc gửi lời nhắc cấp cao trả về một đoạn mã "trông đúng" nhưng có thể bỏ lỡ ý định hoặc có lỗi. Nó có thể nhanh, nhưng đôi khi nó bị lệch. Mỗi phiên trò chuyện hoạt động riêng lẻ, thiếu nhận thức về các quyết định trước đó hoặc yêu cầu tổng thể của dự án.

Phát triển theo hướng thông số kỹ thuật (SDD) cung cấp một cách tiếp cận tốt hơn.

Từ mã hóa rung cảm đến mã hóa mục đích đầu tiên

Phát triển theo hướng thông số kỹ thuật đảo ngược cấu trúc quyền lực lấy mã làm trung tâm. Thông số kỹ thuật không phục vụ mã - mã phục vụ thông số kỹ thuật. Tài liệu Yêu cầu Sản phẩm không phải là hướng dẫn triển khai; đó là nguồn tạo ra việc triển khai. Kế hoạch kỹ thuật không phải là tài liệu cung cấp thông tin cho việc mã hóa; chúng là những định nghĩa chính xác tạo ra mã. Sự thay đổi mô hình này không phải là một cải tiến gia tăng đối với cách chúng ta xây dựng phần mềm, mà là một suy nghĩ lại cơ bản về những gì thúc đẩy sự phát triển.

Khoảng cách giữa đặc tả và triển khai là một vấn đề đang diễn ra. Các nhà phát triển cố gắng thu hẹp khoảng cách bằng tài liệu tốt hơn, yêu cầu chi tiết hơn và quy trình nghiêm ngặt hơn. Những cách tiếp cận này thất bại vì họ chấp nhận khoảng cách là không thể tránh khỏi. Họ cố gắng thu hẹp nó nhưng không bao giờ loại bỏ nó. SDD loại bỏ khoảng cách bằng cách làm cho các thông số kỹ thuật có thể thực thi. Khi các thông số kỹ thuật và kế hoạch triển khai được sử dụng để tạo mã, không có khoảng trống - chỉ có chuyển đổi.

Trong thế giới mới của sự phát triển và SDD có sự hỗ trợ của AI này, việc duy trì phần mềm có nghĩa là các thông số kỹ thuật đang phát triển. Ý định của nhóm phát triển được thể hiện bằng ngôn ngữ tự nhiên ("phát triển theo mục đích"), nội dung thiết kế, nguyên tắc cốt lõi và các nguyên tắc khác. Ngôn ngữ phát triển chuyển sang cấp độ cao hơn và mã trở thành đầu ra chặng cuối.

Hãy nghĩ về nó giống như xây dựng: theo truyền thống, các nhóm phần mềm có thể chắp cánh cho nó với các kế hoạch tối thiểu (mã hóa rung cảm), nhưng SDD giống như tạo ra một bản thiết kế chi tiết đầu tiên mà người xây dựng (AI) tuân thủ nghiêm ngặt. Khi nhà phát triển nói "xây dựng tính năng đăng nhập" mà không có thông tin chi tiết, AI có thể hiểu sai các yêu cầu. Với thông số kỹ thuật chính xác bao gồm các yêu cầu bảo mật, quy trình xác thực và xử lý lỗi - AI tạo ra chính xác những gì cần thiết.

Các tính năng chính của phát triển theo hướng thông số kỹ thuật

Phát triển theo hướng đặc biệt dựa trên một số nguyên tắc cốt lõi để phân biệt nó với các phương pháp truyền thống:

  • Thông số kỹ thuật là hiện vật chính: Đặc tả trở thành nguồn trung tâm của sự thật. Mã trở thành biểu hiện của nó trong một ngôn ngữ và khuôn khổ cụ thể. Bảo trì phần mềm có nghĩa là phát triển các thông số kỹ thuật, không chỉ vá mã.

  • Thông số kỹ thuật thực thi: Thông số kỹ thuật phải chính xác, đầy đủ và đủ rõ ràng để tạo ra các hệ thống hoạt động. Mức độ chính xác này giúp loại bỏ khoảng cách giữa ý định và triển khai.

  • Tài liệu sống: Gỡ lỗi có nghĩa là sửa các thông số kỹ thuật và kế hoạch triển khai tạo ra mã không chính xác. Tái cấu trúc có nghĩa là tái cấu trúc các thông số kỹ thuật để rõ ràng. Toàn bộ quy trình phát triển được tổ chức lại xung quanh các thông số kỹ thuật là nguồn trung tâm của sự thật, với mã là đầu ra được tái tạo liên tục.

  • Sự hợp tác giữa AI và con người: Việc chuyển đổi từ thông số kỹ thuật sang mã là có thể thực hiện được vì AI có thể hiểu và triển khai các thông số kỹ thuật phức tạp. Nhưng việc tạo ra AI thô mà không có cấu trúc tạo ra sự hỗn loạn. SDD cung cấp cấu trúc đó thông qua các thông số kỹ thuật đủ chính xác để tạo ra các hệ thống làm việc.

Về cơ bản, thông số kỹ thuật trở thành nguồn tin cậy duy nhất của mã. Trong SDD, thông số kỹ thuật không phải là một tài liệu vứt đi; Đó là một hiện vật sống đóng góp trực tiếp vào việc tạo và xác thực mã.

Tại sao phát triển theo hướng thông số kỹ thuật lại quan trọng bây giờ

Ba xu hướng làm cho SDD không chỉ khả thi mà còn cần thiết:

  • Khả năng AI đã vượt qua ngưỡng quan trọng. Thông số kỹ thuật ngôn ngữ tự nhiên hiện có thể tạo mã hoạt động một cách đáng tin cậy. Thành tựu này không phải là thay thế các nhà phát triển - mà là về việc khuếch đại hiệu quả của họ bằng cách tự động hóa bản dịch cơ học từ đặc tả đến triển khai. Nó có thể khuếch đại sự khám phá và sáng tạo, hỗ trợ "bắt đầu lại" một cách dễ dàng và hỗ trợ cộng, trừ và tư duy phản biện.

  • Độ phức tạp của phần mềm tiếp tục tăng theo cấp số nhân. Các hệ thống hiện đại tích hợp hàng chục dịch vụ, khung và phụ thuộc. Giữ cho tất cả các phần này phù hợp với ý định ban đầu thông qua các quy trình thủ công ngày càng trở nên khó khăn. SDD cung cấp sự liên kết có hệ thống thông qua thế hệ theo hướng thông số kỹ thuật.

  • Tốc độ thay đổi tăng tốc. Ngày nay, các yêu cầu thay đổi nhanh hơn bao giờ hết. Xoay trục không còn là ngoại lệ nữa - đó là điều được mong đợi. Phát triển sản phẩm hiện đại đòi hỏi sự lặp lại nhanh chóng dựa trên phản hồi của người dùng, điều kiện thị trường và áp lực cạnh tranh.

Phát triển truyền thống coi những thay đổi yêu cầu là sự gián đoạn. Mỗi pivot yêu cầu lan truyền các thay đổi theo cách thủ công thông qua tài liệu, thiết kế và mã. Kết quả là cập nhật chậm, cẩn thận hạn chế tốc độ hoặc thay đổi nhanh, liều lĩnh tích lũy nợ kỹ thuật.

SDD chuyển đổi yêu cầu thay đổi từ chướng ngại vật thành quy trình làm việc bình thường. Khi các thông số kỹ thuật thúc đẩy việc triển khai, các trục trở thành tái tạo có hệ thống thay vì viết lại thủ công. Thay đổi yêu cầu cốt lõi trong thông số kỹ thuật và các kế hoạch triển khai bị ảnh hưởng cập nhật cho phù hợp. Sửa đổi câu chuyện người dùng và các thành phần tương ứng sẽ tái tạo. Sự chuyển đổi này không chỉ là về sự phát triển ban đầu - đó là về việc duy trì tốc độ kỹ thuật thông qua những thay đổi không thể tránh khỏi.

Đặc biệt đối với các nhóm doanh nghiệp, SDD giải quyết các điểm khó khăn dai dẳng: thông tin sai lệch giữa sản phẩm và kỹ thuật, các bản sửa lỗi giai đoạn cuối tốn kém, tài liệu trôi dạt khỏi việc triển khai. Bằng cách có một thông số kỹ thuật vững chắc liên tục được tham chiếu và sử dụng để tạo mã, những vấn đề này được giảm đáng kể.

Tóm tắt

Phát triển theo hướng thông số kỹ thuật đại diện cho một sự thay đổi cơ bản trong cách chúng tôi xây dựng phần mềm. Bằng cách biến các thông số kỹ thuật thành cấu phần phần mềm chính thúc đẩy việc tạo mã, SDD loại bỏ khoảng cách giữa ý định và triển khai. Cách tiếp cận này sử dụng khả năng AI để tự động hóa việc dịch cơ học từ thông số kỹ thuật chính xác đến hệ thống làm việc, cho phép các nhóm duy trì tốc độ trong bối cảnh phức tạp và thay đổi. Khi phát triển phần mềm tiếp tục phát triển, việc áp dụng phát triển dựa trên thông số kỹ thuật là rất quan trọng đối với các nhóm nhằm cung cấp các sản phẩm chất lượng cao một cách hiệu quả.

Lưu ý

Xem tab Văn bản và hình ảnh để biết thêm chi tiết!