두 가지 기술 중 어느 것을 사용해야하는지 묻는 고객에게 무엇을 대답해야합니까?


14

프리랜서로서, 나는 종종 고객들에게 비슷한 요소들 중에서 어떤 요소를 선택해야하는지, 다른 요소보다 낫지 않은지 묻는다. 예 :

"전자 상거래 웹 사이트가 PHP 또는 ASP.NET이어야합니까?"

"클라우드에서이 일반 웹 서비스를 호스팅하거나 일반 호스팅 서비스를 사용해야합니까?"

"새로운 웹 사이트 인 MySQL 또는 Oracle 중 어느 것이 더 낫습니까?"

기타

선택과 관련이있는 경우의 최대 1 %가있을 수 있으며 정확한 측정 항목과 연구에 따라 서로를 사용해야하는 실질적이고 객관적인 이유가 있습니다. 다른 모든 경우에는 전혀 중요하지 않습니다. 시사점 ¹이 없거나 그러한 시사점이 너무 작아서 고려할 수 없기 때문에, 또는 그러한 시사점을 예측하는 것이 불가능하기 때문에 완전히, 전혀 관련이 없습니다 ³.

다른 것을 아는 것이 아니라 다른 것을 안다면, 그 질문에 대한 대답은 쉽습니다.

“C # 또는 Java로 응용 프로그램을 작성할 수 있습니다. 저는 C # 개발자이므로 Java를 선택하면 프로젝트에서 작업 할 수 없으므로 다른 프리랜서를 찾아야합니다. "

두 기술을 모두 알고 있으면 대답 할 수 없습니다.

이 경우 고객에게 물어 보는 질문은 화염 전이되어 프로젝트에 실질적인 영향을 미치지 않는다고 설명하는 방법은 무엇입니까?

다시 말해, 전문가가 아니거나 프로젝트에 관심이 없다는 인상을주지 않고 인적 자원과 관련된 이유로 동등한 기술 대신 하나의 기술을 사용하기로 선택했다고 설명하는 방법은 무엇입니까?


¹ 예 : 하루에 두 사람 씩 낙관적으로 접근 할 수있는 개인 웹 사이트에 대해 MySQL에 비해 성능면에서 MySQL이 Oracle에 비해 우수합니까?

² 예 : 특정 프로젝트의 경우, 잘 알려진 ASP.NET 호스팅 공급자에서 동일한 응용 프로그램을 호스팅하는 것보다 Windows Azure 호스팅이 더 저렴한 지 자산을 요청 받았습니다. 비용은 정확히 같다.

³ 예 : 고객은 향후 애플리케이션에 대한 아이디어 를 가지고 있습니다 (아이디어 자체는 매우 모호합니다). 사업 계획, 요구 사항, 아무것도 없습니다. 그냥 생각이야 이 앱에서 Java가 C #보다 나은지 묻습니다. 당신은 무엇에 대답합니까?

답변:


36

전문가가 아니거나 프로젝트에 관심이 없다는 인상을주지 않고 인적 자원과 관련된 이유로 동등한 기술 대신 하나의 기술을 사용하기로 선택했다고 설명하는 방법은 무엇입니까?

잘. 당신은 단지 그렇게 말합니다 :

이 프로젝트의 요구 사항과 관련하여 기술 X와 기술 Y는 동일한 작업에 적합하므로 기술적 인 고려 사항은 없습니다.

선택한 기술 (또는 문제 영역)에 대한 지식이있는 재능있는 인재를 쉽게 찾을 수 있습니다.

또는-이 프로젝트의 목적을 위해 기술 Y를 사용하는 것이 더 비용 효율적입니다.

그대로 말해


고객이 연관시킬 수있는 유추를 찾을 수 있습니다. 유럽에서 미국으로가는 목적으로 Boeing 747 또는 Airbus 380을 이용할 수 있습니다. 어느 것이 중요합니까? 고객에게 도달하지 않고 기술이 요구 사항에 동일하게 적용되는 한 :)

어느 것이 선택 되었습니까? 어느 항공사가 운항하든 ...


13
오타 +1 커플-Boing 747은 재미있게 들립니다. 나는 거대한 포고 스틱을 촬영하고 있습니다 ...
MarkJ

