고객의 요청을“몇 가지 필드 만 추가 할 수 있습니까?”유형의 요청을 처리하는 방법은 무엇입니까?


12

매우 일반적으로 한 고객 만 원하는 필드에 대한 기능 요청이 있습니다. 이로 인해 애플리케이션 코드가 복잡해집니다. 필드를 추가 한 후 몇 개월 후에 데이터베이스를 살펴보면 실제로 추가 필드를 사용하지 않는 것을 알 수 있습니다. 또한 매우 오래된 응용 프로그램이므로 단일 필드를 추가하려면 코드를 여러 번 변경하고 보고서를 변경해야하며 필드를 볼 필요가없는 다른 고객에게 영향을 미치지 않도록해야합니다.

  • 고객에게 실제로 이러한 기능 요청이 필요한지 어떻게 확인할 수 있습니까?

  • "정말 필요하지 않다"고 정중하게 어떻게 말합니까?

현재 특정 기능 요청에 대한 요금을 청구하기 시작했습니다. (이전에는 일반적으로 기능 요청이 무료였습니다) 다른 작업을 수행 할 수 있습니까?


숨을 내쉬며 많은 저주와 저주로>. <결국, 그들은 나를 지불하고 있습니다 ....
Rachel

답변:


16

추가 기능에 대한 비용을 지불하고 있습니까? 그렇다면 사용 여부에 관계없이 비즈니스가 아닙니다. 그들이 지불 한 것을 줘. 그러나 그렇지 않은 경우 추가 수입없이 기능을 계속 추가 할 의사가 있는지 결정하는 것은 귀하의 책임입니다.


2
잘 지불하고 있지만 코드를 혼란스럽게하는 사소한 작은 요청이 아니라 결국 더 많은 기능 요청에 집중하고 싶습니다.
Earlz

8
@Earlz- "실제로 집중하고 싶습니다 ..."-고객 관계가 그렇게 작동하지 않을 것이라고 확신합니다. 이러한 작은 요청 (고객에게 상당한 가치를 부여 할 수 있음)은 더 큰 물건을 만들기 위해 지불하는 가격입니다. 선택 및 선택하는 사람이 아니라 필요에 응답하는 공급 업체가 필요합니다. 그것을 처리하는 방법은 가격을 공정하게 책정하지만 더 큰 릴리스로 번들로 묶는 것이 비용 효과적이며 (회귀 테스트 등이 적음) 그러한 방식으로 처리하는 것이 더 매력적이라고 ​​시도하는 것입니다. 선택하고 선택하십시오.
Jon Hopkins

2
고객의 5 %를 잃어 50 %의 비용을 절감 할 수 있다면, 그것은 좋은 생각입니다. 이 커스텀 필드는 보상이 거의 없어서 정말 많은 땀입니까?
9000

5
소프트웨어 개발은 ​​열악하거나 재미 있지 않기 때문에 개발자가 고객이 원하는 것을하고 싶지 않은 경향이 있습니다. 우리 개발자들은 고객의 요구보다 보편적으로 행복을 추구하는 경향이 있습니다. 그러나 그것은 우리의 재미와 즐거움에 관한 것이 아닙니다. 고객에 관한 것입니다. 고객은 청구서를 지불하는 사람이므로 행복하게 만드는 것이 좋습니다. 사용자 정의 가능한 소프트웨어를 작성하는 사업에 종사하는 경우 이는 작업의 일부입니다.
존 크래프트

3
@Wayne M 제가 언급 한 태도를 보여 주셔서 감사합니다. 고객은 기술을 이해하지 못할 수도 있지만 일반적으로 바보가 아닙니다. 일반적으로 비즈니스 요구를 이해하지 못하는 개발자입니다. 또한 기능을 추가하면 응용 프로그램의 무결성이 손상되면 응용 프로그램 디자인이 좋지 않은 것입니다.
존 크래프트

3

비슷한 상황이 있습니다. 우리가 처리하는 방식은 신뢰 기반 관계를 구축하여 "이것이 필요 없다"고 말하는 자유를줍니다. 시간과 여유가 필요하며 많은 대화를 나눌 준비가되어 점심과 기타 지루한 작업을해야합니다. 이 지루한 회의는 중요한 기능을 만드는 데 집중할 수있는 장기적으로 비용을 지불합니다.

