Сервисы
Aleksey Lenskiy
108

Что важно знать когда заказываете разработку IT продукта

Когда необходимо создать свой ИТ продукт, для автоматизации бизнеса или запуска нового стартапа, перед вами встаёт вопрос - как правильно подойти к процессу поиска исполнителя и заказа разработки своего проекта.

В закладки

За более чем 10 лет работы в ИТ сфере, поработав и программистом и руководителем компании, я участвовал проектах разных размеров. В каждом из них, видел что клиенты имеют одни и те же заблуждения и трудности из-за того, что не понимают как происходит процесс разработки. Это усложняет работу с исполнителем, и может привести к конфликтным ситуациям, вплодь до срыва проекта.

Чтобы не наступать на известные грабли, и повысить уровень понимания между вами и будущим исполнителем, предлагаю познакомиться с главными советами заказчику ПО. Из этой статьи вы узнаете на что обращать внимание при выборе исполнителя, как в результате получить качественный продукт, не потерять свои время и деньги.

Нужно ли вам разрабатывать свой проект?

Когда становится необходимо какое-то ИТ решение, встаёт вопрос — искать готовый продукт, или разрабатывать свой? На рынке существует множество проектов под разные задачи, и конечно сначала нужно ознакомиться с готовыми предложениями. Если задача типовая, и изучив предложения вы нашли то, что вас всем устраивает, значит вам повезло. На практике, бывает непросто подобрать продукт, полностью подходящий под ваши индивидуальные требования. Он либо излишен, либо в нем может не хватать необходимых функций. Такой софт не получится расширять под свои параметры. Кроме того, стоимость может быть сопоставима со стоимостью создания индивидуального решения.

Если речь идёт о мобильном приложении, или стартапе, т. е. продукте с уникальными функциями, тогда разработка - единственный возможный вариант.

Кому можно заказать разработку

Есть 3 варианта:

  • фрилансеры;
  • найм своего штата;
  • аутсорсинговые ИТ компании.

Рассмотрим плюсы, минусы, и особенности каждого варианта.

Фрилансеры

Главный плюс — ниже стоимость работы. Идеально подходит при минимальном бюджете. Но есть риск потратить деньги впустую. Работа может быть не доделана или сделана некачественно. Это возможно и при работе со студией, но в этом случае, у вас на руках будет договор с юридическим лицом.

Так же главной сложностью, является то, что вам придётся самим взять на себя контроль всей работы. Ставить задачи и проверять качество их выполнения.

Любой проект требует работы специалистов разных сфер — дизайнеров, верстальщиков, программистов, администраторов. Вам будет необходимо самостоятельно искать каждого, и координировать работу между ними.

Свой штат

Идеально для крупных проектов с большим бюджетом. Из минусов — вам понадобится технический директор — человек с самыми высокими компетенциями, который будет отвечать за архитектуру и организацию разработки, тестирования и поддержки вашего проекта. Плюс на вас ложатся заботы обо всех социальных выплатах и налогах, офисные, отпускные и прочие постоянные расходы.

Аутсорсинговая компания, аутстаффинг

Средний и оптимальный вариант между фрилансерами и своим штатом. Цена разработки здесь выше, чем у фрилансеров, но вы платите за работу команды, с широкой компетенцией. С вас снимаются все заботы контроля за качеством, и организации работы. Работа с компанией позволяет варьировать нагрузку и темпы разработки, и не волноваться что штат будет не полностью загружен.

Техническое задание — половина успеха

Когда идея рождается и развивается в голове у заказчика, она имеет абстрактное, образное представление. Но процесс разработки IT проекта — это точная работа, которая требует полной конкретики.

При постановке задачи, не должно быть никаких пустых мест, в которых исполнитель сможет добавить своё видение конечного результата. Поэтому, выразить идеи и представление проекта в чёткое и детальное описание — сложная и объёмная работа.

Разработка и согласование экранных макетов и технического задания, может занимать до двух месяцев. Но это важный этап подготовки к работе. Его можно сравнить с разработкой архитектурного плана, по которому будет понятен конечный результат и составлен план работ. Это даёт уверенность в том, что не возникнет потребности переделывать уже реализованные части проекта, что повлекло бы дополнительные расходы.

Только имея подробное ТЗ, можно точно оценить стоимость создания проекта.

Разработка макетов и технического задания - это кропотливая работа, и оплачивается отдельно. Тем не менее это обязательный этап и он полностью себя окупает. В итоге экономит деньги, и сохраняет отношения между вами и исполнителем.

Планирование бюджета

Конечно, по техническому заданию проект может быть оценен достаточно точно. Но на нашей практике еще ни разу заказчик не останавливался на первом варианте видения своего проекта. Как правило, изменял его, иногда по нескольку раз, еще в процессе разработки. Поэтому не стоит ориентироваться на первую оценку проекта, как на финальную. Вы должны понимать, что исправление уже сделанных частей может потребовать существенных изменений его архитектуры.

