Tránh bị các nhà phát triển của bạn bắt làm con tin

con tin100107Cuối tuần này, tôi đã bắt đầu cuộc trò chuyện với một nghệ sĩ địa phương, người đang hỗ trợ sếp của cô ấy quản lý một vài ứng dụng web mà sếp của cô ấy sở hữu.

Cuộc trò chuyện đã diễn ra một lượt và một số người đã thất vọng về việc trả phí phát triển hàng tuần mà không thấy bất kỳ tiến bộ nào với nhà phát triển mà họ đã làm việc cùng. Bây giờ nhà phát triển muốn tính phí một lần nữa để hoàn thành dự án cũng như phí bảo trì hàng tuần để chi trả cho các yêu cầu khác. Nó trở nên tồi tệ hơn.

Nhà phát triển đã chuyển các tên miền để anh ta có thể quản lý chúng. Nhà phát triển cũng lưu trữ ứng dụng trên tài khoản lưu trữ của mình. Tóm lại, nhà phát triển hiện đang bắt họ làm con tin.

Rất may, người phụ nữ tôi đang làm việc trước đây đã yêu cầu quyền truy cập quản trị để chỉnh sửa một số tệp mẫu cho trang web. Nhà phát triển có thể đã cung cấp cho cô ấy quyền truy cập hạn chế nhưng anh ta đã không. Anh ta (lười biếng) cung cấp cho cô thông tin đăng nhập quản trị vào trang web. Tối nay tôi đã sử dụng quyền truy cập đó để sao lưu tất cả mã cho trang web. Tôi cũng đã tìm ra phần mềm quản lý mà anh ấy đang sử dụng và tìm đường đến quản trị cơ sở dữ liệu, nơi tôi có thể xuất dữ liệu và cấu trúc bảng của cả ứng dụng. Chà.

Chủ sở hữu đã có kế hoạch chuyển các trang web sang tên miền mới sau khi quá trình phát triển hoàn tất. Điều đó rất lớn bởi vì nó có nghĩa là các miền hiện tại có thể hết hạn trong trường hợp có sự tách biệt tức giận giữa nhà phát triển và công ty. Tôi đã thấy điều này xảy ra trước đây.

Một số mẹo nếu bạn sắp có một nhóm phát triển thuê ngoài:

  1. Đăng ký tên miền

    Đăng ký tên miền của bạn trong tên công ty của bạn. Việc có nhà phát triển của bạn làm Người liên hệ kỹ thuật trên tài khoản là điều không tồi, nhưng không bao giờ chuyển quyền sở hữu miền cho bất kỳ ai bên ngoài công ty của bạn.

  2. Lưu trữ Ứng dụng hoặc Trang web của bạn

    Thật tuyệt khi nhà phát triển của bạn có thể có một công ty lưu trữ và có thể lưu trữ trang web của bạn cho bạn, nhưng đừng làm điều đó. Thay vào đó, hãy hỏi lời giới thiệu của anh ấy về nơi lưu trữ ứng dụng. Đúng là các nhà phát triển phải làm quen với phần mềm quản lý, các phiên bản và vị trí của tài nguyên và điều đó có thể giúp sản phẩm của bạn được hoàn thiện sớm hơn. Tuy nhiên, điều đó nói rằng, hãy sở hữu tài khoản lưu trữ và thêm nhà phát triển của bạn bằng thông tin đăng nhập và quyền truy cập của riêng họ. Bằng cách này, bạn có thể rút phích cắm bất cứ khi nào bạn cần.

  3. Sở hữu mã

    Đừng cho rằng bạn sở hữu mã, hãy viết nó vào văn bản. Nếu bạn không muốn nhà phát triển của mình sử dụng các giải pháp bạn đã trả cho họ để phát triển ở nơi khác, bạn phải quyết định điều đó tại thời điểm ký hợp đồng. Tôi đã phát triển các giải pháp theo cách này nhưng tôi cũng đã phát triển chúng ở nơi tôi giữ lại quyền đối với mã. Trong trường hợp thứ hai, tôi đã thương lượng chi phí ứng dụng thấp hơn để có động lực cho công ty trao quyền cho tôi. Nếu bạn không phiền nhà phát triển của mình sử dụng mã của bạn ở nơi khác, thì bạn sẽ không phải trả nhiều tiền nhất!

  4. Lấy ý kiến ​​thứ hai!

    Nó không làm tổn thương cảm xúc của tôi khi mọi người nói với tôi rằng họ đang tham gia đấu thầu hoặc tham khảo ý kiến ​​của các chuyên gia khác. Trong thực tế, tôi khuyên bạn nên nó!

