Избегнувајте да ве заземаат заложници од вашите програмери

заложник100107Викендов започнав разговор со локална уметница која му помагаше на нејзиниот шеф во управувањето со неколку веб-апликации што ги поседува нејзиниот шеф.

Разговорот се сврте и некои пропусти продолжија за плаќање на неделни надоместоци за развој, без да видат каков било напредок со инвеститорот со кој работеле. Сега инвеститорот сака да им наплати уште еден паушал за да го заврши проектот, како и неделен надоместок за одржување за да покрие други барања. Се влошува.

Инвеститорот ги префрли имињата на домените за да може да управува со нив. Инвеститорот исто така е домаќин на апликацијата на неговата сметка за хостирање. На кратко, инвеститорот сега ги држи во заложништво.

За среќа, жената со која работам бараше административен пристап во минатото за да уреди некои од датотеките на образецот за страницата. Инвеститорот можел да и обезбеди ограничен пристап, но тој не го стори тоа. Тој (мрзливо) и обезбеди административно најавување на страницата. Вечерва го искористив тој пристап за резервна копија на целиот код за страницата. Исто така, сфатив каков софтвер за управување го користи и се снајдов до администрацијата на базата на податоци каде што бев во можност да ги извезам и податоците на апликациите и структурата на табелите. Вуу

Сопственикот планирал да ги премести страниците во нови имиња на домени откако ќе заврши развојот. Тоа е огромно бидејќи тоа значи дека сегашните домени може да истечат во случај да има лута поделба помеѓу инвеститорот и компанијата. Сум видел дека ова се случува порано.

Неколку совети ако сакате да добиете тим за развој на надворешни лица:

  1. Регистрација на домен

    Регистрирајте ги имињата на вашите домени во името на вашата компанија. Не е лошо да го имате вашиот развивач како Технички контакт на сметката, но никогаш пренесете ја сопственоста на доменот на кој било надвор од вашата компанија.

  2. Хостирање на вашата апликација или страница

    Одлично е што вашиот развивач може да има компанија за хостирање и да може да биде домаќин на вашата страница за вас, но не правете го тоа. Наместо тоа, прашајте ги неговите препораки за тоа каде да биде домаќин на апликацијата. Вистина е дека програмерите се запознаваат со софтверот за управување, верзиите и локацијата на ресурсите и тоа може да помогне вашиот производ да се заврши порано. Ова, сепак, е сопственик на сметката за хостинг и додајте го вашиот развивач со сопствено најавување и пристап. На овој начин, можете да го повлечете приклучокот кога и да треба.

  3. Поседувајте го Кодексот

    Не претпоставувајте дека сте сопственик на кодот, ставете го во писмена форма. Ако не сакате вашиот развивач да ги користи решенијата што сте му ги платиле да ги развива на друго место, мора да одлучите за тоа за време на договорот. Развив решенија на овој начин, но ги развив и таму каде што ги задржувам правата на кодот. Во вториот случај, јас преговарав за цената на апликацијата пониска, така што имаше поттик за компанијата да ми даде права. Ако не ви пречи вашиот развивач да го користи вашиот код на друго место, тогаш не треба да плаќате врвен долар!

  4. Добијте второ мислење!

    Не ги повредува моите чувства кога луѓето ќе ми кажат дека поднесуваат понуди или се консултираат со други професионалци. Всушност, јас го препорачувам!

Во крајна линија е дека плаќате за талентот на вашиот развивач, но мора да ја задржите контролата и сопственоста над идејата. Тоа е твое. Вие сте инвестирале во тоа, вие што го ризикувавте вашиот бизнис и профитабилноста за тоа ... и вие сте тоа што треба да го задржите. Програмерите можат да бидат заменети и тоа никогаш не треба да ја доведува во опасност вашата апликација, или уште полошо - вашиот бизнис.

