개발자가 인질로 잡히지 않도록하십시오

인질 100107이번 주말에 나는 그녀의 상사가 소유하고있는 몇 가지 웹 응용 프로그램의 관리로 상사를 돕고있는 현지 아티스트와 대화를 시작했습니다.

대화가 바뀌었고 함께 작업한 개발자와 진행 상황을 보지 못한 채 주간 개발 비용을 지불하는 것에 대해 약간의 화를 냈습니다. 이제 개발자는 다른 요청을 처리하기 위해 프로젝트를 완료하기 위한 또 다른 일시불 비용과 주간 유지 관리 비용을 청구하려고 합니다. 더 나빠진다.

개발자는 관리 할 수 ​​있도록 도메인 이름을 이전했습니다. 개발자는 또한 자신의 호스팅 계정에서 애플리케이션을 호스팅합니다. 간단히 말해서 개발자는 이제 그들을 인질로 잡고 있습니다.

고맙게도 함께 일하는 여성은 과거에 사이트의 템플릿 파일 중 일부를 편집하기 위해 관리 액세스 권한을 요구했습니다. 개발자는 그녀에게 제한된 액세스 권한을 제공할 수 있었지만 그렇게 하지 않았습니다. 그는 (느리게) 그녀에게 사이트에 대한 관리 로그인을 제공했습니다. 오늘 밤 나는 그 액세스를 사용하여 사이트의 모든 코드를 백업했습니다. 나는 또한 그가 어떤 관리 소프트웨어를 사용하고 있는지 알아냈고 데이터베이스 관리로 향하여 응용 프로그램의 데이터와 테이블 구조를 모두 내보낼 수 있었습니다. 아휴.

소유자는 개발이 완료되면 사이트를 새 도메인 이름으로 이전할 계획이었습니다. 이는 개발자와 회사 사이에 화난 분리가 있는 경우 현재 도메인이 만료될 수 있음을 의미하기 때문에 엄청납니다. 나는 전에 이런 일이 일어나는 것을 보았다.

아웃소싱 개발 팀을 얻으려는 경우 몇 가지 팁:

  1. 도메인 등록

    회사 이름으로 도메인 이름을 등록합니다. 개발자를 계정의 기술 담당자로 두는 것은 나쁘지 않지만 도메인 소유권을 회사 외부 사람에게 양도합니다.

  2. 애플리케이션 또는 사이트 호스팅

    개발자에게 호스팅 회사가 있고 사이트를 호스팅할 수 있지만 그렇게 하지 않는 것이 좋습니다. 대신 애플리케이션을 호스팅할 위치에 대한 권장 사항을 물어보십시오. 개발자가 관리 소프트웨어, 버전 및 리소스 위치에 대해 알고 있으면 제품을 더 빨리 완성하는 데 도움이 될 수 있습니다. 하지만 호스팅 계정을 소유하고 자신의 로그인 및 액세스 권한을 가진 개발자를 추가해야 합니다. 이렇게 하면 필요할 때마다 플러그를 뽑을 수 있습니다.

  3. 코드 소유

    코드를 소유하고 있다고 가정하지 말고 서면으로 작성하십시오. 개발자가 지불한 솔루션을 사용하여 다른 곳에서 개발하는 것을 원하지 않는 경우 계약 시 이를 결정해야 합니다. 저는 이런 방식으로 솔루션을 개발했지만 코드에 대한 권한을 보유하는 곳에서도 솔루션을 개발했습니다. 후자의 경우에는 회사에서 나에게 권리를 부여하는 인센티브가 있기 위해 더 낮은 응용 프로그램 비용을 협상했습니다. 개발자가 다른 곳에서 귀하의 코드를 사용하는 것에 신경 쓰지 않는다면 최고 달러를 지불해서는 안 됩니다!

  4. 두 번째 의견을 얻으십시오!

    사람들이 나에게 입찰을 하거나 다른 전문가와 상담을 하고 있다고 말할 때 기분이 상하지 않습니다. 사실, 나는 그것을 추천합니다!

결론은 개발자의 재능에 대한 비용을 지불하고 있지만 아이디어에 대한 통제력과 소유권을 유지해야 한다는 것입니다. 너의 것이 야. 그것에 투자한 사람은 바로 당신이었고, 이를 위해 비즈니스와 수익성을 위험에 빠뜨린 사람은 바로 당신이었습니다. 개발자는 교체될 수 있으며 이로 인해 애플리케이션 또는 더 나쁜 경우 비즈니스가 위험에 노출되어서는 안 됩니다.

