Điều gì để trả lời cho một khách hàng hỏi một trong hai công nghệ tương đương phải được sử dụng?


14

Là một người làm việc tự do, tôi thường được khách hàng hỏi rằng họ phải chọn gì giữa các yếu tố tương tự, không yếu tố nào tốt hơn yếu tố khác. Ví dụ:

Tôi có cần trang web thương mại điện tử của mình bằng PHP hay ASP.NET không?

Tôi có cần lưu trữ dịch vụ web thông thường này trong Cloud hoặc sử dụng dịch vụ lưu trữ thông thường không?

Cái nào tốt hơn cho trang web mới của tôi: MySQL hay Oracle?

Vân vân.

Có thể có nhiều nhất 1% trường hợp sự lựa chọn có liên quan, và có một lý do thực tế, khách quan để sử dụng cái này hơn cái khác, dựa trên các số liệu và nghiên cứu chính xác. Trong tất cả các trường hợp khác, nó không thành vấn đề. Điều đó hoàn toàn, hoàn toàn không liên quan, vì không có hàm ý nào, hoặc bởi vì những hàm ý đó quá nhỏ để có thể được đưa vào tài khoản², hoặc, cuối cùng, vì không thể dự đoán được những hàm ý đó.

Nếu bạn biết một điều chứ không phải một điều khác, câu trả lời cho những câu hỏi đó thật dễ dàng:

Bạn có thể viết ứng dụng bằng C # hoặc Java, cả hai đều có thể tương đương trong trường hợp của bạn. Lưu ý rằng tôi là nhà phát triển C #, vì vậy nếu bạn chọn Java, tôi sẽ không thể làm việc với dự án của bạn và bạn sẽ cần tìm một freelancer khác.

Khi bạn biết cả hai công nghệ, bạn không thể trả lời điều đó.

Trong trường hợp này, làm thế nào để giải thích cho khách hàng rằng câu hỏi mà anh ta đặt ra có phải là flamewar và không có hậu quả thực sự đối với dự án của anh ta không?

Nói cách khác, làm thế nào để giải thích rằng bạn đã chọn sử dụng một công nghệ thay vì một công nghệ tương đương vì những lý do liên quan đến nguồn nhân lực, mà không gây ấn tượng là không chuyên nghiệp hoặc không quan tâm đến dự án?


Ví dụ: MySQL có tốt hơn (tệ hơn không?), Thông minh về hiệu suất, so với Oracle, đối với một trang web cá nhân sẽ được truy cập bởi, ồ, hãy lạc quan, hai người mỗi ngày?

² Ví dụ: đối với một dự án nhất định, tôi đã được yêu cầu tài sản nếu lưu trữ Windows Azure sẽ rẻ hơn so với lưu trữ của cùng một ứng dụng trên một nhà cung cấp dịch vụ lưu trữ ASP.NET nổi tiếng. Chi phí tiết lộ là giống hệt nhau.

Ví dụ: khách hàng của bạn có ý tưởng về một ứng dụng trong tương lai (bản thân ý tưởng đó cực kỳ mơ hồ). Không có kế hoạch kinh doanh, không có yêu cầu, không có gì cả. Chỉ là một ý tưởng. Bạn được hỏi liệu Java có tốt hơn C # cho ứng dụng này không. Bạn trả lời gì

Câu trả lời:


36

Làm thế nào để giải thích rằng bạn đã chọn sử dụng một công nghệ thay vì một công nghệ tương đương vì những lý do liên quan đến nguồn nhân lực, mà không gây ấn tượng là không chuyên nghiệp hoặc không quan tâm đến dự án?

Tốt. Bạn nói rằng:

Xét về các yêu cầu cho dự án này, công nghệ X và công nghệ Y đều phù hợp như nhau cho nhiệm vụ, vì vậy các cân nhắc kỹ thuật không đi vào nó.

Dễ dàng tìm thấy những người tài năng có kiến ​​thức về công nghệ được chọn (hoặc miền vấn đề), đó là lý do tại sao nó được chọn.

Hoặc - với mục đích của dự án này, sử dụng công nghệ Y sẽ có hiệu quả hơn về chi phí.

Nói với nó như nó là.


Bạn có thể muốn tìm một sự tương tự mà khách hàng có thể liên quan đến. Một cái gì đó giống như - với mục đích đi từ châu Âu đến Mỹ, bạn có thể đi máy bay Boeing 747 hoặc Airbus 380. Có vấn đề nào không? Không dành cho khách hàng, miễn là họ đến đó và các công nghệ phù hợp như nhau với các yêu cầu :)

Cái nào được chọn? Bất cứ ai mà hãng hàng không hoạt động ...


13
+1 Vài lỗi chính tả - Boing 747 nghe có vẻ vui. Tôi đang hình dung một thanh pogo khổng lồ ...
MarkJ

