Каких ошибок может избежать бизнес при создании собственного софта
Сергей Липов, директор по информационным технологиям, EdgeЦентр
Что дает бизнесу собственное программное обеспечение? Для одних это экономия, для других — индивидуальное решение насущных задач, для третьих — вынужденная мера в условиях импортозамещения. В любом случае сегодня в России очевиден рост спроса на разработку софта под конкретные нужды бизнеса. Большинство крупных отечественных корпораций уже давно имеют свои внутренние ИТ-подразделения, одна из задач которых — создание ПО. Вслед за ними средние и малые компании также приходят к потребности в подобных продуктах. Однако как раз им и приходится сложнее всего: необходимо четко понять, как действовать, чтобы конечный продукт действительно соответствовал ожиданиям и не выкачал годовой бюджет фирмы. Рассмотрим разные нюансы, которые могут возникнуть на пути разработки собственного софта.
Перламутровые пуговицы
ПО для бизнеса — что-то вроде одежды для современного человека. Теоретически можно обойтись и без нее, но ходить лишь в набедренной повязке — не то, что неприлично, а просто неудобно. У каждого свои потребности. Иметь много разных вещей или запастись лишь самым необходимым: нижнее белье, штаны и пара кофт (операционка, антивирус, текстовый редактор, таблицы). Кто-то покупает наряды, кто-то даже берет их в аренду для особых праздников. А для кого-то удобнее пошить гардероб под себя — чтобы это было твое, уникальное, ничего не впивалось в ягодицы и не давило грудь. Опять же, некоторые решаются сделать это лично: от мерок и раскроя до последней петельки на внутреннем кармашке, а кто-то идет к профессиональному портному. С программным обеспечением для бизнеса — примерно то же самое. Или арендуешь, или покупаешь, или идешь к разработчикам, или делаешь сам. Во всех случаях найдутся свои «за» и «против». Поэтому чтобы было не мало, не велико, и пуговицы были на своих местах, а еще может быть, и вовсе перламутровые — стоит заранее спланировать весь процесс и просчитать риски.
Для начала нужно понять, зачем вообще бизнес задумывается о создании собственного софта. Сегодня один из ключевых факторов — геополитическая обстановка: в ситуации, когда западные вендоры покинули российский рынок, а на государственном уровне принимаются законы о переходе на отечественные решения. Компании вынуждено ищут самые разные способы, чтобы перейти на новые программы, в том числе и своего производства. Возникает дилемма: если уж все равно мы уходим от прежних разработок, что проще — купить что-то шаблонное или сделать конкретный продукт под себя: сшить платье по твоим размерам и твоему фасону.
Независимость и безопасность
Крупные корпорации озаботились созданием собственного софта раньше средних и малых игроков. В прошлом году объем мирового рынка программного обеспечения корпоративного класса достиг более 350 миллиардов долларов. Сегодня в России мы можем найти множество примеров, когда конкретное ПО разработано непосредственно под определенных игроков. Детский мир имеет собственную e-commerce-платформу, М.Видео — SaaS-решение и систему расчета персональной стоимости с помощью искусственного интеллекта. Компании масштабов Сбербанка — и подавно, построили собственные ИТ-вселенные, готовые конкурировать с крупными игроками мирового рынка информационных технологий. В таких случаях доля собственного ПО в корпорации может достигать 70%, а то и больше. Так, Росэлектроника запустила платформу для управления процессами «Цифровое производство», а Сибур — комплекс промышленного интернета вещей для сбора данных с оборудования (IIoT) и программно-аппаратный комплекс «Удалённый эксперт AR». Ростелеком разработал централизованную систему для вывода новых продуктов на рынок «Единый продуктовый каталог» и единую систему паспортизации, анализа и мониторинга эксплуатации объектов недвижимости.
Анализируя вышеперечисленные разработки, можно констатировать, что на создание собственных продуктов влияет не только санкционная политика. Новый уровень осознанности бизнеса делает значимым именно индивидуальные решения, учитывающие конкретную специфику каждого отдельного игрока. И дело тут уже не в масштабах компании. Задачи, которые выходят на первый план — упрощение бизнес-процессов, автоматизация рутинных задач, улучшение взаимодействия с потребителем, индивидуальный подход к решению конкретных задач. Иными словами, участники российского рынка стремятся к независимости и безопасности.
Системный софт и индивидуальное ПО
Аналитики считают, что в ближайшее время в России 60% всего программного обеспечения будет создаваться компаниями самостоятельно, а остальные 40% покупаться на рынке — и в первую очередь это будет системный софт.
Ситуации, не учитывающие индивидуальные особенности — вполне могут быть отданы на откуп массовому производству. Бизнес вряд ли будет вкладываться в разработку системного ПО: такие решения обычно одинаковы для всех. Зато становится все более актуальным разрабатывать непосредственно под себя программные продукты, на которые завязаны критические бизнес-процессы: ERP-системы, CRM-платформы, облачные решения.
Очевиден спрос и на индивидуальную разработку таких сервисов, где учитываются задачи каждого отдельного бизнеса. И мобильные приложения также будут входить в этот список. В таких вопросах рынок просто не сможет предоставить какие-либо аналоги, потому что у образовательной организации — одни потребности, а у швейной фабрики — другие. Можно предположить, что именно прикладное ПО для конкретных целей и узкоспециализированный софт будут особенно востребованы в ближайшее время, и именно их будут создавать сами или с помощью сторонних разработчиков.
Итак, приступим…
С какими же проблемами могут столкнуться компании, приступая к разработке собственного ПО?
Неправильное определение целей проекта
Сначала необходимо понять, что, как и зачем вы хотите создать, и лишь потом распределять ресурсы и двигаться по плану работ. Если цели проекта не заданы четко, это может привести к отсутствию ясных требований и, как следствие, к разочарованию вас как заказчика. В результате конечный продукт может быть просто неэффективным для бизнеса.
Для начала вам необходимо составить список требуемой функциональности, определить собственные требования к программному продукту. Если вы сами не являетесь ИТ-компанией, вам будет непросто составить некие алгоритмы. Сконцентрируйтесь на бытовом уровне. Лучше всего, если цели будут сформулированы не одним лицом (например, руководителем проекта), а командой из ваших сотрудников. Пропишите всё, чего вы ожидаете от ПО, пусть даже некие формулировки будут казаться вам тривиальными. Обсуждая их с разработчиками, вы скорректируете их под технический язык, пока же пишите так, как видите.
Недостаточная подготовка команды разработчиков
Определите, кому вы доверите выполнение задачи. Можете ли вы полагаться на свою команду, или стоит обратиться в ИТ-компанию. Ваш персонал может не иметь достаточного опыта или у вас могут отсутствовать узкопрофильные специалисты, такие как архитекторы или тестировщики. Это может привести к низкому качеству кода, неэффективным решениям и задержкам в разработке.
Изучите опыт других фирм: как они писали под себя ПО, обращались ли они за помощью к сторонним организациям? Что будет для вас дешевле: нанять своих специалистов или заказать работу на стороне? Весьма вероятно, это не единственный софт, в котором вы нуждаетесь, и вам требуется постоянная разработка новых продуктов. В таком случае — возникает вопрос к отделу по подбору персонала: от него будет зависеть, насколько профессиональную команду вы подберете для своих задач.
Проблемы с управлением проектом
Неправильное планирование или непредвиденные обстоятельства могут вызвать задержки в выполнении проекта. Составьте адекватное представление о сроках, определите детальный план вместе с разработчиками. Пропишите промежуточные цели для каждого из этапов. Обратите внимание на стандарты, по которым вы будете сверять ход работы. Производительность, функциональность итогового продукта должна достигаться уже на этапах его создания. Нередко разработчики могут самостоятельно сделать выбор в пользу самых свежих технологий, которые только-только появились, и продукт может попросту не прижиться. Вам важно проконтролировать эти критерии еще на этапе разработки, чтобы потом не столкнуться с неожиданными результатами.
Важный момент управления: правильное понимание бюджета. Если у вас нет достаточного финансирования для завершения проекта, то будет лучше и не начинать. Если вы задумали «отбить» вложения за счет дальнейшей продажи своего ПО, будьте готовы, что вам нужен грамотный маркетинговый план. Вы должны быть готовы к тому, что продажи пойдут не так, как вам хотелось бы.
На каждом этапе должна быть правильно организована коммуникация между всеми участниками процесса. Непонимание потребностей заказчика, невозможность уточнить какие-либо нюансы, могут привести к тому, что конечный продукт не будет соответствовать вашим ожиданиям.
Низкое качество готового продукта
Этот пункт напрямую вытекает из двух предыдущих. Низкое качество кода — а соответственно, вероятные ошибки и баги в программном обеспечении могут возникнуть из-за недостаточного опыта разработчиков или нехватки времени на написание и проверку. Это может привести к частым сбоям в работе системы и неудовлетворенности пользователей. Другая беда — несоответствие требованиям безопасности. Риски утечки данных и кибератак возрастают, если софт не соответствует современным стандартам безопасности. Правильные подходы к разработке программного кода обеспечат создание продукта, который не теряет данные, не имеет логических ошибок и утечек памяти.
Одна из причин низкого качества продукта на выходе — плохое тестирование. Недостаток времени или плохая подготовка тестировщиков могут стать причиной множества ошибок ПО. В таком случае ваши ожидания от программного обеспечения, связанные с улучшениями качества работы и оптимизацией процессов, просто останутся словами в вашем проекте. Поэтому крайне важно просчитать возможные риски, вероятность отката работы назад, разработать аварийную стратегию и так далее.
Качество продукта — это не только его проверка на этапе сдачи. Главная задача — ПО должно нормально функционировать! Для этого продумайте все документальные вопросы, зафиксируйте сроки, ответственности, гарантии. Отсутствие качественной документации может затруднить поддержку и модернизацию программного обеспечения в будущем.
В заключение отметим основные моменты: что важно помнить, если вы решились на создание своего ПО. Для успешного проекта рекомендуется:
— Четко определить цели и требования проекта.
— Обеспечить достаточную подготовку и квалификацию команды разработчиков.
— Провести тщательное планирование и обеспечить управление проектом.
— Стремиться к высокому качеству кода и соответствию требованиям безопасности.
— Провести всестороннее тестирование программного обеспечения.
— Оценивать и минимизировать возможные риски.
— Наладить качественную коммуникацию между заказчиком и исполнителем.
— Верно оформить документацию и позаботиться о поддержке системы после завершения проекта.
Следуя этим рекомендациям, можно значительно снизить вероятность возникновения проблем и обеспечить успешную реализацию проекта. И помните, что программное обеспечение — для вас, а не вы — для программного обеспечения. Важно, чтобы готовый софт помог решить вам насущные задачи, а не стал новой проблемой вашей компании.