6 Коментари

  1. 1

    Јас сум развивач на веб-апликации и се согласувам со повеќето ваши точки (можеби сите), но би сакал појаснување за #3.

    Умножувањето на големо на веб-локација или апликација продадена на друга компанија (или уште полошо на конкурент) е неетички и секогаш треба да биде наведено како неприфатливо во вашиот договор. Сепак, развив иновативни решенија за вообичаени проблеми додека работев на проект на клиентот што нема никаква врска со нивната посебна дејност, ниту претставува значителен дел од целокупното решение.

    Пример:
    Клиентот го бара нивото на страницата и контролата на нивото на поле поврзани со корисничките улоги. Функционалноста „надвор од кутијата“ за ASP.Net прави дозволи за ниво на папка. Така, ги проширив домашните дозволи за .Net и го испорачав решението како дел од целокупната веб-апликација.

    Верувам дека тие имаат право на целата база на кодови (како што е наведено во договорот), но се чувствувам оправдано да ја користам истата методологија и парчиња код за да го постигнам ова проширување на идните проекти.

    Уште една брчка:
    Го направив ова додека ме одгледуваше консултантска компанија. Дали консултантската компанија, според вас, би имала право да се врати назад и да го копира тоа решение, пласирајќи го како свое?

    • 2

      Не навистина,

      Мислам дека се согласуваме. Мојата поента во ова е да се осигурам дека ја имате шифрата и дека можете да излезете од вратата со неа. Ако вашиот програмер го составува кодот за вас и го турка на вашата страница - вие го немате кодот. Сум видел дека ова се случува со сè, од графика, Flash, .NET, Java… сè што бара изворна датотека и се емитува.

      Doug

  2. 3

    Гледам од каде доаѓаш и иако не се согласувам со се 100% (имам предупредувања), компаниите секогаш треба да го имаат ова на ум.

    1. АПСОЛУТНО. Не можам да го нагласам ова доволно. Работев за мала компанија што го правеше ова и чувствував огромна вина поради тоа што бев вклучен. Многу ми е мило што успеав да излезам од таму. Клиентите треба апсолутно да ја задржат контролата врз нивните домени. Ако имаат некој доволно такт, не му давајте на програмерите пристап до ова. Ако не, проверете дали развивачот има начин да ги промените информациите/пренесите доменот преку некој вид интерфејс за препродавач.

    2. Делумно би се согласил со ова, но потоа зависи од ситуацијата. Ако имплементирате едноставна PHP апликација и ви треба хостирање со ниска цена, земете сметка за LunarPages или DreamHost или нешто слично и исфрлете ја таму. Дајте му пристап на развивачот. Сепак, евтиниот заеднички хостинг сигурно има свои недостатоци... особено за поголеми работи. Но, ако сте доволно големи за да се грижите за тоа, треба да имате некој технички во персоналот кој може да се справи со тоа. Очигледно, многу од тоа се однесува на довербата. Секако, по ѓаволите, стави нешто во договор ако можеш за вакви работи (ограничувања и слично). Хостирањето од трета страна е одлично ако инвеститорот не треба да прави ништо фенси. Признавам дека сум растргнат бидејќи тоа е навистина ситуациона работа. Тоа зависи и од големината на локацијата, низата употребени технологии. Ако тоа ќе биде големо, размислете за вработување на лице во персоналот. Не секогаш опција, но побезбедна за големи работи.

    3. Ова е исто така нешто што го направи мојата поранешна компанија. Можете да заминете, тие ќе ви дадат HTML, слики итн. но без код. Кодот во основа беше изнајмена услуга. Како што се вели, има поседување и поседување. Отсекогаш сум правел неексклузивна продажба. Во суштина, треба да можам повторно да ги користам моите компоненти. Немам проблем со клиентот да го поседува, да прави што сака со него и некој друг да работи на тоа... но јас нема да се ставам себеси под хипотека и треба да го измислувам тркалото секој пат.

    4. Секогаш. Секогаш. Секогаш.

  3. 4

    Добар пост... браво иако не се согласувам со една ставка (#2):

    „Одлично е што вашиот програмер може да има компанија за хостирање и може да ја хостира вашата страница за вас, но не правете го тоа“.

    Иако ја разбирам логиката зад ова, може да биде контрапродуктивно во некои случаи да се наложи вашиот проект да биде хостиран на друго место. Ако компанијата што ја развива вашата страница или апликација има платформа за хостирање што тие претпочитаат да ја користат, шансите се дека ќе биде поефикасно и попродуктивно за нив да ја користат.

    Дополнително, од филозофска гледна точка, ако одбиете да ја користите платформата за хостирање на вашиот програмер затоа што не сакате да бидете „заложници“, тогаш ова дава тон на недоверба од самиот почеток. Ако навистина не му верувате доволно на вашиот програмер за да биде домаќин со нив, тогаш дали навистина сакате да работите со нив на прво место?

    Знам дека постојат многу хорор приказни за ваква ситуација, но генерално би препорачал да се фокусирате на наоѓање програмер на кој му верувате. Можете да го користите хостирањето на вашиот програмер и сепак да се заштитите себеси со барање административен пристап и правење сопствени резервни копии.

    Повторно, добар пост и многу корисни информации.

    Ви благодариме!
    Мајкл Рејнолдс

    • 5

      Здраво Мајкл,

      Можеби звучи како прашање на доверба, но не мислам дека е - тоа е навистина прашање на контрола и одговорност. Ако сакате да инвестирате значителна сума во развојот на вашата веб-страница, тогаш мора да бидете сигурни дека можете да ја контролирате неговата околина.

      Во бизнисот се случуваат работи кои ги прекинуваат односите и не мора да бидат негативни. Можеби вашиот развивач/фирма добива многу голем клиент и не може да ви дозволи време. Можеби тие ги менуваат деловните цели. Понекогаш нивната компанија за хостирање може да има проблеми.

      Се залагам вие да го контролирате и да бидете одговорни за вашето хостирање за да можете да зависите од вашиот развивач во она во што е одличен – развивање!

      Го ценам враќањето назад, Мајкл.

  4. 6

    Јас сум и развивач на веб-апликации и мислам дека си го погодил клинецот. Некои размислувања:

    Мислам дека повеќето би се согласиле (и се базира на коментарите подолу) # 1 е апсолутен. Никогаш, никогаш не правете го тоа. Некогаш. Под секоја околност.

    Имам поинаков став за #2 отколку можеби некои мои колеги програмери: одбиваме да го хостираме финалниот производ за нашите клиенти (се разбира, ние сме домаќини на сервер за тестирање за клиентите да го тестираат производот за време на развојот). Ние сме среќни да им помогнеме на клиентите да се постават сами да го хостираат или да најдат добавувач на хостинг. Едноставно не сакаме да влеземе во бизнисот со хостинг. Ако тоа значи одвраќање на работата, нека биде така. Има многу големи хостинг компании или инфраструктурни фирми таму отколку што можат да ја обезбедат оваа услуга по многу поевтина цена. Ние ја охрабруваме преносливоста на нашата работа и ќе направиме се што можеме за да помогнеме да се хостира, дури и ако клиентот ги смени давателите на хостинг неколку години подоцна.

    За #3, нашите клиенти го добиваат целиот изворен код на финалниот производ со едно предупредување: за производи од трети страни што се користат во решението (како веб-контроли од Telerik или Component One), можеме да му го дадеме на клиентот компајлирана dll за контрола на третата страна (да речеме мрежа). Нашите договори за лиценцирање со компаниите од трети страни (кои ги обезбедуваме на клиентот) ни забрануваат да го редистрибуираме изворниот код за тој тип на контроли, бидејќи тоа е интелектуална сопственост на трети страни, а не наша. Употребата на овие типови производи заштедува време за развој на клиентот и е многу поевтина од изградбата на истата функционалност од почеток. Ние сме однапред за оваа политика пред да се заврши каква било работа. Се разбира, ако клиентот сака да плати за развој на приспособена контрола (наместо да го користи претходно изградениот производ од трета страна), ние го обезбедуваме изворниот код за таа приспособена контрола заедно со сè друго.

    Кога станува збор за повторна употреба на кодот, однапред сме за фактот дека можеме повторно да користиме делови од кодот, освен ако не е изрично развиен исклучиво за употреба на клиентот (да речеме за комерцијален деловен процес) пред да се заврши каква било работа. Ако клиентот сака да има развиен ексклузивен код, се разбира, тоа му е достапно.

    Како што кажаа другите, #4 секогаш се препорачува. Секогаш!

    Со почит,
    Тим Јанг

Што мислите?

Оваа страница користи Akismet за намалување на спам. Научете како се обработува вашиот коментар.