Tính năng so với Chức năng [đã đóng]


16

Thường thì tôi nghe các PM (Người quản lý dự án) nói về tính năng và chức năng. Và tôi rất bối rối để phân biệt chúng. Đôi khi tôi nghĩ về một tính năng tương đương với một câu chuyện của người dùng. Một cái gì đó như "Là người dùng, Bob sẽ có thể xem danh sách các khoản thanh toán của anh ấy" và họ gọi đó là một tính năng. Đôi khi, nó trở nên lớn như một hệ thống con, đại loại như "khả năng gửi SMS qua ứng dụng web". Mặt khác, chức năng đôi khi chỉ nhỏ như một nhiệm vụ, "thực hiện nhóm chữ số cho đầu vào số", trong khi có những trường hợp khi nó lớn như toàn bộ thao tác CRUD.

Câu hỏi của tôi là, làm thế nào chúng ta có thể phân biệt tính năng từ chức năng?


9
Tôi sẽ không ám ảnh về điều này rất nhiều. Cả hai đều có nghĩa là 'chương trình sẽ có thể làm điều này hoặc điều kia'; nếu một người quản lý dự án tạo ra sự khác biệt, có lẽ đó là vấn đề cá nhân và bạn chỉ nên đọc giữa các dòng để rút ra ý định.
tdammers

8
Hoặc chỉ yêu cầu định nghĩa của họ về mỗi. Có lẽ họ sử dụng hai từ đồng nghĩa lỏng lẻo.
Péter Török

Điểm đạn so với giá trị
Erik Reppen

Câu trả lời:


35

Các tính năng là những gì người bán hàng bán.
Chức năng là những gì lập trình viên phát triển.


4
Tốt, đáng nhớ, câu trả lời phân biệt.
Saeed Neamati

@RobertHarvey Bạn có lập luận cụ thể chống lại câu trả lời này không?
Zibbobz

@Zibbobz: Ý bạn là khác với thông thường? Ngoài ra, lưu ý các phiếu bầu áp dụng cho câu hỏi.
Robert Harvey

8

Các chức năng không phù hợp với bối cảnh của câu chuyện người dùng và hầu hết là minh bạch đối với người dùng. Chúng có thể là một quá trình phụ trợ hoặc một số loại chức năng ứng dụng duy nhất hoặc phổ biến cho phép các tính năng khác hoặc có thể các chức năng khác được triển khai một cách thích hợp.

Mặt khác, các nhiệm vụ là các đơn vị công việc riêng lẻ phải được hoàn thành để phân phối một tính năng hoặc chức năng.

Trong các dự án của mình, tôi có xu hướng không phân biệt giữa Tính năng và Chức năng và tôi viết các câu chuyện của người dùng cho các tính năng và thêm các chức năng hoặc tái cấu trúc các nỗ lực dưới dạng Nhiệm vụ để hoàn thành một tính năng.

Điều này đôi khi làm cho một số tính năng nhất định trông không cần thiết trong kế hoạch dự án nhưng điều này không sao, bởi vì nếu tôi cần Chức năng 1 và 2 và Chức năng 3 được tái cấu trúc để cung cấp đúng Tính năng 1 thì có lẽ khả năng cung cấp duy nhất của tôi cho lần chạy nước rút đó sẽ là Tính năng 1, hoặc có thể không có sản phẩm nào

Chừng nào đến cuối nước rút tôi vẫn còn phần mềm hoạt động thì dự án của tôi là Agile.


6

Các tính năng là những gì chương trình của bạn có thể làm. Các tính năng là kết quả trực tiếp của các yêu cầu người dùng và mục tiêu kinh doanh. Do đó, các tính năng của chương trình tồn tại chủ yếu để đáp ứng nhu cầu của người dùng .

Mặt khác, chức năng là cách các tính năng nói trên được thực hiện .


2

Đối với một PM, "Chức năng" là mục đích và "Tính năng" là hành vi sản phẩm mà người dùng có thể tương tác. Tuy nhiên mọi người thường nhận được hai ngược (mà tôi nghĩ là trường hợp trong câu hỏi của bạn).

Đưa tôi từ nơi A đến nơi B là chức năng chính của xe hơi. Đó là lý do (mục đích) nó tồn tại. Tay lái là một tính năng, cũng như thanh bánh răng. Trình điều khiển tương tác với nhiều tính năng để đạt được chức năng nhận được ở đâu đó.

"Chức năng" ở đây không nên bị nhầm lẫn với chức năng ngôn ngữ lập trình (phương pháp) nói về việc triển khai phần mềm tính năng. Đó rất có thể không phải là những gì một PM sẽ nói về khi họ đề cập đến "Tính năng và Chức năng".

Không có sự phân cấp tốt cho các chức năng và tính năng, vì một tính năng có thể được sử dụng để hỗ trợ nhiều chức năng sản phẩm.


0

Tôi tin rằng một sự phân biệt chính xác phải được rút ra cho một phương pháp cụ thể hoặc văn hóa yêu cầu cụ thể. Sau đây là giải thích của riêng tôi.