말하는 것은 또한 그들이 요구하는 것이 실제로 그렇게 중요한지 확인할 수있게합니다.


3

난 당신이 "정말 필요합니까?"에 들어갈 수 있다고 생각하지 않습니다 고객과의 논쟁. 개인적으로 "귀하의 회사가 더 많은 돈을 벌 수있는 방법은 무엇입니까?"라고 묻고 싶습니다. 그러나 문제의 일부 사실, 어떤 관리자는 어떤 이유로 그것을 추적하고 싶어하고 그들이 길을 찾는 데 사용하고 있습니다. 원치 않는 경우 요청을하지 말라고 너무 많은 돈을 청구하거나 청구하지 마십시오.

애플리케이션이 더 많은 고객 필드를보다 쉽게 ​​처리 할 수있는 방법을 고려하십시오.

  1. 고객이 보고서 및 양식의 레이블을 설정하여 기존 필드를 활용할 수 있도록합니다.
  2. 기존 또는 추가 사용자 정의 필드 테이블에 일반 필드 (String12)를 추가하십시오.
  3. 이것이 모두 데이터 입력에 의해 처리되고 테이블에 새 열을 만들 필요가없는 사용자 정의 필드 시스템을 갖습니다 (이것이 help라고하는 것을 기억할 수 없습니다).

기존 고객이 시스템을 넘어서고 있음을 알 수 있습니다. 산업이 변화하면서 새로운 요구 사항이 나타나고 있습니다.

죄송하지만 기술적 인 이유만으로 이익을 얻는 것이 아니라 고객에게 원하는 것을 제공 할 수없는 경우 그 속도를 따라야합니다. 새로운 이민자가 더 많은 분야로 시장에 진출하는 것은 어렵지 않으므로 그렇게하지 마십시오.


3

잠시 동안 창 반대편에서 살펴본 결과, 마지막 작업에서 최종 사용자가 "사용자 정의"열을 엔티티 / 테이블에 추가 할 수있는 ERP 시스템에 노출되었습니다. 간단한 상호 작용으로 일대일 매핑으로 열을 두 번째 테이블에 동적으로 추가하는 것처럼 보였습니다. 예를 들어 :

정적 열이있는 WIDGET 테이블 :

  • WIDGET_ID
  • WIDGET_NAME
  • WIDGET_COST
  • 기타

사용자 정의 열이있는 WIDGETCUSTOM 테이블 :

  • WIDGET_ID
  • WIDGET_WEIGHT
  • DID_BOB_WORK_ON_WIDGET
  • 기타

WIDGET_ID 열은 서로 묶을 수 있습니다. 위젯을 편집 할 때 추가 필드가 자동으로 표시되어 동적 보고서에 포함하거나 검색 할 수 있습니다. 데이터베이스는 여전히 데이터베이스를 추적하고 필요한 경우 해당 열을 색인화 할 수 있기 때문에 상당히 효율적이었습니다.

프로그래밍 관점에서 나는 그것이 어떻게 제정신을 유지하는지 알 수 있습니다. 모든 고객은 자신 만의 맞춤 열을 가질 수 있지만 이러한 맞춤 열은 핵심 로직을 방해하지 않습니다.


이 응용 프로그램은 너무 정밀한 검사없이 이러한 기능을 추가하기에는 너무 복잡합니다. 따라서이 솔루션은 제공되지 않습니다 (그러나 1 년 동안 제공 될 주요 버전 업데이트로 계획 됨)
Earlz

1
1 년 안에이 문제를 처리 할 수 ​​있다면 큰 문제는 무엇입니까?
JeffO

@Jeff 1 년 동안 이러한 기능 요청으로 인해 혼란에 빠지지 않는다고 가정합니다. 기본적으로 중단없는 개발 시간 1 년
Earlz

1