Целесообразно, во-первых, вести разработку короткими итерациями, поэтапно выпуская отдельные функции продукта. Во-вторых, оплату работы лучше оформлять по факту затраченного разработчиком времени, а не фиксированной суммой в договоре. Иначе ее придется постоянно корректировать приложениями к договору, в случае любых изменений. В третьих, желательно закончить с этапом фантазирования над проектом и только потом инициировать разработку. В противном случае новый вариант реализации может затронуть глубокую основу технической части проекта, что увеличит бюджет.

Выбор подходящих технологий

Технологий и подходов к разработке ПО огромное количество. Выбор наиболее подходящих решений — важный шаг. В больших компаниях весьма широкий спектр применяемых технологий. Маленькие студии из-за небольшого штата, не могут себе этого позволить. В связи с чем предлагают реализацию на тех средствах, с которыми обычно работают. Они могут отлично подходить под ваш проект, а могут не подходить вовсе. К примеру, некоторые языки программирования дают высокую скорость разработки, но низкую производительность, при высоких нагрузках. То же касается и баз данных.

При подготовке к работе, укажите все требования к проекту — где, в каких условиях, при каком количестве пользователей он должен работать. Это станет критерием для выбора подходящих технологий.

Спрашивайте варианты реализации

Любую функцию или блок проекта всегда можно создать разными способами.

Самый главный совет — спрашивайте варианты реализации. От выбранного способа, зависит сложность и затраченное время. Здесь, как и везде работает правило Парето — 20% вложений дают 80% пользы. И, соответственно, наоборот.

Часто задачу можно решить двумя-тремя путями, например для одного способа потребуется 40 часов работы, для другого 100. Однако второй даст лишь небольшое улучшение или удобство, тогда как основную задачу решают оба. Здесь у вас уже будет выбор, нужно ли столько доплачивать за небольшое улучшение.

Почему разработка стоит дорого

Как бы нам всем не хотелось, получать что-то хорошее и недорого, мы знаем, что чудес не бывает. Чрезмерно экономить — значит потерять и деньги, и время, и проект в целом.

В компании над каждым проектом работают люди разной специализации. Это - менеджер проекта, графический и UX дизайнеры, архитектор, программисты, тестировщики, системные администраторы. Большая команда высокооплачиваемых профессионалов. Значит вы платите за качество и результат, и стоимость командной работы соответствует её компетенциям.

Пытаться реализовать всё и сразу

Видение проекта у предпринимателя часто сильно раздутое, на много лет вперёд и с большим количеством полезнейших функций. Однако, пытаться сделать проект целиком и сразу, довести его до идеального образа сразу — большая ошибка.

Если пытаться сделать сразу всё:

  • во-первых, работа до запуска будет вестись дольше;
  • во-вторых, бюджет будет соответствующий объёму работы, и
  • в третьих — можно не угадать с требованиями пользователей, и реализовать то что окажется не нужным.

Наша рекомендация — разбить проект на части и выпускать каждую продукт поэтапно, увеличивая функционал органично. Таким образом, вы быстрее получите рабочий проект, сможете его оценить и протестировать. Это приведёт к ранней трансформации, осмыслению и корректировки русла его развития, если потребуется.

Настройка процесса тестирования и выпуска проекта

Тестирование и выпуск продукта - это важный этап работы, о котором заказчики обычно не подозревают. Тестирование продукта сначала должно происходить внутреннее, в компании-разработчике, а затем самим заказчиком. Только после тестирования, продукт обновляется в публичном доступе. Процесс обновления работающего проекта — отдельная, иногда сложная задача. Убедитесь в том, что этот процесс настроен исполнителем слаженно, и имеет чёткий алгоритм выпуска проекта. Качество организации этого процесса, говорит об опыте компании.

Вместо вывода

Разработка своего продукта — крутой поворот в жизни вашей компании. Он выводит работу на новый уровень эффективности. Разработка ПО на заказ — это как сшитый лично под вас костюм, идеально вписывается в ваши бизнес процессы и задачи. Так же, свой продукт можно развивать и расширять в любую необходимую сторону.

Важно правильно подойти к процессу планирования и разработки ИТ продукта. Ошибки на этих этапах могут стоить потерянных и денег и времени. Но если всё сделано правильно – результат превзойдёт все ваши ожидания.

Желаем успехов!

С уважением, Ленский Алексей,
генеральный директор SOCIAL TECHS.

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Aleksey Lenskiy", "author_type": "self", "tags": [], "comments": 2, "likes": -2, "favorites": 13, "is_advertisement": false, "subsite_label": "services", "id": 80343, "is_wide": false, "is_ugc": true, "date": "Fri, 23 Aug 2019 12:39:26 +0300", "is_special": false }
0
{ "id": 80343, "author_id": 347900, "diff_limit": 1000, "urls": {"diff":"\/comments\/80343\/get","add":"\/comments\/80343\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/80343"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 200396, "last_count_and_date": null }
2 комментария
Популярные
По порядку
0

Вам тоже успехов. Рекламные ссылки не любят на vc. Нужна хорошая статья с личным опытом, а не очевидные вещи, чтобы публиковать такие ссылки и получить плюс.

Ответить
0

Кирилл, благодарю за отзыв!

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ] { "page_type": "default" }