Elakkan disandera oleh Pembangun anda

tebusan100107Hujung minggu ini saya memulakan perbualan dengan artis tempatan yang telah membantu bosnya dengan pengurusan beberapa aplikasi web yang dimiliki oleh bosnya.

Perbualan bergilir-gilir dan beberapa usaha berterusan mengenai pembayaran yuran pembangunan mingguan tanpa melihat kemajuan dengan pemaju yang mereka bekerjasama. Kini pembangun ingin mengenakan bayaran sekali gus untuk menyelesaikan projek tersebut dan juga kos penyelenggaraan mingguan untuk menampung permintaan lain. Ia menjadi lebih teruk.

Pembangun memindahkan nama domain supaya dia dapat menguruskannya. Pembangun juga menghoskan aplikasi di akaun hostingnya. Pendek kata, pemaju kini menjadikan mereka sebagai tebusan.

Syukurlah, wanita yang saya bekerjasama menuntut akses pentadbiran pada masa lalu untuk menyunting beberapa fail templat untuk laman web ini. Pembangun boleh memberikan akses terhad kepadanya tetapi dia tidak. Dia (dengan malas) memberikannya log masuk pentadbiran ke laman web ini. Malam ini saya menggunakan akses itu untuk membuat sandaran semua kod untuk laman web ini. Saya juga mengetahui perisian pengurusan apa yang dia gunakan dan berjalan ke pentadbiran pangkalan data di mana saya dapat mengeksport struktur aplikasi dan data kedua-dua aplikasi. Wah.

Pemiliknya merancang untuk memindahkan laman web ke nama domain baru setelah pembangunan selesai. Itu sangat besar kerana ini bermaksud domain semasa boleh berakhir sekiranya berlaku pemisahan antara pemaju dan syarikat. Saya pernah melihat perkara ini berlaku sebelum ini.

Beberapa petua jika anda ingin mendapatkan pasukan pengembangan dari luar:

  1. Pendaftaran Domain

    Daftarkan nama domain anda di nama syarikat anda. Tidak buruk untuk menjadikan pembangun anda sebagai Kenalan Teknikal di akaun, tetapi pernah pindahkan pemilikan domain kepada sesiapa sahaja di luar syarikat anda.

  2. Menghoskan Aplikasi atau Laman web anda

    Hebatnya pembangun anda mungkin mempunyai syarikat hosting dan dapat menghoskan laman web anda untuk anda, tetapi jangan melakukannya. Sebagai gantinya, tanyakan cadangannya di mana menjadi tuan rumah aplikasi. Memang benar bahawa pembangun berkenalan dengan perisian pengurusan, versi, dan lokasi sumber dan yang dapat membantu produk anda disiapkan lebih cepat. Namun demikian, memiliki akaun hosting dan tambahkan pembangun anda dengan log masuk dan aksesnya sendiri. Dengan cara ini, anda boleh menarik palamnya bila-bila masa.

  3. Memiliki Kod

    Jangan menganggap bahawa anda memiliki kod, tuliskan secara bertulis. Sekiranya anda tidak mahu pembangun anda menggunakan penyelesaian yang anda bayar untuk dikembangkan di tempat lain, anda mesti memutuskannya pada masa kontrak. Saya telah membuat penyelesaian dengan cara ini tetapi saya juga mengembangkannya di mana saya mempunyai hak untuk kod tersebut. Dalam kes terakhir, saya merundingkan kos permohonan lebih rendah sehingga ada insentif kepada syarikat untuk memberi saya hak. Sekiranya anda tidak keberatan dengan pembangun anda menggunakan kod anda di tempat lain, maka anda seharusnya tidak membayar dolar teratas!

  4. Dapatkan pendapat kedua!

    Ia tidak menyakitkan perasaan saya apabila orang memberitahu saya bahawa mereka membuat tawaran atau berunding dengan profesional lain. Sebenarnya, saya mengesyorkannya!

Intinya ialah anda membayar bakat pemaju anda tetapi anda mesti mengekalkan kawalan dan pemilikan idea tersebut. Ia adalah milik anda. Anda yang melaburkannya, anda yang mempertaruhkan perniagaan anda dan keuntungannya ... dan anda yang harus menjaganya. Pembangun boleh diganti dan tidak semestinya membahayakan aplikasi anda, atau lebih teruk lagi - perniagaan anda.