기능 "요청"은 바로 요청입니다. 그들이 요구를하고 있다면, 회사가 코드베이스를 "혼잡"시키는 것이 얼마나 가치가 있는지 결정해야합니다. 그것이 풍토병 문제가되면 당신은 그것을 막을 수 있지만, 그들이 당신이 요구하는 것 또는 그것에 가까운 것에 기꺼이 지불하고 여기저기서 몇 가지 특징 일뿐이라면, 돈과 함께 가라고 말합니다.

더 나아가, 이것이 제품에 대한 지속적인 문제이고 여러 고객이 이러한 종류의 사용자 정의를 찾고 있다면 아마도 앱의 이러한 부분을 재고하고 고객이이를 수행 할 수있는 방식으로 융통성있게 만들어야 할 때입니다. 그 자체로, 임시보고, 유연한 데이터 수집 등이 있습니다. 이러한 성가심을 판매 지점으로 바꾸십시오. "주식 데이터 모델이 충분하지 않습니다. 맞춤형 옵션을 확인하십시오! 직접 할 수 있습니다!"


2
모든 문제 뒤에는 해결책을 만들어서 누군가에게 팔 수있는 기회라는 점을 기억하십시오.)
MattC

0

해당 기능에서 수행 할 작업을 정확하게 지정하고 예상 시간을 적용하여 작성해야합니다. 고객이 추가 입력란을 원할 경우 요금을 청구하십시오. 고객에게 기능을 만든 후 기능을 추가하려면 괜찮지 만, 경우에 따라 작동하는 데 약간의 비용이 더 든다고 고객에게 말합니다.

나는 그들이 당신이 그것을 사용하는지 여부를 걱정하는 이유를 이해하는데 어려움을 겪고 있습니다. 간단합니다. 원하는 것을 만들고 지불하면됩니다.

코드베이스 혼란? 새로운 기능에서 작업 할 때 코드를 리팩터링해야하는 경우 코드를 청구하십시오.


0

"몇 가지 추가 필드 만 추가"를 포함하여 추가 할 몇 가지 기능 목록을 작성하십시오. 고객에게 목록을 보여주고 어떤 고객이 먼저 원하는지 피드백을 요청하십시오. 자원이 제한되어 있으며 한 번에 모든 것을 할 수는 없다고 설명하십시오. 피드백을 사용하여 응용 프로그램과 함께 가고 싶은 방향을 결정하십시오.

고객이 몇 가지 추가 필드가 정말 주장하는 경우 중요하고 당신은 여전히 그들을 추가하지에 결정, 희망 고객은 아직도 당신이 대신 구현 된 기능의 혜택을 볼 수 있습니다.


0

일종의 풀 시스템에서 도움이 될 것 같습니다. 사용자가 다음에 구현할 기능을 선택하도록 허용하지만 언제든지 개발할 수있는 수를 제한하십시오. Kanban 보드는 이것으로 훌륭합니다. 사용자에게 priortiztion 프로세스의 소유권을 부여 할 수 있습니다 (일명 책임과 스트레스 감소). 사용자가 다음에 어떤 기능을 개발할 것인지 결정하고 다른 요청은 제 거한다는 사실을 알고 있으면 실제로 필요한 것을 결정하는 데 더 많은 투자를 할 것입니다.


Kanban 방법은 문제가 발생한 장소 인 Gemba에 갈 수있는 경우에만 작동합니다. 물리적 공간에 있고, 일을하고있는 사람들과 이야기하고 그들이 어떻게 하는지를 보여주십시오. 눈으로보고 손가락으로 만지십시오. 그런 다음에 만 개선 방법을 찾아보십시오. 개선 방법을 물어보십시오.
Christopher Mahan

@Christopher-포인트를 얻었지만 확실히 시스템을 어느 정도 수정할 수 있습니다. 아마도 Kanban을 잊어 버릴 수도 있지만 풀 시스템의 아이디어를 유지하십시오. 작동 방식에 관계없이 사용자는 작업의 우선 순위를 정하고 개발이 지속적인 환경에서 다음에 수행 할 작업을 선택해야합니다. 개발자는 다음에 어떤 기능을 수행해야하는지 실제로 알 수있는 방법이 없습니다.
Morgan Herlocker