4
+1 cho Boing 747 (Chà, và phần "người tài") - Tôi đã nghĩ về những lâu đài bơm hơi thỉnh thoảng được thấy trong các bữa tiệc sinh nhật của trẻ em
Izkata

1
Nếu tôi là khách hàng, tôi có thể trả lời "Tôi không biết - nhưng tôi muốn nghĩ phi công làm điều đó".
psr

7

Tôi nghĩ tiền đề của bạn, rằng quyết định phần lớn là tùy tiện, đáng để đặt câu hỏi. Tôi đồng ý rằng bạn không muốn kết thúc trong tình trạng tê liệt phân tích khi bạn có nhiều tháng họp ủy ban, nhưng nó đáng để xem xét. Nhìn từ cấp độ cao, sự lựa chọn công nghệ hiếm khi tùy ý. Đó là chìa khóa cho chiến lược kinh doanh vì nó ảnh hưởng mạnh mẽ đến việc một công ty có thể đi đến đâu trong tương lai và đó là vai trò của nhà phát triển để hướng dẫn công ty trong quá trình ra quyết định.

Các chi tiết cụ thể của công nghệ, chẳng hạn như việc sử dụng cây B của MySQL so với cú pháp của Oracle hoặc cú pháp của PHP so với ASP.NET , tất nhiên là mở ra nhiều cuộc tranh luận tôn giáo giữa các lập trình viên và sẽ thực sự đi theo sở thích của bạn. Vì một nhà tư vấn tương tự với chính bạn có thể dễ dàng có một ý kiến ​​hoàn toàn khác, những điều đó thực sự khá độc đoán. Và nó được thiết lập khá tốt rằng bất kỳ nhà phát triển nào có năng lực trong một công nghệ nhất định sẽ làm tốt công việc nào. Vì vậy, các vấn đề quan trọng hơn đối với doanh nghiệp không phải là vấn đề nhỏ về ngôn ngữ, mà là các câu hỏi cấp cao hơn như:

  • Kịch bản triển khai là gì? Một số công nghệ cho vay theo cách tiếp cận thực tế hơn, đặc biệt là nếu có dịch vụ lưu trữ đám mây như Heroku . Một số công ty sẽ thích điều đó, những công ty khác sẽ cần phải tự lưu trữ, có sự hiện diện mạnh mẽ hơn của các quản trị viên hệ thống, v.v.

  • Tuổi thọ và phạm vi dự án là gì? Ví dụ, PHP dễ dàng hơn Java để bắt đầu một dự án, nhưng khó mở rộng và duy trì trong nhiều năm.

  • Những loại nhà phát triển sẽ thu hút công nghệ? Đối với Java, nhiều khả năng bạn sẽ có được những người có kinh nghiệm doanh nghiệp. Đối với PHP, bạn có thể nhận được nhiều kiểu thiết kế chéo hoặc quản trị viên hệ thống hơn. Đối với Node.js , bạn sẽ nhận được nhiều nhà phát triển thử nghiệm và thử nghiệm hơn, cho Haskell, một đám đông học thuật, v.v. Tất cả các khuôn mẫu tôi biết, nhưng nó mang lại cho doanh nghiệp một số manh mối. Mỗi nhóm này có văn hóa riêng, kỳ vọng về thanh toán và môi trường làm việc, và cách làm việc với nhau và phần còn lại của tổ chức.

  • Sự sẵn có của các nhà phát triển là gì? Giả sử các nhà phát triển phải có mặt vật lý, một số địa phương nhất định có hệ sinh thái cụ thể. Trong một thành phố đầy những người khởi nghiệp, sẽ có rất nhiều nhà phát triển Ruby on Rails và PHP, trong một thành phố đầy các cơ quan chính phủ, sẽ có rất nhiều Java / MS, v.v. Phần lớn các ngôn ngữ lập trình trên thế giới phải được loại trừ đơn giản trên cơ sở này.

Những cái kia chỉ là ví dụ. Những yếu tố nào là quan trọng nhất sẽ phụ thuộc vào tình huống, nhưng điểm chính ở đây là các công ty cần có ý thức áp dụng các công nghệ phù hợp với chiến lược, văn hóa và hoàn cảnh của họ.


4

Tôi sẽ cung cấp cho khách hàng một ma trận so sánh khách quan về tính khả thi của việc sử dụng công nghệ đó. Ví dụ:

Cái nào tốt hơn cho trang web mới của tôi: MySQL hay Oracle?

Trong ma trận của bạn:

  • Giá cả
  • Sử dụng trong nhà
  • Khả năng mở rộng
  • Kinh nghiệm / quen thuộc
  • Khả năng hỗ trợ
  • Dụng cụ
  • Đã sử dụng (Đã triển khai)
  • Dễ phát triển
  • Phát triển quen thuộc

Vân vân.