댓글 6

  1. 1

    저는 웹 앱 개발자이며 대부분의 요점 (아마 모두)에 동의하지만 # 3에 대한 설명을 원합니다.

    다른 회사 (또는 더 심각한 경쟁자)에게 판매 된 사이트 또는 애플리케이션의 도매 복제는 비 윤리적이며 항상 계약에서 허용되지 않는 것으로 규정해야합니다. 그러나 나는 특정 사업과 관련이 없으며 전체 솔루션의 상당 부분을 대표하지 않는 클라이언트의 프로젝트를 진행하면서 일반적인 문제에 대한 혁신적인 솔루션을 개발했습니다.

    예:
    클라이언트는 사용자 역할에 연결된 페이지 수준 및 필드 수준 제어를 원했습니다. ASP.Net의 "기본 제공"기능은 폴더 수준 권한을 수행합니다. 그래서 .Net에 대한 기본 권한을 확장하고 전체 웹 응용 프로그램의 일부로 솔루션을 제공했습니다.

    나는 그들이 전체 코드베이스 (계약서에 명시된대로)에 대한 권리가 있다고 믿지만, 향후 프로젝트에서이 확장을 달성하기 위해 동일한 방법론과 코드 덩어리를 사용하는 것이 정당하다고 느낍니다.

    또 다른 주름 :
    나는 컨설팅 회사에서 재배하면서 이것을했다. 컨설팅 회사가 귀하의 의견으로 돌아가서 해당 솔루션을 복사하여 자신의 것으로 마케팅 할 권리가 있습니까?

    • 2

      사실,

      동의한다고 생각합니다. 내 요점은 당신이 코드를 가지고 있고 그것을 가지고 문 밖으로 나갈 수 있는지 확인하는 것입니다. 개발자가 귀하를 위해 코드를 컴파일하고 귀하의 사이트로 푸시하는 경우에는 코드가 없습니다. 그래픽, Flash, .NET, Java… 소스 파일이 필요하고 출력되는 모든 것에서 이런 일이 일어나는 것을 보았습니다.

  2. 3

    나는 당신이 어디에서 왔는지 알고 있으며 모든 것에 100 % 동의하지는 않지만 (주의 사항이 있음) 회사는 항상 이것을 명심해야합니다.

    1. 절대적으로. 이것을 충분히 강조 할 수 없습니다. 저는이 일을하는 작은 회사에서 일 해왔고 그 일에 관여하는 것에 대해 큰 죄책감을 느꼈습니다. 거기서 나올 수있어서 너무 기뻐요. 고객은 자신의 도메인을 절대적으로 제어해야합니다. 충분한 지식이있는 사람이 있다면 개발자에게 이에 대한 액세스 권한을주지 마십시오. 그렇지 않은 경우 개발자가 최소한의 리셀러 인터페이스를 통해 정보를 변경하거나 도메인을 이전 할 수있는 방법이 있는지 확인하십시오.

    2. 부분적으로 동의 하겠지만 상황에 따라 다릅니다. 간단한 PHP 앱을 배포하고 저비용 호스팅이 필요한 경우 반드시 LunarPages 또는 DreamHost 계정을 가져 와서 덤프하십시오. 개발자에게 액세스 권한을 부여하십시오. 그러나 저비용 공유 호스팅에는 확실히 단점이 있습니다. 특히 더 큰 경우에 그렇습니다. 그러나 당신이 걱정할만큼 충분히 크면 그것을 다룰 수있는 기술 인력이 있어야한다. 많은 것들이 분명히 신뢰에 관한 것입니다. 당연히 이런 종류의 일 (제한 등)에 대해 할 수 있다면 계약서에 무언가를 넣을 것입니다. 개발자가 멋진 작업을 수행 할 필요가없는 경우 타사 호스팅이 좋습니다. 나는 그것이 정말로 상황적인 일이기 때문에 찢어 졌다는 것을 인정합니다. 또한 사이트의 크기, 사용 된 기술의 배열에 따라 다릅니다. 커지면 직원 채용을 고려 해보자. 항상 옵션은 아니지만 큰 물건에 더 안전합니다.

    3. 이것은 또한 이전 회사가 한 일입니다. 당신은 떠날 수 있고, 그들은 당신에게 HTML, 이미지 등을 줄 것입니다. 하지만 코드는 없습니다. 코드는 기본적으로 임대 서비스였습니다. 즉, 소유와 소유가 있습니다. 저는 항상 비 독점적 인 판매를했습니다. 기본적으로 구성 요소를 재사용 할 수 있어야합니다. 나는 고객이 그것을 소유하고, 그들이 원하는 것을하고, 다른 누군가가 그것을 위해 일하게하는 것에 아무런 문제가 없습니다. 그러나 나는 저 자신을 모기지하지 않을 것이고 매번 바퀴를 재발 명해야합니다.

    4. 항상. 항상. 항상.

  3. 4

    멋진 게시물… 한 항목에 동의하지 않지만 잘했습니다 (# 2) :

    "개발자가 호스팅 회사를 운영하고 귀하의 사이트를 호스팅 할 수 있다는 점이 좋습니다.하지만 그렇게하지 마십시오."

    나는 이것의 논리를 이해하지만 어떤 경우에는 프로젝트를 다른 곳에서 호스팅하도록 명령하는 것이 비생산적 일 수 있습니다. 귀하의 사이트 또는 앱을 개발하는 회사에 선호하는 호스팅 플랫폼이있는 경우 사용하는 것이 더 효율적이고 생산적 일 수 있습니다.

    또한 철학적 관점에서 "인질로 잡히지"않기를 원하기 때문에 개발자의 호스팅 플랫폼 사용을 거부하면 처음부터 불신의 분위기가 조성됩니다. 개발자를 호스팅 할만큼 충분히 신뢰하지 않는 개발자라면 처음부터 함께 작업하고 싶습니까?

    이런 상황에 대해 많은 공포 이야기가 있다는 것을 알고 있지만 일반적으로 신뢰할 수있는 개발자를 찾는 데 집중하는 것이 좋습니다. 개발자의 호스팅을 활용하고 관리 액세스를 요청하고 자체 백업을 만들어 자신을 보호 할 수 있습니다.

    다시 말하지만, 좋은 게시물과 매우 유용한 정보입니다.

    감사합니다!
    마이클 레이놀즈

    • 5

      안녕 마이클,

      그것은 신뢰 문제처럼 들릴지 모르지만 나는 그것이 정말로 통제와 책임 문제라고 생각하지 않습니다. 웹 사이트 개발에 상당한 금액을 투자하려면 해당 환경을 제어 할 수 있는지 확인해야합니다.

      비즈니스에서 관계를 깨뜨리는 일이 발생하며 부정적 일 필요는 없습니다. 개발자 / 회사가 매우 큰 고객을 확보하고 시간을 감당할 수 없습니다. 아마도 그들은 비즈니스 목표를 바꿉니다. 때로는 호스팅 회사에 문제가있을 수 있습니다.

      나는 당신이 당신의 호스팅을 통제하고 책임을 져야한다고 주장하고 있습니다. 그래서 당신은 당신의 개발자에게 그가 잘하는 일인 개발에 의존 할 수 있습니다!

      푸시 백 감사합니다, 마이클

  4. 6

    나는 또한 웹 앱 개발자이며, 당신은 머리에 못을 박았다고 생각합니다. 몇 가지 생각 :

    나는 대부분의 모든 사람들이 동의 할 것이라고 생각합니다 (그리고 아래 코멘트에 근거를두고 있습니다) # 1은 절대적입니다. 절대하지 마십시오. 이제까지. 어떤 상황에서도.

    저는 동료 개발자 들과는 다른 관점을 가지고 있습니다. 우리는 고객을 위해 최종 제품을 호스팅하는 것을 거부합니다 (물론 고객이 개발 중에 제품을 테스트 할 수 있도록 테스트 서버를 호스팅합니다). 고객이 직접 호스팅하거나 호스팅 제공 업체를 찾을 수 있도록 도와 드리겠습니다. 우리는 단순히 호스팅 사업에 참여하고 싶지 않습니다. 그것이 일을 멀리하는 것을 의미한다면 그렇게하십시오. 훨씬 저렴한 가격에이 서비스를 제공 할 수있는 것보다 많은 훌륭한 호스팅 회사 또는 인프라 회사가 있습니다. 우리는 작업의 이식성을 장려하고 클라이언트가 몇 년 후에 호스팅 제공 업체를 전환하더라도 호스팅을 지원하기 위해 최선을 다할 것입니다.

    # 3의 경우 고객은 한 가지주의 사항으로 최종 제품의 모든 소스 코드를받습니다. 솔루션에 사용되는 타사 제품 (예 : Telerik 또는 Component One의 웹 컨트롤)의 경우 클라이언트에게 컴파일 된 dll을 제공 할 수 있습니다. 제 XNUMX 자 컨트롤 (예 : 그리드). 이러한 제 XNUMX 자 회사 (고객에게 제공)와의 라이센스 계약은 이러한 유형의 제어에 대한 소스 코드를 재배포하는 것을 금지합니다. 이는 우리 소유가 아닌 제 XNUMX 자의 지적 재산이기 때문입니다. 이러한 유형의 제품을 사용하면 클라이언트의 개발 시간이 절약되고 동일한 기능을 처음부터 빌드하는 것보다 훨씬 저렴합니다. 우리는 작업이 완료되기 전에이 정책에 대해 솔직합니다. 물론 클라이언트가 사용자 지정 컨트롤 개발 비용을 지불하기를 원할 경우 (타사에서 미리 빌드 한 제품을 사용하는 대신) 다른 모든 것과 함께 해당 사용자 지정 컨트롤에 대한 소스 코드를 제공합니다.

    코드 재사용과 관련하여 우리는 작업이 완료되기 전에 클라이언트 전용 (예 : 독점 비즈니스 프로세스)을 위해 독점적으로 개발되지 않은 경우 코드의 일부를 재사용 할 수 있다는 사실에 대해 솔직합니다. 클라이언트가 물론 개발 된 독점 코드를 원하면 사용할 수 있습니다.

    다른 사람들이 말했듯이 # 4는 항상 권장됩니다. 항상!

    감사합니다
    팀 영

당신은 어떻게 생각하십니까?

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터 처리 방법 알아보기.