Рынок российской разработки стремительно растет после ухода с рынка западных вендоров. Бизнес занимается разработкой собственных решений или дополнительных модулей на замену зарубежным продуктам. Участники организованной CNews Conferences онлайн-конференции «Заказная разработка ПО 2023» обсудили, как сократить стоимость разработки ПО, собрать эффективную команду и учесть риски.
Тренды рынка разработки 2023
Директор проекта Market.CNews Юрий Хомутский рассказал о том, что интересного происходит на рынке заказной разработки ПО сегодня. Объем рынка растет. Доля зарубежных заказчиков планомерно снижается, но пока остается существенной.
Сегодня у бизнеса подорвано доверие к SaaS, особенно к зарубежному. Популярна разработка on-premise решений, а также заказная разработка ПО. Перед вендорами стоит задача разработки российских аналогов западного ПО и создания дополнительных модулей к уже готовым решениям.
Объем рынка разработки ПО
Наиболее востребованными являются корпоративные мессенджеры и порталы, модули для российских CRM, ERP и СЭД, а также решения по роботизации и софт для трекинга задач и управления проектами. Среди тенденций и проблем рынка разработки Юрий Хомутский выделил диверсификацию подряда, кадровый голод, адаптацию по новые российские ОС, серверы и платформы виртуализации, а также разрыв международных связей.
Как сократить стоимость разработки
О том, как сокращать стоимость производства программных продуктов рассказала директор центра управления производственными командами «Диасофт» Наталия Оржевская. По ее словам, управляемое сокращение стоимости производства в компании базируется на нормировании задач, непрерывном создании ценностей (новый программный код) и автоматизации типовой работы.
Придерживаясь архитектурных принципов при разработке программных продуктов, любую бизнес-задачу можно разбить на одинаковые архитектуры и элементы. Затем определить для каждого элемента количество времени, которое будет затрачено на его создание. Для его расчета «Диасофт» опирался на опыт ведущих разработчиков.
Для сокращения стоимости производства необходимо определить нормативы, просить команды разбивать задачи на этапы до реализации и указывать потраченное на них время после реализации, а также постоянно анализировать работу команды (подтягивать медленных сотрудников). И уже через 4-6 спринтов трудозатраты на разработку решений сокращаются. Например, «Диасофт», применяя этот подход, сократил затраты на разработку в два раза.
Следующая задача состоит в том, чтобы научить команды каждые две недели выдавать определенный объем кода. Для этого потребуются небольшие команды (до девяти человек) с распределенными ролями. Они должны работать по осознанному Scrum, т.е. в планирование и реализацию результата должны поверить заказчики.
Наталия Оржевская подвела итог своего выступления, назвав три шага к ускорению производства: нормирование задач, измерение объема нового кода и автоматизация выпуска.
Как создать эффективную команду разработки
В мероприятии CNews принял участие еще один представитель команды «Диасофт» — Денис Тимощук, руководитель направления «Эффективные команды». Он рассказал о системном управлении командами разработки.
Цифровая трансформация в условиях импортозамещения требует системного управления производством. Под системным управлением понимается измерение процесса производства, сбор и анализ данных, а также производственный дашборд и рейтинг.
Производственный дашборд
Измерение производства — это командные и ролевые практики и их свойства. На производственном дашборде отображаются основные показатели производства для того, чтобы оценивать эффективность работы в целом (общее время на решение задач и время, затраченное одной командой, объем нового кода, количество открытых задач и т.д.). К дашбордам зачастую обращается топ-менеджмент, руководители команд и др.
Системный подход позволяет анализировать работу команд в динамике. Благодаря ему команды могут отследить свои ошибки и понять, что изменить в следующем спринте. Этот метод дает возможность устранять узкие места в производстве. Уже через 1-2 недели показатели команд приходят в норму. В конечном счете, это влияет на показатель эффективности, скорость и стоимость разработки.
Ольга Сгибнева, директор по инновациям СДЭК, рассказала о том, как включать команды в бизнес-задачи. Спикер отметила необходимость участия в проекте по разработке бизнес-аналитика. Но только если речь идет о принципиально новом продукте.
Для вовлечения сотрудников в бизнес важно, чтобы они работали «в полях» — выезжали на встречи с заказчиками, менеджерами и пр. Разработчики же должны находить варианты дорабатывать код, а не продолжать писать «неправильный» за своим предшественником. Персонал также должен понимать бизнес в целом и свои задачи, а также предлагать бизнес-задачи.
Эксперт посоветовала решать проблему невключенности каждого отдельного сотрудника, обучать персонал основам бизнеса, выстраивать мотивацию (материальную и нематериальную) и продвигать экспертизу сотрудников внутри и вне компании (публикации, выступления на конференциях).
Сегодня для повышения эффективности работы активно применяется Agile-подход, рассказал коммерческий директор Notamedia Алексей Власов.
Практика Agile состоит в том, чтобы сделать заказчика главным членом команды. Обязательными условиями такого подхода выступают готовность клиента тратить время на участие в процессе создания ПО, его доработке в ходе долгосрочного проекта, а также наличие видения конечного результата.
Эксперт привел в пример разработку цифровой платформы МСП.РФ (федеральная госплатформа поддержки предпринимателей). Цель проекта состояла в том, чтобы улучшить и упростить жизнь каждого предпринимателя в любой точке страны для развития и акселерации бизнеса в России.
При Agile-подходе необходимо определить ожидание пользователей от продукта (кто будет использовать и какую функциональность ожидают). Эксперт отметил необходимость контроля рисков и непрерывной работы с ожиданиями клиентов и заказчиков.
Как эффективно реализовать проект по разработке ПО
Марина Черномазова, руководитель отдела по работе с ключевыми клиентами, и Николай Дегтярев, технический директор компании «Бизнес-Азимут», рассказали о том, как эффективно реализовать проект по разработке ПО.
По словам Марины Черномазовой, существуют три варианта разработки ПО: коробочное решение, аутсорсинг и аутстаффинг.
Аутстаффинг дает возможность запустить технологически сложный проект, когда в штате нет специалистов с необходимой квалификацией. С его помощью можно сократить сроки реализации проекта путем усиления команды сторонними специалистами. Еще одним плюсом этого подхода является оперативная замена сотрудника заказчика экспертом с необходимыми компетенциями.
Преимущество аутсорсинга состоит в том, что он учитывает специфику бизнеса и конкретные задачи, которые необходимо решить. Он также помогает оптимизировать затраты на наем и содержание команды разработки. Еще одним плюсом является доступ к лучшим специалистам и отраслевой экспертизе, что позволяет предложить оптимальное решение.
Успех проекта базируется на качественно составленном техническом задании, наличии опытной команды и хорошо выстроенных процессов, отметила Марина Черномазова.
Этапы разработки ПО
Николай Дегтярев рассказал о том, как успешно реализовать проект. Необходимо определить цели, составить бизнес-план и техническое задание, а также проанализировать требования к системе. По его словам, на бюджет проекта влияют сроки реализации, количество и уровень специалистов, а также допрасходы.
Организация процесса разработки состоит в онбординге команды и определении правил работы, в контроле промежуточных результатов, а также получении обратной связи от заказчика и пользователей. В состав проектной команды надо включить тимлида, архитекторов, разработчиков, тестировщиков и техподдержки. Стоимость специалистов же зависит от их опыта (Junior, Middle и Senior).
Дмитрий Болотюк, директор по ИТ компании «ЛогЛаб», рассказал о применении микросервисной архитектуры во внутренних проектах. По его словам, «ЛогЛаб» начала цифровую трансформацию с построения ИТ-архитектуры. Изначально в компании была единая монолитная система. Она сильно тормозила внутреннюю разработку, из-за чего было принято решение пересмотреть ее архитектуру. Для этого компания определила список микросервисов, которые необходимо было дописать, и решила, как обеспечить отказоустойчивость такого продукта.
Проект получил название MYLOGCLAB (система управления заказами). Его цель — обеспечение клиентов и сотрудников компании возможностью подавать онлайн-заявки, обрабатывать, отслеживать их, а также составлять отчеты.
Главной проблемой компаний Дмитрий Болотюк назвал наем и удержание кадров в условиях конкуренции с крупными ИТ-компаниями.
Как обезопасить себя от рисков
Владислав Елтовский, глава практики цифрового права SEAMLESS Legal, выступил с темой «Разработка ПО: что учесть в договоре разработчиком». Эксперт рассказал о том, на что обратить внимание при заключении сделки.
В первую очередь – это предмет договора (в этом помогают технические задания). Следующим важным аспектом является факт приемки товара и каким способом заказчику будут передаваться права на созданный продукт (отчуждение прав, лицензия или смешанные условия).
В рамках договора необходимо предоставить гарантии права на софт и отсутствие обременений, закрыть все отношения с разработчиками (выплаты, патенты). Нужно также минимизировать риски, связанные с личными неимущественными правами (возможность обнародования, анонимное использование, переработка и модификация). При составлении договора необходимо обратить внимание на отсутствие нарушений, а также совместимость и иные заверения (персональные данные, контроль контента и иное). Стоит заранее договориться и о возмещениях потерь (требования третьих лиц, административные штрафы и проч.).
Помимо этого, в правовом смысле необходимо задуматься об использовании Open Source и об условиях конфиденциальности (могут ли обнародовать опыт участия в данном проекте сотрудники в портфолио).
О том, как защититься от уголовных рисков заказной разработки рассказал Алексей Сердюк, адвокат, руководитель практики уголовно-правовой защиты бизнеса «Князев и партнеры». Уголовные риски влияют не только на бизнес, но и на его владельцев (здоровье, репутация, финансы). Для бизнеса наиболее травмирующими являются изъятие документов, контакты правоохранительных органов с контрагентами, давление на сотрудников, арест банковских счетов и заключение под стражу.
Эксперт рассказал об инструментах, которые влияют на уровень защищенности при столкновении с уголовными рисками. В первую очередь это удаленное хранение информации. Например, хранение документов (контрактов, договоров и пр.) в электронном виде позволяет вести удаленный архив и своевременно утилизировать электронные копии документов при истечении срока их хранения. Использование электронных носителей позволяет избежать физического присутствия электронной информации в офисе. Как и использование удаленных серверов для хранения данных.
Адвокат отметил, что документы и электронная информация – это ключевые источники, на основании которых принимается решение о возбуждении уголовного дела. Помогают компании и защищенная почта, мессенджер и тонкий клиент. Потому что защита информации от несанкционированного изъятия – залог стабильного функционирования бизнеса.
Необходимость защиты от рисков
Еще одним полезным инструментом Алексей Сердюк назвал внедрение режима «коммерческой тайны» в компании. Он не только защищает от действий недобросовестных сотрудников и конкурентов, но и от неправомерного изъятия силовиками. Помимо этого, стоит уделять внимание и юридическому просвещению сотрудников. Они должны знать свои права и полномочия правоохранителей, а также иметь четкий алгоритм действий при контакте с ними.
Разработка ПО и интернационализация средств интернет-адресации
Главный технический специалист Координационного центра доменов .RU/РФ Вадим Михайлов посвятил свой доклад интернационализации средств интернет-адресации. При разработке ПО стоит учитывать, что в алгоритм Punycode можно преобразовывать доменную, а не локальную часть почтового адреса. Punycode — это способ приведения интернационализированных доменных имен, содержащих в себе юникод-символы, к виду, содержащему только символы ASCII как того требует система DNS.
Разработка стандартов и поддержка мировых экспертов привела к существенному росту числа доменов верхнего уровня на национальных языках. В частности, в мире делегировано 152 IDN (Internationalized Domain Names, интернационализованные доменные имена) доменов верхнего уровня. Для успешного внедрения в ПО поддержки таких средств интернет-адресации, как IDN, на данный момент есть все необходимое: интерес пользователей, государства, необходимые стандарты, документация, ПО на открытом коде и проприетарные решения и сервисы.
Распространение IDN сопряжено с рядом сложностей. И для борьбы с ними родилась концепция «универсального принятия». Это состояние, когда интернет-ориентированные приложения, устройства и системы правильно и единообразно принимают, проверяют, хранят, обрабатывают и отображают все корректные доменные имена и адреса электронной почты.
Спикер в этой связи упомянул проект «Поддерживаю.рф». Он создан для развития экосистемы поддержки доменных имен и почтовых адресов на национальных языках. Его цель состоит в том, чтобы улучшить поддержку кириллических доменов и почтовых адресов в ПО. На портале можно обнаружить тематическую документацию, каталог софта со статусом поддержки и интерактивный обучающий курс. В результате деятельности подобных проектов появилось множество инструментов для разработки ПО: программные библиотеки, отдельные программные продукты и т.д.