Các tính năng
thú vị, khi được phỏng vấn về các nhu cầu và yêu cầu cho một hệ thống mới, các bên liên quan thường mô tả không phải những điều này, ít nhất là trong điều kiện của các định nghĩa, chúng tôi đã cung cấp cho đến nay. Đó là, các bên liên quan thường nói với bạn không thực sự cần thiết của họ ("Nếu tôi không làm tăng năng suất trong bộ phận này, tôi sẽ không nhận được tiền thưởng của tôi trong năm nay" hay "Tôi muốn để có thể làm chậm xe này xuống càng nhanh càng tốt mà không bị trượt "), cũng không yêu cầu thực tế cho hệ thống (" Tôi phải làm giảm doanh số bán thời gian xử lý giao dịch nhập lệnh bằng 50 phần trăm "hoặc" Những chiếc xe có một hệ thống điều khiển máy tính cho mỗi bánh xe "). Thay vào đó, họ mô tả những gì dường như là một khái niệm trừu tượng ở khoảng giữa ("Tôi cần một màn hình mới dựa trên GUI đơn hàng" và "Tôi muốn có một chiếc xe với ABS"). Chúng tôi gọi những biểu cấp cao của hệ thống hành vi mong muốn các tính năng của một sản phẩm hoặc hệ thống. Những tính năng này thường không được xác định rõ và thậm chí có thể có mâu thuẫn với một another- "Tôi muốn tăng tỷ lệ xử lý đơn hàng" và "Tôi muốn cung cấp một giao diện người dùng thân thiện hơn rất nhiều để giúp nhân viên mới của chúng tôi tìm hiểu hệ thống", nhưng họ được một đại diện của nhu cầu thực sự vẫn. Những gì đang xảy ra trong cuộc thảo luận này? Trong tâm trí của họ, các bên liên quan đã dịch các nhu cầu thực tế (năng suất, an toàn) vào một hệ thống hành vi mà họ có lý do để tin rằng sẽ giải quyết được nhu cầu thực tế (Hình 9-1). Khi làm như vậy, những gì ("Tôi cần") đã chuyển sang tinh tế như thế nào ("những gì tôi nghĩ rằng hệ thống cần phải làm gì để giải quyết nhu cầu này"). Đây không phải là một điều xấu kể từ khi người dùng thường có chuyên môn thực tế trong các lĩnh vực và cái nhìn sâu sắc thực sự vào các giá trị của một tính năng tương lai. Ngoài ra, bởi vì nó rất dễ dàng để thảo luận về các tính năng trong ngôn ngữ tự nhiên, tìm hiểu về chúng, và để giao cho người khác, họ thêm phong phú rất lớn đến các schema yêu cầu. Hình 9-1. Nhu cầu và tính năng liên quan chặt chẽ đồ họa / 09fig01.gif Tuy nhiên, có một cảnh báo để thảo luận này: nếu đội rời khỏi cuộc thảo luận mà không có một sự hiểu biết về sự cần thiết đằng sau tính năng, sau đó là một nguy cơ thực sự. Nếu tính năng này không giải quyết được nhu cầu thực sự cho bất kỳ lý do, sau đó hệ thống có thể không đáp ứng các mục tiêu của người sử dụng mặc dù việc thực hiện chuyển giao các tính năng mà họ yêu cầu. Bạn là đúng, nhưng bạn vẫn bị mất! Tính năng này là một cách thuận tiện để mô tả các chức năng mà không bị sa lầy vào chi tiết. Trong mọi trường hợp, chúng ta thấy mức độ cao của sự trừu tượng-các tính năng này-là một cách hữu ích và thuận tiện để mô tả các chức năng của một hệ thống mới mà không bị sa lầy vào quá nhiều chi tiết. Thật vậy, chúng tôi sẽ đưa hầu hết các hoạt động yêu cầu của chúng tôi từ tính năng này "" xây dựng. Chúng tôi xác định một tính năng như một dịch vụ hệ thống cung cấp để thực hiện một hoặc các bên liên quan cần có thêm nhiều. Với định nghĩa này, các tính năng của người sử dụng có thể không được quá xa khỏi nhu cầu của họ, và chúng tôi có một cách tiện dụng để bắt đầu để xác định hệ thống. Trọng tâm của chúng tôi trong việc tìm hiểu nhu cầu của người sử dụng là gợi ý về việc tổ chức và các nhu cầu và tính năng của hệ thống này. Đôi khi chúng ta sẽ nhận được tất cả các nhu cầu và không có tính năng này. Đôi khi chúng ta sẽ nhận được tất cả các tính năng và không có nhu cầu. Đôi khi chúng ta sẽ không thể phân biệt chúng. Nhưng chừng nào chúng ta cẩn thận về sự khác biệt trong tâm trí của chúng ta, chúng ta nên, tất cả các thời gian, được học tập thông tin có giá trị về những gì hệ thống phải làm. Các tính năng được dễ dàng thể hiện trong ngôn ngữ tự nhiên và bao gồm một cụm từ ngắn; Bảng 9-1 cho thấy một số ví dụ. Hiếm khi, nếu bao giờ hết, đặc điểm xây dựng chi tiết hơn. Các tính năng cũng là cấu trúc rất hữu ích cho sản phẩm đầu quá trình đàm phán và thương mại-off liên quan phạm vi quản lý và. Những tuyên bố của các tính năng không đòi hỏi một lượng lớn đầu tư, và chúng rất dễ để mô tả và danh sách. Bảng 9-1. Ví dụ về các tính năng ứng dụng tên miền Ví dụ về một tính năng hệ thống điều khiển thang máy kiểm soát cửa bằng tay trong trường hợp khẩn cấp cháy hệ thống kiểm soát hàng tồn kho Cung cấp up-to-date trạng thái của tất cả các hạng mục kiểm kê Defect theo dõi hệ thống Cung cấp dữ liệu xu hướng để đánh giá chất lượng sản phẩm hệ thống lương Báo cáo trích-to- ngày theo thể loại hệ thống Chiếu sáng tự động hóa (HOLIS) thiết lập nghỉ trong thời gian dài đi Weapon hệ thống kiểm soát tối thiểu của hai xác nhận độc lập của phép tấn công yêu cầu ứng dụng Shrink-wrap Windows XP tương thích Quản lý phức tạp bởi Đón các mức độ trừu tượng Một hệ thống phức tạp tùy ý có thể được định nghĩa trong một danh sách các tính năng 25-99. Các số tính năng cho phép chúng ta chính mình để xem xét hiệu quả sẽ chọn mức độ trừu tượng của định nghĩa. Để quản lý sự phức tạp của hệ thống chúng tôi đang hình dung, chúng tôi khuyên rằng, đối với bất kỳ hệ thống mới hoặc cho một số gia vào một hệ thống hiện có, khả năng được trừu tượng đến một mức độ đủ cao để tối đa chỉ 25-99 có kết quả, có ít hơn 50 ưa thích. Bằng cách này, một số lượng tương đối nhỏ và có thể quản lý các thông tin cung cấp một cách toàn diện và đầy đủ cho các định nghĩa sản phẩm, thông tin liên lạc với các bên liên quan, phạm vi quản lý, và quản lý dự án. Với các tính năng phù hợp 25-99 loại và sắp xếp, chúng tôi sẽ có thể để mô tả và truyền đạt Gestalt của hệ thống, có thể là một tàu con thoi ("reentry và tái sử dụng") hoặc một công cụ phần mềm ("trending khiếm khuyết tự động"). Trong Team Skill 5, Tinh chỉnh các hệ thống Định nghĩa, các tính năng này sẽ được xây dựng thành các yêu cầu chi tiết thật cụ thể để cho phép thực hiện. Chúng tôi sẽ gọi những yêu cầu phần mềm để phân biệt với các tính năng cấp cao hơn. Chúng tôi sẽ đối phó với nhu cầu đặc thêm sau đó. Đối với doanh nghiệp, tuy nhiên, chúng tôi sẽ tiếp tục suy nghĩ của chúng tôi tại các tính năng cấp độ. Khi tập các tính năng có thể được liệt kê, đó là thời gian để bắt đầu thực hiện quyết định đó là "làm theo một thông cáo sau", "thực hiện ngay lập tức," "từ chối hoàn toàn, "hay" điều tra thêm. " Quá trình xác định phạm vi này được thực hiện tốt nhất ở cấp độ của tính năng chứ không phải ở mức độ yêu cầu, hoặc bạn sẽ bị ngập trong chi tiết. Chúng tôi sẽ giới thiệu Phạm vi trong Team Skill 4, Quản lý Scope. Các thuộc tính của tính năng sản phẩm Để giúp chúng tôi quản lý tốt hơn thông tin này, chúng tôi giới thiệu các tính năng xây dựng các thuộc tính, hoặc các yếu tố dữ liệu cung cấp thêm thông tin về tính năng. Các thuộc tính được sử dụng để liên hệ các tính năng hoặc yêu cầu dữ liệu với các loại thông tin dự án. Chúng tôi có thể sử dụng các thuộc tính để theo dõi (tên hoặc định danh duy nhất, nhà tài trợ, các dữ liệu lịch sử, phân bổ từ, bắt nguồn từ, vv), ưu tiên (lĩnh vực ưu tiên), và để quản lý (status) các tính năng được đề xuất để thực hiện. Ví dụ, các ưu tiên thuộc tính có thể được sử dụng để nắm bắt các kết quả của cuộc bỏ phiếu tích lũy trong một cuộc họp; số phiên bản thuộc tính có thể được sử dụng để ghi lại các phần mềm phát hành cụ thể trong đó chúng ta có ý định thực hiện một tính năng cụ thể. Bằng cách gắn các thuộc tính khác nhau để các tính năng, bạn có thể quản lý tốt hơn sự phức tạp của các thông tin. Mặc dù không có giới hạn cho các loại thuộc tính mà bạn có thể tìm thấy hữu ích, kinh nghiệm đã chứng minh rằng một số thuộc tính chung cho năng này áp dụng cho hầu hết các trường hợp dự án (xem Bảng 9-2 ở trang sau). Trong phần còn lại của cuốn sách này, chúng tôi sẽ sử dụng những thuộc tính này để giúp chúng tôi quản lý sự phức tạp của
đang được dịch, vui lòng đợi..
