Как выбрать софтверную компанию: вопросы, договор, исходный код
При выборе софтверной компании узнайте, кому принадлежит исходный код, как проходит передача, кто сопровождает систему и сохранится ли команда.
Команда rabbitclipПубликация: 5 мин чтения
Коротко
Когда вы выбираете софтверную компанию, решающим испытанием становятся не привлекательные экраны в портфолио, а то, что происходит после приемки работы: кому принадлежит исходный код, у кого находятся развертывание и данные для доступа, кто и как быстро устраняет неисправность и не теряются ли знания при смене команды. Если на эти четыре вопроса с самого начала есть письменные ответы, все остальные критерии выбора отходят на второй план и перестают быть решающими. Если же таких ответов нет, риск несет в себе даже самая удачная и убедительная презентация.
Эта статья о выборе компании, которая создает ваше программное обеспечение, а не о выборе общей цифровой студии. Разница в том, что рекламная кампания заканчивается и закрывается, а программа живет годами, обновляется и должна допускать передачу другому исполнителю. Поэтому при выборе стоит смотреть меньше на первую передачу и больше на то, как пройдет третий год.
Кому должен принадлежать исходный код?
Это самый важный из всех вопросов. Если в договоре прямо и недвусмысленно не сказано, что исходный код переходит заказчику после полной оплаты, код может остаться у агентства. Если позже вы захотите перейти к другой команде или расстанетесь с агентством, ваш доступ к собственному продукту окажется под угрозой, и вы ничего не сможете с этим сделать. Представьте производителя напольных покрытий, который поссорился с агентством, написавшим его систему заказов. Если код лежит на сервере агентства, производитель может даже не добраться до собственного рабочего процесса, за который он заплатил.
Помимо права собственности на код имеет значение и доступ к нему. На чье имя открыты репозиторий кода, сервер, доменное имя и учетные записи сторонних сервисов? Если все они открыты на имя заказчика, то с самого начала, еще до первой строчки кода, решен вопрос, который позже приносит больше всего хлопот. По поводу подробной юридической формулировки разумно проконсультироваться с юристом.
Как должна проходить передача проекта?
Передача проекта это гораздо больше, чем просто запуск в работу. Хорошая передача включает упорядоченную выдачу исходного кода, заметок по установке, сведений об окружении и доступа администратора. Если другой разработчик может самостоятельно поднять продукт по этим документам, передача завершена. Практический способ проверить это состоит в том, чтобы до сдачи дать заметки по установке прочитать независимому разработчику.
Критерии приемки и порядок тестирования следует записать заранее, до начала работ. Нужно также заранее обсудить гарантийный срок: бесплатное исправление ошибок, обнаруженных после сдачи, в течение установленного времени это защита, которую предлагает большинство серьезных компаний.
- Исходный код и вся история его версий передаются заказчику.
- Заметки по установке и окружению предоставляются в письменном виде.
- Доступ администратора создается в собственной учетной записи заказчика.
- Критерии приемки и порядок тестирования записываются заранее.
- Срок исправления ошибок после передачи определен.
Как организовать сопровождение и поддержку?
Программа не заканчивается передачей, она продолжает жить. Ей нужны обновления безопасности, обновление зависимостей и небольшие улучшения. В соглашении о сопровождении должно быть прямо сказано, что оно покрывает, как сообщается о неисправности и каким будет время реакции. Иначе каждая, даже самая небольшая просьба превращается в отдельные переговоры, а при срочной неисправности спорят о том, кто за нее отвечает.
Компания, которая сопровождает систему, не обязана быть той, что ее создала, но аккуратный, документированный код как раз и делает такой переход возможным. Компания, которая не говорит о сопровождении в начале проекта, как правило, не заговорит о нем и потом, когда проект уже сдан. Поэтому прямо спросить об этом уже на первой встрече это самый быстрый способ узнать, отвечает ли компания за свой продукт.
Почему важно постоянство команды?
Если работа небольшой компании держится на одном разработчике, проект может встать, когда этот человек уйдет. Поэтому нужно заранее спросить, кто именно будет вести проект, есть ли запасной человек и как распространяются знания.
Письменная документация, проверка кода и общий порядок разработки это конкретные признаки постоянства. Не менее важно выяснить, тот ли человек сидит на встрече по продажам, кто потом будет выполнять работу. Если возможно, поговорите один раз напрямую с разработчиком, который будет ее делать: умение объяснять технические вопросы простым языком это хороший знак.
Какие ошибки допускают при выборе софтверной компании?
Самая частая ошибка это выбирать только по названной сумме. Низкая цена обычно означает либо узкий объем работ, расплывчатое описание или дополнительные просьбы, которые появятся позже. Вторая ошибка в том, что не проверяют отзывы и рекомендации прежних заказчиков. Разговор с прежними клиентами о том, что было после сдачи, поучительнее большинства презентаций.
Третья ошибка это не ставить под сомнение технические решения, предложенные компанией. Технология, на которой построен продукт, определяет, сможет ли другая команда продолжить его позже. Широко распространенные и хорошо документированные технологии обычно несут меньше риска. Очень новая структура или такая, которую понимает только эта компания, может сделать сопровождение дорогим, а порой и очень трудным.
- Смотреть только на цену: нужно сравнивать объем работ и допущения.
- Не просить отзывы: поговорите с прежним заказчиком.
- Не читать договор: пункты о правах и сопровождении пропускают.
- Путать менеджера по продажам с разработчиком: спросите, кто будет выполнять работу.
Когда софтверная компания является неверным выбором?
К компании, которая сразу называет цену, не поинтересовавшись объемом работ, следует присмотреться особенно внимательно. Компания, которая предлагает решения, не выслушав вас, отказывается передать исходный код или настаивает на хранении данных доступа в своей учетной записи, может позже поставить вас в зависимость. Ни один из этих признаков сам по себе не доказывает недобросовестность, но по каждому из них нужно попросить внятных объяснений до подписания договора.
Большая софтверная компания не нужна для небольшой разовой работы, а команда из одного человека рискованна для критичной и долгоживущей системы. Верным будет тот выбор, при котором размер и устройство компании соответствуют масштабу и сроку жизни работы.
Выбор софтверной компании это не конкурс презентаций. Это, по сути, план передачи. Если права на исходный код, содержание передачи, объем сопровождения и постоянство команды записаны с самого начала, ваш выбор стоит на твердой почве. Если вы хотите примерить к этим критериям собственный проект, вы можете договориться об ознакомительной встрече с rabbitclip.
Частые вопросы
Какие вопросы задать софтверной компании?
Спросите, кому будет принадлежать исходный код проекта, что передается при сдаче, как будет устроено сопровождение и какие люди будут вести проект. Получите все четыре ответа в письменном виде.
Исходный код остается у агентства или у меня?
Это целиком зависит от договора. Если передача не записана ясно, код может остаться у агентства, поэтому права и доступ с самого начала следует закрепить за заказчиком. По юридическим подробностям проконсультируйтесь с юристом.
Есть ли разница между агентством разработки и софтверной компанией?
Кроме самого названия, твердой границы между ними нет. Важны устройство компании, ее команда и форма договора, а не ярлык.
Нужно ли соглашение о сопровождении?
Любой работающей в боевом режиме программе нужны обновления безопасности и регулярные проверки. Выполняет ли их та же компания или другая команда, объем и время реакции должны быть записаны.
Должна ли компания находиться рядом со мной?
Местонахождение не главный критерий. Личная встреча удобна, но настоящими мерами служат дисциплина поставок компании, ее договор и постоянство ее команды.