Tùy thuộc vào có bao nhiêu mục trong ma trận của bạn, người ta sẽ nhanh chóng đưa ra điểm số và xác định tính khả thi của việc sử dụng công nghệ đó so với công nghệ khác. Trong một số trường hợp, MySQL có thể tốt hơn, trong những trường hợp khác Oracle.


4

Giải thích nó theo thuật ngữ họ hiểu - tiền. Bạn có thể nói với họ rằng bạn đã chọn X hơn Y bởi vì, mặc dù cả hai đều phù hợp với dự án, nhưng bạn quen thuộc với X hơn Y. Và do đó, bạn sẽ có thể cung cấp ứng dụng với chi phí thấp hơn cho họ khi sử dụng X hơn nếu nó được viết bằng Y.


1
Yup, không có gì sai với câu trả lời này. Nếu bạn biết C # tốt hơn Java, thì lý do là bạn sẽ làm việc hiệu quả hơn với C #.
Andy

2

"Bạn có muốn lái một chiếc Ford hoặc một chiếc Chevy?" sẽ là sự tương tự khi lái xe mà tôi đưa ra để xem liệu họ có thể đưa ra ý tưởng rằng câu hỏi không đi đến đâu không. Một câu hỏi tương tự có thể là, "Cái nào tốt hơn hamburger hay pizza?" trong trường hợp không thêm nhiều ràng buộc hơn, câu hỏi có nhiều câu trả lời khả dĩ mà người ta có thể đưa ra.

Một cách khác để xem điều này là hỏi tại sao điều này lại quan trọng để biết và tùy thuộc vào tài liệu bổ sung nào có thể được tìm thấy bằng cách làm rõ câu hỏi này có thể dẫn đến một câu trả lời tốt hơn. Một số người có thể tự hỏi, "Cái gì được sử dụng để xây dựng trang web thương mại điện tử của tôi?" mặc dù họ muốn cố gắng để trở nên ấn tượng và ném vào một vài từ buzz.


8
Các ví dụ Ford / Chevy và Hamburger / Pizza dường như không phản hồi / flippant. Tôi sẽ bị kích thích bởi những phản ứng như vậy.
Robert Harvey

4
Và câu trả lời luôn là Pizza;)
Izkata

2
@Izkata: ... ăn trong một chiếc Ford.
Thất vọngWithFormsDesigner

2
Hãy cẩn thận, Ford vs Chevy có thể là một cuộc tranh luận tôn giáo ở một số phần. Một người đàn ông có thể bị tổn thương.
Wyatt Barnett

2

Đã có rất nhiều phản hồi tốt, nhưng một điều tôi nhận thấy đã không được đề cập: đây là một cơ hội tuyệt vời để tiết lộ đầy đủ về phía bạn. Ví dụ,

"Bây giờ tôi kiếm sống chủ yếu từ công nghệ <foo>, vì vậy tôi không hoàn toàn vô tư. Tuy nhiên ..."

Tôi thực sự nghĩ rằng bạn có được sự tín nhiệm bằng loại tuyên bố này.


1

Có một số trường hợp hiếm hoi khi một công nghệ rõ ràng kém hơn một công nghệ khác - "Tôi nên phát triển trang web của mình bằng Python hay Cobol?", Nhưng chủ yếu đó là câu hỏi về ngựa cho các khóa học.

Có một phương pháp tôi sử dụng để quyết định công nghệ nào phù hợp với khách hàng: -

  1. Hiện tại họ đang sử dụng cái gì? Nhiều hơn cùng thường là tốt hơn so với một cái gì đó mới.
  2. Công nghệ hiện tại có bất kỳ ràng buộc nào sẽ bị vượt quá bởi dự án mới không? Ví dụ: họ sử dụng SQLite , nhưng hiện tại họ mong đợi 100 người dùng thực hiện cập nhật đồng thời.
  3. Nếu công nghệ hiện tại không phù hợp, thì hãy chọn giữa nguồn mở phổ biến nhất và người dẫn đầu thị trường thương mại.
  4. Là người dẫn đầu thị trường tốt hơn đáng kể so với việc cung cấp nguồn mở, và, có sự khác biệt nào đáng kể đối với dự án hiện tại không?
  5. Đã đi đến nguồn mở hoặc thương mại, hãy tham gia vào hai dịch vụ cạnh tranh gần nhất và xem chúng có phù hợp hơn không.

Hầu hết thời gian lựa chọn dừng lại ở bước hai. Nếu khách hàng sử dụng Acme Widgets , có người có kinh nghiệm sử dụng Acme Widgets, có một bộ tiêu chuẩn, thay đổi quy trình kiểm soát và quản lý được xây dựng xung quanh Acme Widgets và Acme Widgets có thể thực hiện công việc thì Acme Widgets là cách tốt nhất - ngay cả khi Ezee DohDahs là kỹ thuật tốt hơn cho nhiệm vụ này!

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.