4
보잉 747 +1 (글쎄요, "유능한 사람들"부분)-나는 아이들의 생일 파티에서 가끔 볼 수있는 풍선 성을 생각하고있었습니다
Izkata

1
내가 고객이라면 "모름은 모르겠지만 파일럿이 생각하는 것 같습니다."라고 대답 할 수 있습니다.
psr

7

나는 그 결정이 대부분 자의적이라는 전제가 의문의 여지가 있다고 생각합니다. 몇 달 동안의위원회 회의가있는 곳에서 분석 마비로 끝나고 싶지는 않지만 일부 고려할 가치가 있음에 동의합니다. 높은 수준에서 볼 때 기술 선택은 거의 임의적입니다. 회사가 미래에 갈 수있는 위치에 큰 영향을 미치기 때문에 비즈니스 전략의 핵심이며 의사 결정 프로세스를 통해 회사를 안내하는 것은 개발자의 역할입니다.

MySQL의 B- 트리 사용과 Oracle의 사용 또는 PHP의 구문과 ASP.NET 의 사용과 같은 기술의 세부 사항은 물론 프로그래머들 사이에서 많은 종교적 논쟁에 개방적이며 실제로 자신의 취향에 달려 있습니다. 자신과 비슷한 컨설턴트가 근본적으로 다른 의견을 쉽게 가질 수 있기 때문에 실제로는 임의적입니다. 그리고 주어진 기술에 유능한 개발자라면 어쨌든 좋은 일을 할 것이라는 것이 상당히 잘 정립되어 있습니다. 따라서 비즈니스에서 더 중요한 문제는 언어 사소한 것이 아니라 다음과 같은 고급 질문입니다.

  • 배포 시나리오는 무엇입니까? 특정 기술은 특히 Heroku 와 같은 클라우드 호스팅 서비스가있는 경우보다 실질적인 접근 방식에 적합합니다 . 어떤 회사는 그렇게하고, 다른 회사는 스스로 호스트해야하고, 시스템 관리자 등이 더 강해야합니다.

  • 프로젝트 수명과 범위는 무엇입니까? 예를 들어, PHP는 Java보다 프로젝트를 시작하기가 쉽지만 수년간 확장하고 유지하기가 어렵습니다.

  • 어떤 종류의 개발자가이 기술을 유치합니까? Java의 경우 엔터프라이즈 경험이있는 사용자를 확보 할 수 있습니다. PHP의 경우 더 많은 크로스 오버 디자이너 또는 시스템 관리자 유형을 얻을 수 있습니다. 들어 Node.js를 , 당신은 모두 내가 아는 고정 관념 등 하스켈, 학술 군중, 더 많은 프런트 엔드 및 실험 개발자를 얻을 것이다, 그러나 사업을 몇 가지 단서를 제공합니다. 이들 각 그룹은 각자의 문화, 지불 및 업무 환경에 대한 기대, 서로 및 다른 조직과 협력하는 방법을 가지고 있습니다.

  • 개발자의 가용성은 무엇입니까? 개발자가 실제로 존재해야한다고 가정하면 특정 지역에는 특정 생태계가 있습니다. 신생 기업으로 가득 찬 도시에는 많은 Ruby on Rails 와 PHP 개발자가 있으며, 정부 부서가 많은 도시에는 많은 Java / MS 등이있을 것입니다. 세계의 대다수의 프로그래밍 언어는 이를 바탕으로 간단히 배제하십시오.

이것들은 몇 가지 예일뿐입니다. 가장 중요한 요소는 상황에 따라 다르지만 여기서 중요한 점은 회사가 전략, 문화 및 환경에 맞는 기술을 의식적으로 채택해야한다는 것입니다.


4

고객에게 해당 기술 사용 가능성에 대한 객관적인 비교 매트릭스를 제공합니다. 예를 들면 다음과 같습니다.

"새로운 웹 사이트 인 MySQL 또는 Oracle 중 어느 것이 더 낫습니까?"

매트릭스에서 :

  • 비용
  • 집에서 사용
  • 확장 성
  • 경험 / 친숙
  • 지원 성
  • 압형
  • 이미 사용 중 (배포)
  • 개발 용이성
  • 개발 친숙성

