Hindari disandera oleh Pengembang Anda

sandera 100107Akhir pekan ini saya memulai percakapan dengan artis lokal yang telah membantu bosnya mengelola beberapa aplikasi web yang dimiliki bosnya.

Percakapan beralih dan beberapa ventilasi berlanjut tentang membayar biaya pengembangan mingguan tanpa melihat kemajuan apa pun dengan pengembang yang telah mereka tangani. Sekarang pengembang ingin menagih mereka biaya sekaligus untuk menyelesaikan proyek serta biaya pemeliharaan mingguan untuk menutupi permintaan lainnya. Lebih buruk.

Pengembang mentransfer nama domain agar dia dapat mengelolanya. Pengembang juga menginangi aplikasi di akun hostingnya. Singkatnya, pengembang sekarang menyandera mereka.

Untungnya, wanita yang bekerja dengan saya meminta akses administratif di masa lalu untuk mengedit beberapa file template situs. Pengembang bisa saja memberikan akses terbatas padanya tetapi dia tidak melakukannya. Dia (malas) memberinya login administratif ke situs. Malam ini saya menggunakan akses itu untuk membuat cadangan semua kode untuk situs tersebut. Saya juga menemukan perangkat lunak manajemen apa yang dia gunakan dan menuju ke administrasi database di mana saya dapat mengekspor data aplikasi dan struktur tabel. Wah.

Pemilik berencana memindahkan situs ke nama domain baru setelah pengembangan selesai. Itu sangat besar karena itu berarti domain saat ini dapat kedaluwarsa jika ada pemisahan yang tidak menyenangkan antara pengembang dan perusahaan. Saya telah melihat ini terjadi sebelumnya.

Beberapa tip jika Anda ingin mendapatkan tim pengembangan yang dialihdayakan:

  1. Pendaftaran Domain

    Daftarkan nama domain Anda dengan nama perusahaan Anda. Tidaklah buruk untuk memiliki pengembang Anda sebagai Kontak Teknis di akun tersebut, tetapi tak pernah mentransfer kepemilikan domain kepada siapa pun di luar perusahaan Anda.

  2. Hosting Aplikasi atau Situs Anda

    Sangat menyenangkan bahwa pengembang Anda mungkin memiliki perusahaan hosting dan dapat menghosting situs Anda untuk Anda, tetapi jangan lakukan itu. Alih-alih, tanyakan rekomendasinya tentang tempat menghosting aplikasi. Memang benar bahwa pengembang mengenal perangkat lunak manajemen, versi, dan lokasi sumber daya dan itu dapat membantu produk Anda diselesaikan lebih cepat. Meskipun demikian, memiliki akun hosting dan menambahkan pengembang Anda dengan login dan aksesnya sendiri. Dengan cara ini, Anda dapat mencabut steker kapan pun Anda mau.

  3. Miliki Kode

    Jangan berasumsi bahwa Anda pemilik kode, tulislah. Jika Anda tidak ingin pengembang Anda menggunakan solusi yang Anda bayarkan untuk dikembangkan di tempat lain, Anda harus memutuskannya pada saat kontrak. Saya telah mengembangkan solusi dengan cara ini tetapi saya juga mengembangkannya di mana saya mempertahankan hak atas kode. Dalam kasus terakhir, saya menegosiasikan biaya permohonan lebih rendah sehingga ada insentif bagi perusahaan untuk memberi saya hak. Jika Anda tidak keberatan pengembang Anda menggunakan kode Anda di tempat lain, maka Anda tidak perlu membayar mahal!

  4. Dapatkan opini kedua!

    Tidak melukai perasaan saya ketika orang memberi tahu saya bahwa mereka menerima tawaran atau berkonsultasi dengan profesional lain. Sebenarnya, saya merekomendasikannya!

Intinya adalah Anda membayar untuk bakat pengembang Anda, tetapi Anda harus mempertahankan kendali dan kepemilikan atas ide tersebut. Itu milikmu. Andalah yang berinvestasi di dalamnya, Anda yang mempertaruhkan bisnis dan profitabilitas untuk itu… dan Andalah yang harus menyimpannya. Pengembang dapat diganti dan itu tidak boleh membuat aplikasi Anda, atau lebih buruk - bisnis Anda, dalam risiko.

