기능 대 기능 [닫힘]


16

종종 PM (프로젝트 관리자)이 기능에 대해 이야기하는 것을 듣습니다. 그리고 나는 그것들을 구별하기가 너무 당황합니다. 때로는 기능이 사용자 스토리와 동등한 것으로 생각합니다. "사용자는 Bob에게 지불 목록을 볼 수 있어야합니다."와 같은 것을 기능이라고합니다. 때로는 "웹 응용 프로그램을 통해 SMS를 보내는 기능"과 같은 하위 시스템만큼 커집니다. 반면에 함수는 "숫자 입력을위한 숫자 그룹화 구현"작업만큼 작을 수 있지만 전체 CRUD 작업만큼 커지는 경우가 있습니다.

제 질문은 기능과 기능을 어떻게 구별 할 수 있습니까?


9
나는 이것에 너무 집착하지 않을 것입니다. 둘 다 '프로그램이이 작업을 수행 할 수 있어야합니다'를 의미합니다. 만약 프로젝트 관리자가 구별을한다면, 그것은 개인적 일 것입니다. 그리고 당신은 의도를 추출하기 위해 줄 사이를 읽어야합니다.
tdammers

8
또는 각각의 정의를 요청하십시오. 아마 그들은 둘을 느슨한 동의어로 사용했을 것입니다.
Péter Török

총알 포인트 대 가치
Erik Reppen

답변:


35

기능 은 사람들이 판매하는 것입니다.
함수 는 프로그래머가 개발하는 것입니다.


4
훌륭하고 기억에 남으며 구별되는 대답.
Saeed Neamati

@RobertHarvey이 답변에 대해 구체적인 논거가 있습니까?
Zibbobz

@Zibbobz : 일반적으로 알리지 않는 것 이외의 의미입니까? 또한 질문에 적용된 마감 투표에 유의하십시오.
Robert Harvey

8

함수는 사용자 스토리의 맥락에 잘 맞지 않으며 대부분 사용자에게 투명합니다. 백엔드 프로세스이거나 다른 기능 또는 다른 기능을 적절하게 구현할 수있는 고유하거나 일반적인 응용 프로그램 기능 일 수 있습니다.

반면에 작업은 기능 또는 기능을 제공하기 위해 완료해야하는 개별 작업 단위입니다.

내 프로젝트에서는 기능과 기능을 구분하지 않는 경향이 있으며 기능에 대한 사용자 스토리를 작성하고 단일 기능을 완료하는 작업으로 기능이나 리팩토링 노력을 추가합니다.

이로 인해 때로는 프로젝트 계획에서 특정 기능이 불필요하게 부풀어 보일 수 있지만 기능 1과 2 및 기능 3이 기능 1을 올바르게 전달하기 위해 리팩토링되어야하는 경우 해당 스프린트에 대한 나의 유일한 기능은 기능 1이거나 결과물이 전혀 없을 수도 있습니다.

스프린트가 끝날 때까지 여전히 소프트웨어가 작동하는 한 내 프로젝트는 민첩합니다.


6

기능은 프로그램이 할 수있는 일입니다. 기능은 사용자 요구 사항과 비즈니스 목표의 직접적인 결과입니다. 따라서 프로그램의 기능은 주로 사용자 요구를 충족시키기 위해 존재합니다 .

반면에 기능은 위에서 언급 한 기능이 실제로 구현되는 방식 입니다.


2

PM의 경우 "기능"은 목적이며 "기능"은 사용자가 상호 작용할 수있는 제품 동작입니다. 그러나 사람들은 종종 두 가지를 거꾸로 얻습니다 (귀하의 질문에 해당한다고 생각합니다).

장소 A에서 장소 B로 나를 데려가는 것은 자동차의 핵심 기능입니다. 그것이 존재하는 이유 (목적)입니다. 스티어링 휠은 기어 스틱과 마찬가지로 기능입니다. 운전자는 여러 기능과 상호 작용하여 어딘가에 도착하는 기능을 수행합니다.

여기에 "기능은"해야 하지 프로그래밍 언어 기능 (방법) 기능 소프트웨어의 구현에 대한 이야기와 혼동 될 수 있기 때문이다. PM이 "특징 및 기능"을 언급 할 때의 내용은 아닙니다.

하나의 기능을 사용하여 여러 제품 기능을 지원할 수 있으므로 기능과 기능에 대한 좋은 계층 구조는 없습니다.


0