Chức năng: Một yêu cầu cốt lõi ảnh hưởng đáng kể đến giá trị của phần mềm, mà người dùng phải có tại một bản phát hành cụ thể. Ví dụ: Lưu chức năng trên một trình soạn thảo văn bản.

Tính năng: Rất tốt để có khả năng của phần mềm, giúp tăng giá trị cho phần mềm nhưng không phải là phần mềm tuyệt đối để phần mềm hoạt động đúng và thực hiện các chức năng của phần mềm. Ví dụ: có một tính năng hoàn tác trên biểu mẫu nhập dữ liệu hoặc lưu tài liệu dưới dạng tệp gif cho trình chỉnh sửa văn bản (có dây!).


1
Tôi không biết bạn lấy những thứ này từ đâu, nhưng IMHO các định nghĩa thông thường nhất về chức năng và tính năng không tạo ra sự khác biệt nào về tầm quan trọng.
Doc Brown

Tôi đủ điều kiện anser, thnx cho nhận xét của bạn.
NoChance

-1

Đằng sau mỗi tính năng là chức năng cần thiết để cung cấp cho người dùng mục đích dự định của tính năng.

Ví dụ: Hệ thống đăng ký của một trường đại học sẽ có tính năng "đăng ký sinh viên cho các lớp". Nhiệm vụ này đòi hỏi khá nhiều chức năng cũng như quyền truy cập vào cơ sở dữ liệu. Thiết kế cho tính năng này sẽ liên quan đến sự hiểu biết về nhiệm vụ thực tế của người dùng - đăng ký lớp học. Đây sẽ là điều kiện tiên quyết cho "thiết kế tương tác" cần thiết để tạo thuận lợi cho tác vụ của người dùng. Các chức năng sẽ được thiết kế để thực hiện các yêu cầu tương tác.

Các lập trình viên đang tìm kiếm các chức năng để mã. Các nhà thiết kế tương tác đang tìm kiếm cách tốt nhất để cung cấp chức năng cần thiết này thông qua thiết kế tương tác của phần mềm với người dùng. Hiểu về cách người dùng có thể đạt được mục tiêu tốt nhất của mình trước tiên. Xác định các chức năng cần thiết sau đây.

Trên đây là không khoa học, nó chỉ là ý kiến ​​của tôi.


2
Cảm ơn bạn đã thêm bài viết đầu tiên của bạn vào Lập trình viên trao đổi Stack. Vui lòng xem các lập trình viên FAQ.stackexchange.com/faq để biết ý tưởng về cách viết câu hỏi và câu trả lời sẽ nhận được phiếu bầu và cải thiện danh tiếng của bạn.
Nhà phát

-1

Điều quan trọng là phải nhớ phân biệt giữa chức năng sản phẩm và tính năng sản phẩm. Các chức năng là câu trả lời của sản phẩm trên hệ thống các nhiệm vụ của người dùng. Các tính năng là các công cụ người dùng của Cameron vốn có trong sản phẩm được sử dụng để thực hiện các chức năng. Đặt một cuộc gọi điện thoại là một chức năng; âm quay số và bàn phím âm chạm là các tính năng được sử dụng để thực hiện chức năng.


-2

Tôi đồng ý rằng nó không đáng để ám ảnh vì các thuật ngữ thường được sử dụng thay thế cho nhau trong một số bối cảnh. Tuy nhiên, trong bối cảnh quản lý rộng hơn, tôi nghĩ rằng có một số điểm quan trọng. Đầu tiên, PM cũng có thể có nghĩa là người quản lý sản phẩm. Ai đó phải chịu trách nhiệm trong việc quyết định những gì thị trường sẽ hỗ trợ về giá cả, ngày giao hàng và tính năng. Tôi thường thấy rằng tính năng này được ưa thích khi bạn ở trong một bối cảnh tiếp thị. Vai trò của người quản lý dự án là quản lý dự án sao cho sản phẩm mong muốn được giao đúng thời hạn và trong ngân sách. Đối với kiến ​​trúc sư và nhà thiết kế, tính năng được đưa ra và có thể được coi là các chức năng được phân phối trong tổ chức con người cung cấp chuyển đổi và lưu trữ dữ liệu nhưng phải được thống nhất cho đến khi thiết kế được giảm xuống thành các đơn vị công việc có thể ủy thác cho nhà phát triển . Nó thường là trường hợp một tính năng không ánh xạ sạch đến một tập hợp các chức năng trong hệ thống máy. Ví dụ, nhanh và an toàn là các tính năng mà người tiêu dùng mong muốn nhưng không thể tách biệt trong mã. Những đặc tính nổi bật này là những gì làm cho các yêu cầu phi chức năng trở nên khó đáp ứng.


bài này khá khó đọc (tường văn bản). Bạn có phiền chỉnh sửa ing nó thành một hình dạng tốt hơn?
gnat
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.