1
Ironcode, 당신 말이 맞아요. 저는 Bank of America에서 근무하며 팀은 bugzilla 버그 우선 순위를 통해 기능 요청의 우선 순위를 정할 수 있습니다. 버그를 신고 한 다음 우선 순위를 정합니다. 언제든지 우선 순위를 변경할 수 있으며 조정합니다. 예, 때로는 전환 비용이 발생하지만 비즈니스에 더 효과적이라는 것을 알았습니다. 경영진이 고객의 목표를 가질 수 있기 때문에 이것은 원래의 포스터에는 효과가 없을 것입니다. (간신히 옆으로,이 관리 접근 방식은 잘못된 것으로 보입니다)
Christopher Mahan

0

고객이 소프트웨어를 실제로 사용하는 방법을 확인하기 위해 "사무실에서 하루"를 보내도록 고객에게 요청해야한다고 생각합니다 ... 잠깐만 ... 시간당 $ 250를 고용하면 알게 될 것입니다. 또한 금도금하지 마십시오. 그냥 작동하게하십시오. 대부분의 비즈니스는 제대로 작동 할 때보기 흉하지 않게 신경 쓰지 않습니다.


우리는 이것을했습니다. 기능 요청이 사용되지 않는시기를 알고있는 이유입니다.
Earlz

아, 그러면 고객 회사에서 정치적 싸움이 있습니다. 당신은 망했다. 또는 스테이크와 스트리퍼로 만들 수도 있습니다.
Christopher Mahan

0

요청을 추적하십시오. 기능 을 디자인 / 개발할 때 해당 릴리스에 포함 할 우선 순위가 지정된 몇 가지 요청을 선택하십시오.


0

요청에 대한 표준 협상 시스템을 구축하십시오. fogbugz와 같은 버그보고 또는 기능 요청 시스템을 기반으로 한 것일 수 있습니다. 고객이 요청을하고 다음을 기준으로 우선 순위를 정하십시오.

  • 기능의 기술적 타당성 / 비용
  • 기능 요청이 "유료"요청입니까? 계약서에 있거나 지불 한 경우
  • 기능이 "이해"합니까? 이것은 약간의 기술이지만 일반적으로 충분한 고객이 기능을 요구하면 무료로 구현하십시오. 제품을 개선하고 다음 고객에게 더 쉽게 판매 할 수있는 기회입니다
  • 사용하지 않은 유료주기가 있습니까? 계약의 일부로 유지 보수 / 지원을위한 월 단위 시간을 포함하고 (수치가 매우 낮더라도 권장합니다), 사용하지 않는 경우 이러한 종류의 변경 작업을 시작하십시오.

0

고객이 애플리케이션의 총 소유 권한을 보유한 경우 고객이 요청한대로 수행하십시오. 그들이 돈을 날려 보자. 그건 그들 꺼야.

그러나 그렇지 않은 경우 이러한 보조 필드에 대한 솔루션으로 이동하여 코어 데이터 모델 외부에 저장해야합니다. 그런 다음 데이터베이스보기와 같은 것을 사용하여이 특정 고객에 대한 추가 필드를 다시 병합 할 수 있습니다. (저장되는 데이터의 특성에 따라 보조 저장소를 수행하는 몇 가지 방법이 있습니다. 가장 간단한 것은 기본 테이블의 일부 PK와 기본 키가 동일한 테이블이지만 사용시 비효율적입니다 인덱싱과 같은 기능이 필요한 필드의 기능을 원할 때만 문제가됩니다.)

이 단계에서 구현할 리소스가 충분하지 않다는 고객의 요청을 취소 할 수도 있습니다. 그 시점에서 원하는 것을 저렴하게 구현할 수있게 될 시점 (최상의 견적)을 나타내는 로드맵을 가리키면 실제로 도움이됩니다. 그리고 당신은 해야 하면 해당 메타 기능이 기본 응용 프로그램의 핵심 판매 기능되면서, 싸게 기능을 지원하는 것이 가능하게된다 상태로 응용 프로그램을 받고 우선 순위.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.