Tìm hiểu cách kỹ thuật yêu cầu, các định nghĩa cốt lõi của nó và các quy trình có cấu trúc được áp dụng vào phát triển sản phẩm phần cứng.
Hãy thành thật mà nói: rất ít người cảm thấy hào hứng với các yêu cầu. Thế nhưng, mọi nhóm phát triển phần cứng đều từng cảm nhận cái giá của những yêu cầu không rõ ràng: phải làm lại ở giai đoạn muộn, hoặc một bản dựng không đáp ứng đúng điều mà các bên liên quan thực sự yêu cầu.
Requirements engineering (RE) là một bộ môn áp dụng quy trình có cấu trúc để xác định, tài liệu hóa và quản lý các yêu cầu nhằm bảo đảm sản phẩm cuối cùng giải quyết đúng vấn đề. Khi được áp dụng tốt, nó giúp phát hiện sai sót từ sớm, giữ cho cả nhóm luôn thống nhất, và đem lại sự tin tưởng rằng sản phẩm được phát hành chính là sản phẩm đã được thống nhất xây dựng.
Tuy nhiên, thuật ngữ này thường dễ gây nhầm lẫn vì nó bắt nguồn từ cả kỹ nghệ phần mềm lẫn kỹ nghệ hệ thống của các sản phẩm phần cứng.
Trong bài viết này, bạn sẽ có được một định nghĩa rõ ràng về requirements engineering và vai trò của nó trong phát triển sản phẩm phần cứng. Chúng tôi sẽ trình bày cả phần tổng quan lý thuyết lẫn một khung thực hành về cách áp dụng nó trong một dự án phần cứng, kèm theo các ví dụ thực tế và danh sách những cạm bẫy phổ biến nhất cùng cách tránh chúng.
Requirements engineering là một phương pháp tiếp cận có hệ thống và kỷ luật để xác định, tài liệu hóa và quản lý các yêu cầu trong suốt quá trình phát triển sản phẩm phần cứng.
Nó giúp các nhóm hiểu vấn đề cần giải quyết, làm rõ và phân tích nhu cầu của các bên liên quan, giải quyết xung đột và đánh đổi, ghi lại sản phẩm cần đạt được điều gì, đồng thời luôn cập nhật hiểu biết đó khi sản phẩm tiếp tục phát triển.
Trong thực tế, các yêu cầu tạo ra sự hiểu biết chung giữa các bên liên quan và nhóm kỹ thuật về việc đang xây dựng cái gì, vì sao phải xây dựng nó, và làm thế nào để nhóm biết được liệu sản phẩm cuối cùng có đáp ứng đúng ý định thiết kế hay không.
Khi RE được thực hiện tốt, nó giúp ngăn ngừa hiểu lầm và những sai sót tốn kém, giữ cho cả nhóm thống nhất, đồng thời giúp bảo đảm sản phẩm cuối cùng đáp ứng các yêu cầu của nó.
Các lợi ích chính của RE bao gồm:
Requirements engineering có nguồn gốc từ cả kỹ nghệ hệ thống lẫn kỹ nghệ phần mềm. Hai nhánh này phát triển trong những bối cảnh kỹ thuật khác nhau, vì vậy thuật ngữ này đến nay vẫn có thể mang phạm vi ý nghĩa hơi khác nhau tùy theo nguồn tham chiếu.
Trong bối cảnh kỹ nghệ phần mềm, trọng tâm chủ yếu là các yêu cầu phát triển phần mềm: phần mềm phải làm gì, phải hoạt động như thế nào, và phải đáp ứng những thuộc tính chất lượng nào. Các kỹ sư phần mềm thường nghĩ đến các yêu cầu chức năng và phi chức năng được ghi lại dưới dạng user story, use case và acceptance criteria. Trong bối cảnh kỹ nghệ hệ thống, phạm vi rộng hơn. Yêu cầu đề cập đến toàn bộ hệ thống, bao gồm phần cứng, phần mềm, con người, quy trình, giao diện, điều kiện vận hành và các đặc tính hệ thống khác. Các kỹ sư hệ thống nói đến các yêu cầu ở cấp hệ thống được phân rã xuống phần cứng, cơ khí, điện, firmware và các yếu tố an toàn, được ghi lại dưới dạng phát biểu yêu cầu chính thức và ma trận truy vết yêu cầu.
Trong phát triển phần cứng, RE kết hợp cả hai góc nhìn này. Nó kết hợp tính chặt chẽ và phạm vi đa ngành của kỹ nghệ hệ thống — cần thiết để xử lý chi phí bill of materials (BOM), các ràng buộc nhiệt và giới hạn sản xuất — với khả năng truy vết xuyên suốt vòng đời vốn được dùng trong kỹ nghệ phần mềm để giữ cho các yêu cầu có thể kiểm thử được và luôn được liên kết trong suốt quá trình phát triển.
Requirements engineering có quan hệ chặt chẽ với các bộ môn khác trong phát triển sản phẩm, đặc biệt là kỹ nghệ hệ thống và quản lý sản phẩm.
Kỹ nghệ hệ thống xem sản phẩm như một hệ thống hoàn chỉnh. Kỹ sư hệ thống bảo đảm rằng các phần khác nhau như phần cứng, phần mềm, các chi tiết cơ khí và thử nghiệm phối hợp đúng cách với nhau và không xung đột.
Điều này gắn chặt với RE vì các yêu cầu cung cấp cho tất cả những nhóm này một điểm tham chiếu chung về những gì sản phẩm cần đạt được.
Nếu bạn thích phép so sánh, hãy hình dung việc xây một ngôi nhà. Các chuyên gia khác nhau phụ trách móng, điện, nước và sưởi ấm, nhưng vẫn cần có ai đó bảo đảm rằng tất cả các phần đó thực sự ăn khớp với nhau để tạo thành một kết cấu hoàn chỉnh. Kỹ nghệ hệ thống đóng đúng vai trò đó trong phát triển sản phẩm.
Quản lý sản phẩm giúp quyết định nên xây dựng gì và vì sao. Các quản lý sản phẩm trao đổi với khách hàng, nghiên cứu thị trường, xem xét đối thủ cạnh tranh và làm việc với doanh nghiệp để quyết định vấn đề nào đáng giải quyết và tính năng nào quan trọng nhất.
Điều này cũng liên quan đến RE vì những nhu cầu khách hàng ở mức cao và các mục tiêu kinh doanh đó trở thành điểm khởi đầu để xác định các yêu cầu sản phẩm.
Quy trình RE có thể được tổ chức theo nhiều cách khác nhau tùy vào lĩnh vực ứng dụng, những người tham gia và tổ chức. Ở một số dự án, các hoạt động diễn ra chủ yếu theo trình tự, còn ở những dự án khác, chúng được lặp lại và xem xét lại khi nhóm hiểu rõ hơn.
Như được mô tả trong một bài báo đăng trên tạp chí Requirements Engineering, một cách tiếp cận phổ biến trong giáo trình chia quy trình RE thành bốn hoạt động cốt lõi (giai đoạn):
Một số vai trò chủ chốt tham gia vào khung RE, cùng phối hợp để xác định sản phẩm cần làm gì:
Mặc dù bốn hoạt động ở trên xác định phần cốt lõi của quy trình RE, các nhóm phần cứng cần một cách thực tế để áp dụng chúng xuyên suốt dự án.
Sau đây là góc nhìn thực tiễn về khung requirements engineering cho phát triển phần cứng, cho thấy các yêu cầu phù hợp với từng giai đoạn như thế nào.
Khi bắt đầu một dự án, các Trưởng nhóm kỹ thuật thường nhận được những đầu vào còn mơ hồ như yêu cầu từ khách hàng, yêu cầu mời thầu (RFP), mục tiêu kinh doanh hoặc các ràng buộc về chi phí, kích thước hay tiến độ. Ví dụ, khách hàng có thể yêu cầu một thiết bị nhỏ hơn để hỗ trợ một trường hợp sử dụng cụ thể.
Cùng với Chủ sở hữu yêu cầu, các Trưởng nhóm kỹ thuật sẽ làm rõ nhu cầu và chuyển những đầu vào đó thành các yêu cầu ở mức cao mô tả sản phẩm cần đạt được điều gì.
Các yêu cầu mức cao từ giai đoạn Khởi động dự án vẫn còn quá rộng để phục vụ thiết kế chi tiết. Ở giai đoạn này, Chủ sở hữu yêu cầu xác định hệ thống tổng thể, chia nó thành các phần và phân hệ, rồi chuyển các yêu cầu mức cao đó thành những yêu cầu cụ thể hơn cho từng phần.
Họ cũng kiểm tra để bảo đảm các yêu cầu không mâu thuẫn, không thiếu nội dung quan trọng, và từng yêu cầu đều rõ ràng cũng như có thể kiểm thử. Kết quả là một bộ yêu cầu đã được thống nhất mà nhóm kỹ thuật có thể dùng làm điểm xuất phát cho thiết kế sản phẩm.
Các Kỹ sư triển khai sử dụng các yêu cầu đã được thống nhất để thiết kế và xây dựng phần việc của mình trong sản phẩm, चाहे đó là tạo sơ đồ nguyên lý, mô hình hóa một chi tiết 3D, hay viết phần mềm hoặc firmware. Khi thiết kế phát triển, họ liên kết từng yêu cầu với đặc tính thiết kế đáp ứng nó. Những liên kết này tạo nên khả năng truy vết của dự án và giúp Chủ sở hữu yêu cầu thấy được các yêu cầu đã được triển khai như thế nào.
Các yêu cầu cũng xác định những gì cần được kiểm tra trong quá trình rà soát và thử nghiệm. Kỹ sư Verification xác định cách thức kiểm tra từng yêu cầu và phối hợp với các Kỹ sư triển khai để thực hiện các bước rà soát, đo lường hoặc thử nghiệm cần thiết, đồng thời ghi lại kết quả. Điều này kết nối giữa những gì sản phẩm được yêu cầu phải đạt được với bằng chứng cho thấy liệu nó có thực sự đạt được hay không.
Các yêu cầu và thiết kế sản phẩm thường thay đổi trong quá trình phát triển. Một yêu cầu có thể được chứng minh là không thể đáp ứng, một linh kiện có thể không còn sẵn có trên thị trường, hoặc một ràng buộc mới có thể xuất hiện. Khi điều này xảy ra, Chủ sở hữu yêu cầu theo dõi điều gì đã thay đổi, vì sao nó thay đổi, và những yêu cầu, phần thiết kế hoặc thử nghiệm nào bị ảnh hưởng.
Vào cuối dự án, Chủ sở hữu Yêu cầu phối hợp với Kỹ sư Xác minh và các thành viên còn lại trong nhóm để hoàn tất việc đóng yêu cầu, rà soát thiết kế và các hoạt động xác minh. Tài liệu cuối cùng cần cung cấp hồ sơ có thể truy vết về những gì đã được yêu cầu, những gì đã được xây dựng và cách chúng đã được xác minh. Khách hàng, nhà sản xuất, kiểm toán viên hoặc các nhóm tiếp tục làm việc trên sản phẩm sẽ cần thông tin này về sau.
Kỹ thuật Yêu cầu được sử dụng trong nhiều loại sản phẩm công nghệ y tế và chăm sóc sức khỏe. Các yêu cầu đồng hành cùng sản phẩm trong suốt quá trình phát triển. Các nhóm chuyển nhu cầu của các bên liên quan thành các yêu cầu hệ thống có cấu trúc, duy trì sự liên kết của chúng khi đặc tả thay đổi, và dùng chúng để lập kế hoạch xác minh cũng như ghi lại kết quả thử nghiệm.
Thiết bị y tế bổ sung thêm một lớp yêu cầu pháp lý. Các nhóm cần đầu tư nhiều công sức hơn vào khả năng truy vết, xác minh, tài liệu và giấy tờ. Điều này hỗ trợ việc xin phê duyệt theo các khung pháp lý như FDA 21 CFR Part 820 tại Hoa Kỳ và ISO 13485:2016 tại EU và các thị trường khác.
“Cách tiếp cận có cấu trúc trong việc ghi chép yêu cầu đã giúp hợp lý hóa quy trình làm việc của chúng tôi, khiến việc quản lý và tổ chức các đặc tả dự án trở nên hiệu quả hơn.” — Alf-Einar Løberg, Giám đốc Bộ phận, Sensio |
Miếng bảo vệ miệng HitIQ là một ví dụ về thiết bị đeo y tế, nơi các yêu cầu an toàn quyết định mọi đặc tả kỹ thuật. Tìm hiểu cách họ thực hiện điều đó trong câu chuyện thành công của khách hàng đầy đủ.
Quy trình kỹ thuật yêu cầu cốt lõi là tương tự nhau trong điện tử tiêu dùng và điện tử công nghiệp, nhưng các sản phẩm được phát triển trong những điều kiện khác nhau. Các sản phẩm tiêu dùng như thiết bị nhà thông minh hoặc thiết bị đeo được bán với số lượng lớn và ra mắt nhanh. Các sản phẩm công nghiệp như bộ điều khiển logic khả trình (PLC) hoặc bộ truyền động động cơ phải hoạt động trong nhiều năm dưới điều kiện khắc nghiệt.
Trong cả hai trường hợp, các nhóm ghi lại sản phẩm phải làm gì, liên kết từng yêu cầu với thiết kế, cập nhật yêu cầu khi có thay đổi và kiểm thử dựa trên các yêu cầu đó.
Điều khác biệt là nơi các nhóm cần tập trung thêm công sức. Trong điện tử tiêu dùng, điều đó nằm ở việc theo kịp các thay đổi nhanh chóng, vì chỉ một yêu cầu bị hiểu sai cũng có thể dẫn đến việc phải thiết kế lại bo mạch. Trong điện tử công nghiệp, trọng tâm là xác minh, vì sản phẩm phải được kiểm thử về tuổi thọ dài và khả năng chịu điều kiện khắc nghiệt trước khi xuất xưởng.
Để xây dựng phần cứng đáng tin cậy và tuân thủ các quy định an toàn, việc giữ cho các yêu cầu và thay đổi thiết kế luôn được liên kết là yếu tố then chốt. Hãy đọc cách MakeSafe Tools quản lý điều này trong câu chuyện thành công đầy đủ.
Kỹ thuật yêu cầu đi kèm với một số thách thức phổ biến. Biết điều gì có thể xảy ra sai giúp bạn dễ phát hiện vấn đề sớm hơn và tránh chúng trong quá trình phát triển sản phẩm phần cứng.
Dưới đây là một số sai sót phổ biến nhất cần lưu ý và cách tránh chúng:
Sai sót Phổ biến | Cách Tránh |
Xác định yêu cầu dự án trước khi thu thập đủ ý kiến từ đúng các bên liên quan. | Thu hút đúng các bên liên quan từ sớm, đặt đủ câu hỏi và hiểu đầy đủ nhu cầu của họ. |
Thêm hoặc thay đổi yêu cầu mà không kiểm tra tác động của chúng trước. | Xem xét mọi yêu cầu mới hoặc đã thay đổi trước khi chấp nhận, và kiểm tra chúng ảnh hưởng thế nào đến phạm vi, tiến độ, chi phí và kiểm thử. |
Viết các yêu cầu có thể bị diễn giải theo nhiều cách khác nhau hoặc không thể xác minh. | Hãy làm cho yêu cầu rõ ràng, đo lường được và có thể xác minh. |
Quản lý một tập yêu cầu ngày càng lớn bằng bảng tính và làm mất khả năng truy vết | Chuyển sang một công cụ quản lý yêu cầu chuyên dụng có thể mở rộng và duy trì khả năng truy vết khi dự án phát triển. |
Dành quá nhiều thời gian để quản lý yêu cầu. | Giảm bớt công việc hành chính quanh yêu cầu bằng AI được xây dựng chuyên biệt. |
Quản lý một tập yêu cầu nhỏ tương đối đơn giản. Khi dự án phát triển, việc giữ mọi thứ có tổ chức và luôn cập nhật đòi hỏi nhiều công sức hơn. Đến thời điểm đó, cách bạn quản lý yêu cầu bắt đầu trở nên quan trọng hơn.
Trong thực tế, các nhóm thường làm việc theo một trong những cách tiếp cận sau:
Mục tiêu là sử dụng mức độ cấu trúc vừa đủ cho dự án mà không khiến việc quản lý yêu cầu trở nên phức tạp hơn mức cần thiết.
Đối với các nhóm phần cứng nhỏ đã vượt quá khả năng của bảng tính nhưng không cần một quy trình RM doanh nghiệp quy mô lớn, Requirements Portal là một lựa chọn thực tế đáng cân nhắc. Công cụ này được thiết kế để mang lại cho các nhóm nhỏ một cách có cấu trúc hơn để quản lý yêu cầu mà không phải chịu gánh nặng của một hệ thống doanh nghiệp truyền thống.
Đến thời điểm này, bạn hẳn đã hiểu rõ các khái niệm chính của kỹ thuật yêu cầu và cách chúng được áp dụng trong thực tế.
Nếu bạn muốn tiếp tục tìm hiểu về kỹ thuật yêu cầu, những tài nguyên này là điểm khởi đầu phù hợp:
Nếu bạn đã sẵn sàng chuyển từ lý thuyết sang thực hành, hãy thử Requirements Portal và bắt đầu làm việc với các yêu cầu có cấu trúc trên một dự án phần cứng thực tế ngay hôm nay, miễn phí và không cần thiết lập.
Kỹ thuật yêu cầu quan trọng vì nó giúp nhóm xây dựng đúng sản phẩm bằng cách hiểu rõ nhu cầu của các bên liên quan trước khi thiết kế và phát triển đi quá xa.
Kỹ sư yêu cầu chuyển nhu cầu của các bên liên quan thành các yêu cầu rõ ràng để nhóm kỹ thuật có thể sử dụng, đồng thời giữ các yêu cầu đó được tổ chức tốt khi dự án thay đổi. Họ đóng vai trò là cầu nối giữa khách hàng và các nhóm phát triển.
Kỹ thuật yêu cầu là toàn bộ quá trình khám phá, thấu hiểu và ghi lại những gì một hệ thống cần phải làm ngay từ đầu. Quản lý yêu cầu là phần cụ thể của công việc đó, tập trung vào việc giữ các yêu cầu được tổ chức tốt và theo dõi mọi thay đổi sau khi chúng đã được viết ra.