기타.

매트릭스에 몇 개의 항목이 있는지에 따라 점수를 신속하게 제시하고 해당 기술을 다른 기술과 비교하여 사용할 가능성을 결정합니다. 어떤 경우에는 MySQL, 다른 경우에는 Oracle이 더 나을 수 있습니다.


4

그들이 이해하는 용어로 돈을 설명하십시오. 둘 다 프로젝트에 적합하더라도 Y보다 X를 선택했다고 말할 수 있습니다. Y보다 X에 대해 더 잘 알고 있으므로 응용 프로그램을 저렴한 비용으로 제공 할 수 있습니다. Y를 사용하여 작성된 것보다 X를 사용합니다.


1
그렇습니다. 이것이 정답이 아닙니다. C #을 Java보다 잘 알고 있다면 C #을 사용하여 생산성을 높일 수 있습니다.
Andy

2

"포드 나 시보레를 운전하겠습니까?" 그들이 질문이 아무데도 가지 않을 것이라는 생각을들을 수 있는지 알아 내기 위해 던지는 추진 비유 일 것입니다. 비슷한 질문은 "햄버거와 피자 중 어느 것이 더 좋은가?" 더 많은 제약 조건을 추가하지 않고도 질문에 다양한 답변을 줄 수 있습니다.

이것을 보는 또 다른 방법은 왜 이것이 중요한지를 알고 질문을 명확하게하여 어떤 추가 자료를 찾을 수 있는지에 따라 더 나은 답을 얻을 수있는 질문입니다. 어떤 사람들은 "전자 상거래 사이트를 구축하는 데 무엇이 사용 되었습니까?" 그들은 오히려 인상적이려고 노력하고 몇 가지 화제 단어를 던지려고합니다.


8
Ford / Chevy와 Hamburger / Pizza 예제는 응답이없고 연약한 것 같습니다. 그런 반응에 짜증이납니다.
Robert Harvey

4
답은 항상 피자입니다.)
Izkata

2
@Izkata : ... 포드에서 먹었습니다.
FrustratedWithFormsDesigner

2
포드 대 시보레는 일부 부분에서 종교적인 논쟁이 될 수 있으므로주의하십시오. 사람이 다칠 수 있습니다.
Wyatt Barnett

2

이미 좋은 반응이 많이 있었지만 언급 한 바는 한 가지 언급되지 않았습니다. 이것은 여러분이 완전히 공개 할 수있는 훌륭한 기회입니다. 예를 들어

"지금은 주로 <foo> 기술로 생활을하므로 완전히 공평하지는 않습니다. 그러나 ..."

나는 당신이 이런 말로 신뢰를 얻는다고 생각합니다.


1

한 기술이 다른 기술보다 분명히 열등한 경우는 드물지만 "Python 또는 Cobol로 웹 사이트를 개발해야합니까?"

클라이언트에 적합한 기술을 결정하는 데 사용하는 방법이 있습니다.

  1. 그들은 현재 무엇을 사용합니까? 일반적으로 새로운 것보다 낫습니다.
  2. 현재 기술에 새로운 프로젝트에 의해 초과되는 제약이 있습니까? 예를 들어, SQLite 를 사용 하지만 100 명의 사용자가 동시에 업데이트 할 것으로 예상합니다.
  3. 현재 기술이 적합하지 않은 경우 가장 인기있는 오픈 소스와 상용 시장 리더 중에서 선택하십시오.
  4. 시장 리더가 오픈 소스 제품보다 훨씬 뛰어나고 현재 프로젝트에 중요한 차이점이 있습니까?
  5. 오픈 소스 또는 상업용으로 갔다가 가장 가까운 경쟁 제품 두 개를 잘 살펴보고 더 적합한 지 확인하십시오.

대부분의 경우 선택은 2 단계에서 멈 춥니 다. 고객이 Acme 위젯 을 사용하는 경우 Acme 위젯 사용 경험이있는 사람, Acme 위젯 주위에 구축 된 표준, 변경 제어 및 관리 절차가 있으며 Acme 위젯이 작업을 수행 할 수있는 경우 Acme 위젯이 사용됩니다. Ezee DohDahs는이 작업을 위해 기술적으로 더 좋습니다!

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