6 Komen

  1. 1

    Saya pembangun aplikasi web dan saya bersetuju dengan sebahagian besar perkara anda (mungkin semua) tetapi saya ingin penjelasan mengenai # 3.

    Penggandaan borong laman web atau aplikasi yang dijual kepada syarikat lain (atau lebih teruk lagi pesaing) adalah tidak beretika dan harus selalu dinyatakan sebagai tidak boleh diterima dalam kontrak anda. Walau bagaimanapun, saya telah mengembangkan penyelesaian inovatif untuk masalah biasa semasa mengerjakan projek pelanggan yang tidak ada kaitan dengan perniagaan mereka dan juga tidak mewakili sebahagian besar penyelesaian keseluruhan.

    Contoh:
    Kawalan tahap halaman dan tahap yang diinginkan pelanggan terikat dengan peranan pengguna. Fungsi "di luar kotak" untuk ASP.Net melakukan kebenaran tahap folder. Oleh itu, saya memperluaskan kebenaran asli untuk .Net dan menyampaikan penyelesaiannya sebagai sebahagian daripada aplikasi web keseluruhan.

    Saya percaya bahawa mereka berhak untuk keseluruhan pangkalan data (seperti yang dinyatakan dalam kontrak) tetapi saya merasa dibenarkan menggunakan metodologi dan potongan kod yang sama untuk menyelesaikan peluasan ini pada projek-projek masa depan.

    Kedutan lain:
    Saya melakukan ini semasa diusahakan oleh syarikat perunding. Adakah syarikat perunding mempunyai hak pada pendapat anda untuk kembali dan menyalin penyelesaiannya, memasarkannya sebagai kaedah mereka sendiri?

    • 2

      Tidak,

      Saya rasa kita setuju. Maksud saya adalah untuk memastikan bahawa anda mempunyai kod dan boleh keluar dari pintu dengannya. Sekiranya pembangun anda menyusun kod untuk anda dan memasukkannya ke laman web anda - anda tidak mempunyai kod tersebut. Saya telah melihat ini berlaku dengan segala-galanya dari grafik, Flash, .NET, Java ... apa sahaja yang memerlukan fail sumber dan dikeluarkan.

      Doug

  2. 3

    Saya melihat dari mana anda datang dan walaupun saya tidak setuju dengan semua perkara 100% (saya mempunyai peringatan), syarikat harus selalu mengingat perkara ini.

    1. SESUAI. Tidak cukup menekankan ini. Saya pernah bekerja di sebuah syarikat kecil yang melakukan ini dan saya merasa bersalah kerana terlibat. Saya sangat gembira kerana dapat keluar dari sana. Pelanggan harus betul-betul mengawal domain mereka. Sekiranya mereka mempunyai seseorang yang cukup arif, jangan berikan akses kepada pembangun. Sekiranya tidak, pastikan pembangun mempunyai cara untuk anda mengubah maklumat / memindahkan domain melalui antara muka penjual semula.

    2. Saya sebahagian setuju dengan ini tetapi kemudian bergantung kepada keadaan. Sekiranya anda menggunakan aplikasi PHP yang sederhana dan memerlukan hosting kos rendah, dengan segala cara, dapatkan akaun LunarPages atau DreamHost atau sesuatu dan buang di sana. Beri akses kepada pembangun. Walau bagaimanapun, hosting bersama dengan kos rendah pasti mempunyai kekurangannya ... terutama untuk perkara yang lebih besar. Tetapi jika anda cukup besar untuk bimbang bahawa anda harus mempunyai seseorang yang teknikal kepada kakitangan yang boleh menghadapinya. Sebilangan besar jelas mengenai kepercayaan. Sudah tentu meletakkan sesuatu dalam kontrak jika anda boleh mengenai perkara seperti ini (sekatan dan semacamnya). Pengehosan pihak ketiga sangat bagus jika pemaju tidak perlu melakukan sesuatu yang mewah. Saya mengaku saya koyak kerana ia benar-benar keadaan. Itu juga bergantung pada ukuran laman web, rangkaian teknologi yang digunakan. Sekiranya ia akan menjadi besar, pertimbangkan untuk menggaji pekerja. Tidak selalu menjadi pilihan, tetapi lebih selamat untuk barangan besar.

    3. Ini juga merupakan sesuatu yang dilakukan oleh syarikat saya dahulu. Anda boleh pergi, mereka akan memberi anda HTML, gambar dan lain-lain .... tetapi tiada kod. Kodnya pada dasarnya adalah perkhidmatan yang disewa. Yang dikatakan, ada memiliki dan memiliki. Saya selalu melakukan penjualan bukan eksklusif. Pada asasnya, saya mesti dapat menggunakan semula komponen saya. Saya tidak mempunyai masalah dengan pelanggan yang memilikinya, melakukan apa yang mereka mahukan dengannya dan meminta orang lain mengusahakannya… tetapi saya tidak akan menggadaikan diri sendiri dan harus mencipta semula roda setiap masa.

    4. Sentiasa. Sentiasa. Sentiasa.

  3. 4

    Catatan yang bagus ... bagus walaupun saya tidak setuju dengan satu item (# 2):

    "Hebatnya pembangun anda mungkin mempunyai syarikat hosting dan dapat menjadi tuan rumah laman web anda untuk anda, tetapi jangan melakukannya."

    Walaupun saya memahami logik di sebalik ini, dalam beberapa kes boleh menjadi kontraproduktif untuk mewajibkan agar projek anda dihoskan di tempat lain. Sekiranya syarikat yang mengembangkan laman web atau aplikasi anda mempunyai platform hosting yang lebih suka mereka gunakan, kemungkinan ia akan lebih efisien dan produktif untuk menggunakannya.

    Selain itu, dari sudut pandang falsafah, jika anda enggan menggunakan platform hosting pembangun anda kerana anda tidak mahu "disandera", maka ini akan menimbulkan nada tidak percaya sejak awal. Sekiranya anda benar-benar tidak mempercayai pembangun anda untuk menjadi tuan rumah dengan mereka, maka adakah anda benar-benar mahu bekerjasama dengan mereka?

    Saya tahu bahawa terdapat banyak kisah seram mengenai keadaan seperti ini, tetapi secara amnya saya mengesyorkan agar anda fokus mencari pembangun yang anda percayai. Anda boleh menggunakan hosting pembangun anda dan tetap melindungi diri anda dengan meminta akses pentadbiran dan membuat sandaran anda sendiri.

    Sekali lagi, catatan yang baik dan maklumat yang sangat berguna.

    Terima kasih!
    Michael Reynolds

    • 5

      Hi Michael,

      Ini mungkin terdengar seperti masalah kepercayaan tetapi saya rasa tidak - ini benar-benar masalah kawalan dan tanggungjawab. Sekiranya anda akan melabur sejumlah besar dalam pembangunan laman web anda, maka anda harus yakin bahawa anda dapat mengawal persekitarannya.

      Perkara berlaku dalam perniagaan yang memutuskan hubungan dan mereka tidak perlu negatif. Mungkin pemaju / firma anda mendapat pelanggan yang sangat besar dan tidak dapat memberi anda masa. Mungkin mereka mengubah objektif perniagaan. Kadang kala syarikat hosting mereka mempunyai masalah.

      Saya menganjurkan agar anda mengawal dan bertanggungjawab terhadap hosting anda supaya anda boleh bergantung pada pembangun anda untuk apa yang dia mahir - berkembang!

      Saya menghargai push-back, Michael.

  4. 6

    Saya juga pembangun aplikasi web, dan saya fikir anda telah memukul kuku di kepala. Beberapa fikiran:

    Saya rasa kebanyakan orang akan bersetuju (dan berdasarkan komen di bawah) # 1 adalah mutlak. Jangan pernah melakukannya. Pernah. Dalam keadaan apa pun.

    Saya mempunyai # 2 yang berbeza daripada yang mungkin dilakukan oleh beberapa rakan pemaju saya: kami enggan menjadi tuan rumah produk akhir untuk pelanggan kami (tentu saja, kami menjadi tuan rumah pelayan ujian untuk pelanggan menguji produk semasa pembangunan). Kami dengan senang hati membantu pelanggan membuat persediaan untuk mengehoskannya sendiri atau mencari penyedia hosting. Kami tidak mahu menceburkan diri dalam perniagaan hosting. Sekiranya itu bermaksud menolak kerja, jadilah ia. Terdapat banyak syarikat hosting atau syarikat infrastruktur di luar sana yang dapat menyediakan perkhidmatan ini dengan harga yang jauh lebih murah. Kami mendorong mudah dibawa kerja kami, dan akan melakukan apa sahaja yang kami dapat untuk membantu menghoskannya, walaupun pelanggan menukar penyedia hosting bertahun-tahun.

    Untuk # 3, pelanggan kami mendapatkan semua kod sumber produk akhir dengan satu peringatan: Untuk produk pihak ketiga yang digunakan dalam penyelesaian (seperti kawalan web dari Telerik atau Komponen Satu), kami dapat memberikan klien yang disusun dll untuk kawalan pihak ketiga (katakan grid). Perjanjian pelesenan kami dengan syarikat pihak ketiga tersebut (yang kami berikan kepada pelanggan) melarang kami mengagihkan semula kod sumber untuk jenis kawalan tersebut, kerana itu adalah harta intelek pihak ketiga, bukan milik kami. Penggunaan jenis produk ini menjimatkan masa pengembangan untuk pelanggan dan jauh lebih murah daripada membina fungsi yang sama dari awal. Kami memaklumkan mengenai dasar ini sebelum sebarang kerja dilakukan. Sudah tentu, jika pelanggan ingin membayar pengembangan kawalan tersuai (daripada menggunakan produk prabuat dari pihak ketiga), kami menyediakan kod sumber untuk kawalan khusus itu bersama dengan yang lain.

    Ketika menggunakan semula kod, kami dimaklumkan tentang fakta bahawa kami dapat menggunakan kembali sebahagian kod tersebut kecuali jika kode tersebut dikembangkan secara eksklusif untuk kegunaan pelanggan (katakanlah untuk proses perniagaan hak milik) sebelum ada pekerjaan yang dilakukan. Sekiranya pelanggan ingin mengembangkan kod eksklusif tentu saja, itu tersedia untuk mereka.

    Seperti yang orang lain katakan, # 4 selalu digalakkan. Sentiasa!

    Regards,
    Tim Muda

Apa yang anda fikir?

Laman web ini menggunakan Akismet untuk mengurangkan spam. Ketahui bagaimana data komen anda diproses.