6 Komentar

  1. 1

    Saya seorang pengembang aplikasi web dan saya setuju dengan sebagian besar poin Anda (mungkin semua) tetapi saya ingin klarifikasi tentang # 3.

    Duplikasi grosir situs atau aplikasi yang dijual ke perusahaan lain (atau lebih buruk lagi pesaing) tidak etis dan harus selalu ditetapkan sebagai tidak dapat diterima dalam kontrak Anda. Namun, saya telah mengembangkan solusi inovatif untuk masalah umum saat mengerjakan proyek klien yang tidak ada hubungannya dengan bisnis khusus mereka juga tidak mewakili sebagian besar dari keseluruhan solusi.

    Contoh:
    Klien menginginkan tingkat halaman dan kontrol tingkat bidang yang terkait dengan peran pengguna. Fungsionalitas "di luar kotak" untuk ASP.Net melakukan izin tingkat folder. Jadi saya memperluas izin asli untuk .Net dan mengirimkan solusi sebagai bagian dari aplikasi web secara keseluruhan.

    Saya percaya bahwa mereka berhak atas seluruh basis kode (sebagaimana diatur dalam kontrak) tetapi saya merasa dibenarkan dalam menggunakan metodologi dan potongan kode yang sama untuk menyelesaikan perluasan ini pada proyek-proyek mendatang.

    Kerutan lain:
    Saya melakukan ini saat dibesarkan oleh perusahaan konsultan. Apakah perusahaan konsultan berhak menurut pendapat Anda untuk kembali dan menyalin solusi itu, memasarkannya sebagai milik mereka?

    • 2

      Tidak juga,

      Saya pikir kami setuju. Maksud saya dalam hal ini adalah memastikan bahwa Anda memiliki kode dan dapat keluar dengan kode itu. Jika pengembang Anda sedang menyusun kode untuk Anda dan mendorongnya ke situs Anda - Anda tidak memiliki kodenya. Saya telah melihat ini terjadi dengan segala sesuatu mulai dari grafik, Flash, .NET, Java ... apa pun yang membutuhkan file sumber dan dikeluarkan.

      Doug

  2. 3

    Saya melihat dari mana Anda berasal dan sementara saya tidak setuju dengan semuanya 100% (saya punya peringatan), perusahaan harus selalu mengingat hal ini.

    1. BENAR-BENAR. Tidak bisa cukup menekankan ini. Saya telah bekerja untuk sebuah perusahaan kecil yang melakukan ini dan saya merasa sangat bersalah karena terlibat. Saya sangat senang saya bisa keluar dari sana. Pelanggan harus benar-benar memegang kendali atas domain mereka. Jika mereka memiliki seseorang yang cukup paham, jangan beri pengembang akses ke ini. Jika tidak, pastikan pengembang memiliki cara bagi Anda untuk mengubah info / mentransfer domain setidaknya melalui antarmuka pengecer.

    2. Saya sebagian setuju dengan ini tetapi kemudian itu tergantung pada situasinya. Jika Anda menerapkan aplikasi PHP sederhana dan membutuhkan hosting berbiaya rendah, tentu saja, dapatkan akun LunarPages atau DreamHost atau semacamnya dan buang di sana. Beri akses pengembang. Namun, shared hosting berbiaya rendah pasti memiliki kekurangannya… terutama untuk hal-hal yang lebih besar. Tetapi jika Anda cukup besar untuk mengkhawatirkan hal itu, Anda harus memiliki seseorang teknis pada staf yang dapat menghadapinya. Banyak dari itu jelas tentang kepercayaan. Tentu saja memasukkan sesuatu dalam kontrak jika Anda bisa tentang hal semacam ini (batasan dan semacamnya). Hosting pihak ketiga sangat bagus jika pengembang tidak perlu melakukan sesuatu yang mewah. Saya akui saya robek karena itu benar-benar hal situasional. Itu juga tergantung pada ukuran situs, berbagai teknologi yang digunakan. Jika itu akan menjadi besar, pertimbangkan untuk mempekerjakan seseorang sebagai staf. Tidak selalu menjadi pilihan, tetapi lebih aman untuk hal-hal besar.

    3. Ini juga sesuatu yang dilakukan perusahaan saya sebelumnya. Anda bisa pergi, mereka akan memberi Anda HTML, gambar dll…. tapi tidak ada kode. Kode pada dasarnya adalah layanan yang disewakan. Bisa dikatakan, ada yang memiliki dan memiliki. Saya selalu melakukan penjualan non-eksklusif. Pada dasarnya, saya harus dapat menggunakan kembali komponen saya. Saya tidak memiliki masalah dengan klien yang memilikinya, melakukan apa yang mereka inginkan dan meminta orang lain mengerjakannya… tetapi saya tidak akan menggadaikan diri sendiri dan harus menemukan kembali roda setiap saat.

    4. Selalu. Selalu. Selalu.

  3. 4

    Pos bagus ... bagus sekali meskipun saya tidak setuju dengan satu item (# 2):

    “Sangat menyenangkan bahwa pengembang Anda mungkin memiliki perusahaan hosting dan dapat menghosting situs Anda untuk Anda, tetapi jangan lakukan itu.”

    Meskipun saya memahami logika di balik ini, dalam beberapa kasus dapat menjadi kontra-produktif untuk mengamanatkan bahwa proyek Anda dihosting di tempat lain. Jika perusahaan yang mengembangkan situs atau aplikasi Anda memiliki platform hosting yang mereka sukai, kemungkinan besar itu akan lebih efisien dan produktif bagi mereka untuk menggunakannya.

    Selain itu, dari sudut pandang filosofis, jika Anda menolak untuk menggunakan platform hosting pengembang Anda karena Anda tidak ingin "disandera", maka ini menetapkan nada ketidakpercayaan sejak awal. Jika Anda benar-benar tidak cukup mempercayai pengembang Anda untuk menghosting mereka, apakah Anda benar-benar ingin bekerja sama dengan mereka?

    Saya tahu bahwa banyak cerita horor memang ada tentang situasi seperti ini, tetapi secara umum saya akan merekomendasikan agar Anda fokus untuk menemukan pengembang yang Anda percayai. Anda dapat memanfaatkan hosting pengembang Anda dan tetap melindungi diri Anda sendiri dengan meminta akses administratif dan membuat cadangan Anda sendiri.

    Sekali lagi, posting yang bagus dan informasi yang sangat berguna.

    Terima kasih!
    Michael Reynolds

    • 5

      Hi Michael,

      Ini mungkin terdengar seperti masalah kepercayaan tapi saya rasa tidak - ini benar-benar masalah kendali dan tanggung jawab. Jika Anda akan berinvestasi dalam jumlah besar dalam pengembangan situs web Anda, maka Anda harus yakin bahwa Anda dapat mengontrol lingkungannya.

      Hal-hal terjadi dalam bisnis yang memutuskan hubungan dan tidak perlu negatif. Mungkin pengembang / perusahaan Anda mendapatkan klien yang sangat besar dan tidak mampu memberi Anda waktu. Mungkin mereka mengubah tujuan bisnis. Terkadang perusahaan hosting mereka dapat mengalami masalah.

      Saya menganjurkan agar Anda mengontrol dan bertanggung jawab atas hosting Anda sehingga Anda dapat bergantung pada pengembang Anda untuk keahliannya - berkembang!

      Saya menghargai dorongan kembali, Michael.

  4. 6

    Saya juga seorang pengembang aplikasi web, dan saya pikir Anda telah berhasil. Beberapa pemikiran:

    Saya pikir kebanyakan orang akan setuju (dan berdasarkan komentar di bawah) # 1 adalah mutlak. Jangan pernah melakukannya. Pernah. Dalam keadaan apapun.

    Saya memiliki pandangan berbeda tentang # 2 daripada mungkin beberapa rekan pengembang saya: kami menolak untuk menghosting produk akhir untuk pelanggan kami (tentu saja, kami menjadi tuan rumah server pengujian bagi klien untuk menguji coba produk selama pengembangan). Kami senang membantu klien menyiapkan untuk menghostingnya sendiri atau menemukan penyedia hosting. Kami hanya tidak ingin terjun ke bisnis hosting. Jika itu berarti menolak pekerjaan, biarlah. Ada banyak perusahaan hosting atau perusahaan infrastruktur hebat di luar sana yang dapat menyediakan layanan ini dengan harga yang jauh lebih murah. Kami mendorong portabilitas pekerjaan kami, dan akan melakukan apa pun yang kami bisa untuk membantu membuatnya dihosting, bahkan jika klien beralih penyedia hosting bertahun-tahun kemudian.

    Untuk # 3, klien kami mendapatkan semua kode sumber dari produk akhir dengan satu peringatan: Untuk produk pihak ketiga yang digunakan dalam solusi (seperti kontrol web dari Telerik atau Komponen Satu), kami dapat memberikan klien dll yang telah dikompilasi untuk kontrol pihak ketiga (katakanlah grid). Perjanjian lisensi kami dengan perusahaan pihak ketiga tersebut (yang kami berikan kepada klien) melarang kami mendistribusikan ulang kode sumber untuk jenis kontrol tersebut, karena itu adalah kekayaan intelektual pihak ketiga, bukan milik kami. Penggunaan jenis produk ini menghemat waktu pengembangan untuk klien dan jauh lebih murah daripada membangun fungsi yang sama dari awal. Kami berterus terang tentang kebijakan ini sebelum pekerjaan apa pun dilakukan. Tentu saja, jika klien ingin membayar untuk pengembangan kontrol kustom (daripada menggunakan produk prebuilt dari pihak ketiga) kami menyediakan kode sumber untuk kontrol kustom tersebut bersama dengan yang lainnya.

    Dalam hal penggunaan ulang kode, kami berterus terang tentang fakta bahwa kami dapat menggunakan kembali sebagian kode kecuali jika dikembangkan secara khusus untuk penggunaan klien (katakanlah untuk proses bisnis berpemilik) sebelum pekerjaan apa pun selesai. Jika klien ingin memiliki kode eksklusif yang dikembangkan tentu saja, itu tersedia untuk mereka.

    Seperti yang dikatakan orang lain, # 4 selalu direkomendasikan. Selalu!

    Salam,
    Tim Young

Bagaimana menurut Anda?

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.