특정 방법론 또는 특정 요구 사항 문화에 대해 올바른 구별이 이루어져야한다고 생각합니다. 다음은 내 자신의 해석입니다.

기능 : 소프트웨어의 가치에 큰 영향을 미치는 핵심 요구 사항으로, 사용자가 특정 릴리스에 있어야합니다. 예 : 텍스트 편집기에서 기능을 저장하십시오.

기능 : 소프트웨어에 가치를 부여하지만 소프트웨어가 제대로 작동하고 기능을 수행하는 데 반드시 필요한 것은 아닙니다. 예를 들어, 데이터 입력 양식에 실행 취소 기능이 있거나 문서를 텍스트 편집기 (wired!) 용 gif 파일로 저장하십시오.


1
당신이에서이 어디서 났는지는 모르겠지만, 기능과 기능 이럴 가장 일반적인 정의는하지 않는 어떤 중요성을 구별합니다.
Doc Brown

나는 당신의 의견에 대해 anser, thnx를 검증했습니다.
NoChance

-1

각 기능 뒤에는 기능의 의도 된 목적을 사용자에게 제공하는 데 필요한 기능이 있습니다.

예 : 대학 등록 시스템에는 "학생 등록자"기능이 있습니다. 이 작업에는 데이터베이스에 대한 액세스뿐만 아니라 약간의 기능이 필요합니다. 이 기능을 디자인하려면 사용자의 실제 작업 (클래스 등록)을 이해해야합니다. 이는 사용자 작업을 용이하게하는 데 필요한 "상호 작용 디자인"의 전제 조건입니다. 이 기능은 상호 작용 요구 사항을 구현하도록 설계되었습니다.

프로그래머는 코딩 할 함수를 찾고 있습니다. 인터랙션 디자이너는 소프트웨어와 사용자의 인터랙션 디자인을 통해 이러한 필요한 기능을 제공하는 가장 좋은 방법을 찾고 있습니다. 사용자가 자신의 목표를 가장 잘 달성 할 수있는 방법에 대한 이해가 우선입니다. 필요한 기능의 식별은 다음과 같습니다.

위의 내용은 과학적인 것이 아니라 내 의견 일뿐입니다.


2
Stack Exchange Programmers에 첫 번째 게시물을 추가해 주셔서 감사합니다. 투표를 받고 평판을 높이는 질문과 답변을 작성하는 방법에 대한 아이디어 는 FAQ programmers.stackexchange.com/faq 를 참조하십시오.
DeveloperDon

-1

제품 기능과 제품 기능의 차이점을 기억하는 것이 중요합니다. 기능은 "사용자 작업 세트에 대한 제품의 답변"입니다. 기능은 기능을 수행하는 데 사용되는 제품 고유의 "사용자 도구"입니다. 전화를 거는 것은 기능입니다. 발신음 및 터치 톤 키패드는 기능을 수행하는 데 사용되는 기능입니다.


-2

용어는 일부 상황에서 종종 상호 교환 가능하게 사용되므로 집착 할 가치가 없다는 데 동의합니다. 그러나 넓은 경영 환경에서는 몇 가지 중요한 점이 있다고 생각합니다. 첫째, PM은 제품 관리자를 의미 할 수도 있습니다. 가격, 납기일 및 기능에서 시장이 무엇을 지원할 것인지 결정하는 책임은 누군가에게 있습니다. 나는 일반적으로 당신이 마케팅 상황에있을 때 그 기능이 선호된다는 것을 알았습니다. 프로젝트 관리자의 역할은 원하는 제품이 제 시간에 예산 내에서 제공되도록 프로젝트를 관리하는 것입니다. 설계자와 설계자에게이 기능은 데이터 변환 및 저장 기능을 제공하는 휴먼 조직에서 제공되는 기능으로 간주 될 수 있지만 설계가 개발자에게 할당 할 수있는 위임 가능한 작업 단위로 축소 될 때까지 수정되어야합니다. . 기능이 기계 시스템의 기능 세트에 명확하게 맵핑되지 않는 경우가 종종 있습니다. 예를 들어 빠르고 안전한 기능은 소비자가 원하는 기능이지만 코드에서 분리 할 수는 없습니다. 이러한 긴급한 특성으로 인해 비 기능적 요구 사항을 충족하기가 어렵습니다.


이 게시물은 읽기 어렵습니다 (텍스트의 벽). 더 나은 형태로 편집 하시겠습니까 ?
gnat
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.