Điểm mấu chốt là bạn đang trả tiền cho tài năng của nhà phát triển nhưng bạn phải giữ quyền kiểm soát và quyền sở hữu đối với ý tưởng. Nó là của bạn. Chính bạn là người đã đầu tư vào nó, bạn đã mạo hiểm kinh doanh và lợi nhuận cho nó… và chính bạn là người nên giữ nó. Các nhà phát triển có thể bị thay thế và điều đó không bao giờ được đặt ứng dụng của bạn, hoặc tệ hơn - doanh nghiệp của bạn gặp rủi ro.

6 Comments

  1. 1

    Tôi là một nhà phát triển ứng dụng web và tôi đồng ý với hầu hết các quan điểm của bạn (có lẽ là tất cả) nhưng tôi muốn được giải thích rõ về # 3.

    Việc sao chép bán buôn một trang web hoặc ứng dụng được bán cho một công ty khác (hoặc tệ hơn là đối thủ cạnh tranh) là trái đạo đức và luôn phải được quy định là không được chấp nhận trong hợp đồng của bạn. Tuy nhiên, tôi đã phát triển các giải pháp sáng tạo cho các vấn đề thường gặp trong khi làm việc trên một dự án của khách hàng không liên quan đến biz cụ thể của họ cũng như nó không đại diện cho một phần quan trọng của giải pháp tổng thể.

    Ví dụ:
    Khách hàng muốn cấp trang và kiểm soát cấp trường gắn với vai trò của người dùng. Chức năng “out of the box” cho ASP.Net thực hiện quyền cấp thư mục. Vì vậy, tôi đã mở rộng quyền gốc cho .Net và cung cấp giải pháp như một phần của ứng dụng web tổng thể.

    Tôi tin rằng họ được hưởng toàn bộ codebase (theo quy định trong hợp đồng) nhưng tôi cảm thấy hợp lý khi sử dụng cùng một phương pháp và các đoạn mã để thực hiện phần mở rộng này trong các dự án trong tương lai.

    Một nếp nhăn khác:
    Tôi đã làm điều này khi được một công ty tư vấn hỗ trợ. Theo ý kiến ​​của bạn, liệu công ty tư vấn có quyền quay lại và sao chép giải pháp đó, tiếp thị nó như của riêng họ không?

    • 2

      Đáng chú ý,

      Tôi nghĩ rằng chúng tôi đồng ý. Quan điểm của tôi trong việc này là đảm bảo rằng bạn có mã và có thể bước ra khỏi cửa với nó. Nếu nhà phát triển của bạn đang biên dịch mã cho bạn và đẩy nó ra trang web của bạn - bạn không có mã. Tôi đã thấy điều này xảy ra với mọi thứ từ đồ họa, Flash, .NET, Java… bất cứ thứ gì yêu cầu tệp nguồn và được xuất ra.

      Doug

  2. 3

    Tôi biết bạn đến từ đâu và mặc dù tôi không đồng ý 100% với mọi thứ (tôi có những lưu ý), các công ty nên luôn ghi nhớ điều này.

    1. TUYỆT ĐỐI. Không thể nhấn mạnh điều này đủ. Tôi đã từng làm việc cho một công ty nhỏ đã làm việc này và tôi cảm thấy tội lỗi nặng nề vì đã tham gia. Tôi rất vui vì tôi đã có thể ra khỏi đó. Khách hàng hoàn toàn nên giữ quyền kiểm soát miền của họ. Nếu họ có ai đó đủ hiểu biết, đừng cấp cho nhà phát triển quyền truy cập vào điều này. Nếu không, hãy đảm bảo rằng nhà phát triển có cách để bạn thay đổi thông tin / chuyển miền thông qua một giao diện người bán lại nào đó.

    2. Tôi một phần đồng ý với điều này nhưng sau đó nó phụ thuộc vào tình hình. Nếu bạn đang triển khai một ứng dụng PHP đơn giản và cần lưu trữ chi phí thấp, bằng mọi cách, hãy lấy tài khoản LunarPages hoặc DreamHost hoặc thứ gì đó và chuyển nó vào đó. Cấp cho nhà phát triển quyền truy cập. Tuy nhiên, chia sẻ lưu trữ chi phí thấp chắc chắn có nhược điểm của nó ... đặc biệt là cho những thứ lớn hơn. Nhưng nếu bạn đủ lớn để lo lắng về điều đó, bạn nên nhờ một nhân viên kỹ thuật nào đó có thể giải quyết. Rất nhiều trong số đó rõ ràng là về sự tin tưởng. Chắc chắn như địa ngục đưa một cái gì đó vào hợp đồng nếu bạn có thể về loại điều này (hạn chế và tương tự). Lưu trữ của bên thứ ba là tuyệt vời nếu nhà phát triển không cần phải làm bất cứ điều gì cầu kỳ. Tôi thừa nhận rằng tôi bị giằng xé bởi vì đó thực sự là một tình huống. Nó cũng phụ thuộc vào quy mô của trang web, mảng công nghệ được sử dụng. Nếu nó sẽ lớn, hãy xem xét việc thuê một người làm nhân viên. Không phải lúc nào cũng là một lựa chọn, nhưng an toàn hơn cho những thứ lớn.

    3. Đây cũng là điều mà công ty cũ của tôi đã làm. Bạn có thể rời đi, họ sẽ cung cấp cho bạn HTML, hình ảnh, v.v. nhưng không có mã. Về cơ bản, mã là một dịch vụ cho thuê. Điều đó đang được nói, có sở hữu và sở hữu. Tôi luôn thực hiện một đợt bán hàng không độc quyền. Về cơ bản, tôi cần có thể sử dụng lại các thành phần của mình. Tôi không có vấn đề gì với việc khách hàng sở hữu nó, làm những gì họ muốn với nó và nhờ người khác làm việc đó… nhưng tôi sẽ không thế chấp bản thân và phải phát minh lại bánh xe mỗi lần.

    4. Luôn luôn. Luôn luôn. Luôn luôn.

  3. 4

    Bài viết tốt… được thực hiện tốt mặc dù tôi không đồng ý với một mục (# 2):

    “Thật tuyệt khi nhà phát triển của bạn có thể có một công ty lưu trữ và có thể lưu trữ trang web của bạn cho bạn, nhưng đừng làm vậy.”

    Mặc dù tôi hiểu logic đằng sau điều này, nó có thể phản tác dụng trong một số trường hợp khi bắt buộc dự án của bạn phải được lưu trữ ở một nơi khác. Nếu công ty phát triển trang web hoặc ứng dụng của bạn có nền tảng lưu trữ mà họ thích sử dụng, rất có thể họ sẽ sử dụng nền tảng đó hiệu quả và năng suất hơn.

    Ngoài ra, từ quan điểm triết học, nếu bạn từ chối sử dụng nền tảng lưu trữ của nhà phát triển vì bạn không muốn bị “bắt làm con tin”, thì điều này sẽ khiến bạn không tin tưởng ngay từ đầu. Nếu bạn thực sự không đủ tin tưởng nhà phát triển của mình để lưu trữ với họ, thì bạn có thực sự muốn làm việc với họ ngay từ đầu không?

    Tôi biết rằng có nhiều câu chuyện kinh dị tồn tại về loại tình huống này, nhưng nói chung, tôi khuyên bạn nên tập trung vào việc tìm kiếm một nhà phát triển mà bạn tin tưởng. Bạn có thể sử dụng dịch vụ lưu trữ của nhà phát triển và vẫn tự bảo vệ mình bằng cách yêu cầu quyền truy cập quản trị và tạo bản sao lưu của riêng bạn.

    Một lần nữa, bài viết tốt và thông tin rất hữu ích.

    Cảm ơn!
    Michael Reynold

    • 5

      Hi Michael,

      Nghe có vẻ giống như một vấn đề về lòng tin nhưng tôi không nghĩ là như vậy - nó thực sự là một vấn đề kiểm soát và trách nhiệm. Nếu bạn định đầu tư một số tiền đáng kể vào việc phát triển trang web của mình, thì bạn phải chắc chắn rằng bạn có thể kiểm soát môi trường của nó.

      Những điều xảy ra trong kinh doanh phá vỡ các mối quan hệ và chúng không cần phải tiêu cực. Có lẽ nhà phát triển / công ty của bạn có một khách hàng rất lớn và không thể dành thời gian cho bạn. Có lẽ họ chuyển mục tiêu kinh doanh. Đôi khi công ty lưu trữ của họ có thể có vấn đề.

      Tôi ủng hộ việc bạn kiểm soát và chịu trách nhiệm về dịch vụ lưu trữ của mình để bạn có thể phụ thuộc vào nhà phát triển của mình về những gì anh ấy giỏi - đang phát triển!

      Tôi đánh giá cao sự đẩy lùi, Michael.

  4. 6

    Tôi cũng là một nhà phát triển ứng dụng web và tôi nghĩ rằng bạn đã chạm vào đầu bạn. Một vài suy nghĩ:

    Tôi nghĩ rằng hầu hết mọi người sẽ đồng ý (và dựa trên các nhận xét bên dưới) # 1 là tuyệt đối. Đừng bao giờ làm điều đó. Không bao giờ. Dưới mọi tình huống.

    Tôi có quan điểm # 2 khác với một số nhà phát triển đồng nghiệp của tôi: chúng tôi từ chối lưu trữ sản phẩm cuối cùng cho khách hàng của mình (tất nhiên, chúng tôi lưu trữ một máy chủ thử nghiệm để khách hàng lái thử sản phẩm trong quá trình phát triển). Chúng tôi rất vui khi giúp khách hàng tự thiết lập để lưu trữ hoặc tìm nhà cung cấp dịch vụ lưu trữ. Chúng tôi chỉ đơn giản là không muốn tham gia vào kinh doanh lưu trữ. Nếu điều đó có nghĩa là từ chối công việc, hãy cứ như vậy. Có rất nhiều công ty lưu trữ lớn hoặc công ty cơ sở hạ tầng có thể cung cấp dịch vụ này với giá rẻ hơn nhiều. Chúng tôi khuyến khích tính di động của công việc và sẽ làm bất cứ điều gì có thể để hỗ trợ việc lưu trữ nó, ngay cả khi khách hàng chuyển đổi nhà cung cấp dịch vụ lưu trữ trong nhiều năm.

    Đối với # 3, khách hàng của chúng tôi nhận được tất cả mã nguồn của sản phẩm cuối cùng với một lưu ý: Đối với các sản phẩm của bên thứ ba được sử dụng trong giải pháp (chẳng hạn như điều khiển web từ Telerik hoặc Component One), chúng tôi có thể cung cấp cho khách hàng dll đã biên dịch cho sự kiểm soát của bên thứ ba (giả sử là một lưới). Các thỏa thuận cấp phép của chúng tôi với các công ty bên thứ ba đó (mà chúng tôi cung cấp cho khách hàng) cấm chúng tôi phân phối lại mã nguồn cho các loại kiểm soát đó, vì đó là tài sản trí tuệ của bên thứ ba, không phải của chúng tôi. Việc sử dụng các loại sản phẩm này giúp tiết kiệm thời gian phát triển cho khách hàng và rẻ hơn nhiều so với việc xây dựng cùng một chức năng từ đầu. Chúng tôi trả lời trước về chính sách này trước khi thực hiện bất kỳ công việc nào. Tất nhiên, nếu khách hàng muốn trả tiền cho việc phát triển điều khiển tùy chỉnh (thay vì sử dụng sản phẩm tạo sẵn từ bên thứ ba), chúng tôi cung cấp mã nguồn cho điều khiển tùy chỉnh đó cùng với mọi thứ khác.

    Khi đề cập đến việc sử dụng lại mã, chúng tôi nói trước về thực tế rằng chúng tôi có thể sử dụng lại các phần của mã trừ khi nó được phát triển rõ ràng dành riêng cho việc sử dụng của khách hàng (ví dụ như đối với quy trình kinh doanh độc quyền) trước khi bất kỳ công việc nào được thực hiện. Tất nhiên, nếu khách hàng muốn có mã độc quyền được phát triển, thì mã đó có sẵn cho họ.

    Như những người khác đã nói, # 4 luôn được khuyến khích. Luôn luôn!

    Trân trọng,
    Tim Young

Bạn nghĩ gì?

Trang web này sử dụng Akismet để giảm spam. Tìm hiểu cách xử lý dữ liệu nhận xét của bạn.