Преди да наемете партньор за разработка на софтуер, разберете кой точно ще пише кода, какви подобни системи е доставял, как се определят обхватът и приемането и кой притежава кода от първия ден. Неясните отговори на който и да е от тези въпроси са по-сериозен предупредителен знак от високата цена.
Разберете кой всъщност ще пише кода
Хората на търговската среща често не са хората, които ще изградят системата Ви. Поискайте имената, ролите и опита на инженерите, които ще работят по проекта, и поискайте да говорите с техническия ръководител, преди да подпишете.
Попитайте дали част от работата се възлага на подизпълнители или на фрийлансъри. И двата варианта могат да работят добре, но трябва да знаете, а партньорът трябва да гарантира за всеки, когото включва. Попитайте също какво става, ако ключов инженер напусне по средата на проекта, и кой плаща времето, нужно на заместника му да навлезе в работата.
- Кой е техническият ръководител и каква част от времето си отделя за този проект?
- Кои инженери са служители и кои са подизпълнители или фрийлансъри?
- Как подбирате и проверявате специалистите, които включвате?
- Каква е процедурата, ако някой напусне или не е подходящ?
Поискайте опит, който отговаря на Вашия проблем
Дългият списък с клиенти доказва малко, ако нищо в него не прилича на Вашия проект. Поискайте примери с подобни ограничения: същия вид система, сравним трафик или чувствителност на данните и подобен регулаторен контекст. След това попитайте какво е направил точно този екип във всеки случай, а не какво е постигнала цялата програма на клиента.
Бъдете точни за това чий опит купувате. Някои фирми представят индивидуалния опит на своите инженери, което е легитимно, ако е казано честно. Попитайте кога е основана фирмата, коя работа е извършена по нейни собствени договори и дали можете да говорите с бивш клиент.
Получете обхвата, етапите и приемането в писмен вид
Много спорове идват от обхват, който никога не е бил записан точно. Доброто предложение назовава резултатите, разделя работата на етапи и определя как се приема всеки етап, например с преминаващи тестове, демонстрация в тестова среда (staging) или предадена документация.
Попитайте как се обработват и остойностяват заявките за промяна и какъв е търговският модел. Фиксираната цена е подходяща за добре определена работа, а моделът „време и материали” – за проучване и променящи се изисквания. И в двата случая трябва да видите допусканията, на които се основава оценката.
Уредете собствеността върху кода и предаването, преди да започнете
Договорът трябва да посочва, че кодът и свързаната с него интелектуална собственост са Ваши и кога се прехвърля собствеността. Поискайте хранилищата, облачните акаунти и домейните да се създадат във Вашата организация още от първия ден, като партньорът бъде поканен като сътрудник, за да не зависите никога от него за достъпа.
Планирайте предаването в началото, а не в края. Попитайте какво ще получите: документация, записи на архитектурните решения, ръководства за експлоатация (runbooks) и работни сесии със собствения Ви екип. Проверете какви лицензи на трети страни и с отворен код ще използва проектът, защото те носят задължения.
Договорете се как ще виждате напредъка
Никога не бива да се налага да питате дали проектът върви по план. Договорете се за постоянен ритъм, например седмична демонстрация на работещ софтуер и кратък писмен статус, който обхваща напредъка, рисковете и решенията, които се очакват от Вас.
Поискайте директен достъп до системата за задачи и до хранилището, както и едно посочено лице за контакт, което отговаря за изпълнението. Уточнете как се ескалират проблемите и колко бързо можете да очаквате отговор.
Проверете практиките им за сигурност, а не значките им
Попитайте как инженерите достъпват Вашите системи и данни, как се съхраняват тайните, как се преглежда кодът, преди да бъде пуснат, и как зависимостите се проверяват за известни уязвимости. Конкретните отговори са по-важни от слайд с логота.
Ако партньорът ще обработва лични данни от Ваше име, Ви е нужно споразумение за обработване на данни, което отговаря на изискванията на GDPR. Ако доставчик твърди, че има сертификат, поискайте самия сертификат и обхвата му и потвърдете, че той покрива екипа и услугите, които купувате.
Тревожни знаци, които трябва да прекратят разговора
Един предупредителен знак може да има обяснение. Няколко наведнъж обикновено означават, че проектът ще бъде по-труден, отколкото е необходимо.
- Не могат да назоват инженерите, които ще вършат работата.
- Казусите показват резултати, но не и какво всъщност е направил този екип.
- Оценката пристига, преди някой да е задал подробни въпроси за системата Ви.
- Хранилищата и облачните акаунти остават под контрола на партньора.
- Етапите нямат писмени критерии за приемане.
- На въпросите за сигурността се отговаря с общи уверения вместо с конкретни практики.
Основното накратко
- Срещнете се с техническия ръководител и разберете кой ще пише кода, преди да подпишете.
- Преценявайте опита по това доколко отговаря на Вашите ограничения и какво е направил самият екип.
- Писмените етапи с ясни критерии за приемане предотвратяват много спорове за обхвата.
- Дръжте хранилищата и облачните акаунти в собствената си организация от първия ден.
- Искайте конкретни практики за сигурност и доказателства за всеки сертификат, който доставчикът твърди, че има.
Въпроси и отговори
С колко партньори да говоря, преди да избера?
С достатъчно, за да сравните реални разлики в подхода, което за повечето проекти означава няколко. Дайте на всеки едно и също задание и едни и същи въпроси, за да са отговорите сравними.
Договор с фиксирана цена или по време и материали?
Фиксираната цена е подходяща за работа, която можете да опишете подробно, преди да започне. Моделът „време и материали” е подходящ за проучване, променящи се изисквания и текуща разработка, при условие че получавате прозрачни отчети и редовни демонстрации.
Какво трябва да обхване първият разговор с потенциален партньор?
Вашата цел, ограниченията, сроковете и съществуващите системи, както и неговите въпроси към Вас. Партньор, който още на първия разговор задава подробни въпроси за системата Ви, обикновено ще я оцени честно. В SDK Enterprises този първи разговор трае 30 минути и се провежда на френски или английски.