Создание ИТ-проекта — длительный процесс, который требует грамотного распределения ресурсов. Часто при неправильном планировании можно столкнуться с проблемами качества, стоимости и надёжности продукта. Как спланировать этапы работы над проектом? И сможет ли с этой задачей справиться искусственный интеллект (ИИ) лучше, чем человек?
Как сейчас планируют временные затраты в ИТ-сфере
Разработать программное решение — процесс, сравнимый по сложности с созданием и сборкой самолёта. Для успешного выполнения таких проектов важно не только понимать, какие задачи предстоит выполнить для получения готового продукта или MVP, но также рассчитывать сроки реализации задач. Планирование помогает систематизировать процесс, наладить коммуникацию между отделами разработки, а главное — структурированный план может быть гибким, и в процессе работы над проектом может меняться.
Работать над ИТ-проектами сложно, но разработку можно разделить на мелкие шаги. При выполнении каждой подзадачи оценивают качество работы и потраченное время. Один из методов управления проектами — технология SCRUM, когда при планировании проекта большие задачи разбивают на короткие спринты.
Про SCRUM слышали практически все — программисты, project-менеджеры и управленцы давно взяли на вооружение несложную методику. В технологии SCRUM у команды есть понимание своих возможностей и примерных временных затрат на различные задачи. Когда появляется новый проект, участники разбивают его на задачи, оценивают временные затраты на каждую часть и формируют спринты для выполнения этапов работы. В зависимости от продукта команда может закончить спринт раньше или позже. При выполнении одного из спринтов участники оценивают и обсуждают результаты и обновляют цели на следующий спринт. Так, в результате двухнедельных в среднем спринтов проект проходит путь от идеи к реализации. Есть и другие популярные подходы к разработке ПО, такие как Agile и Kanban.
Другой способ планирования длительности проекта менее популярен. Так называемый метод Брукса появился после издания книги «Мифический человеко-месяц», в которой автор вывел чёткие коэффициенты для расчёта сроков: если пользователем выступает сам программист, то считаем срок реализации программы «в лоб». Если необходимо разработать программный продукт или набор микросервисов, то умножаем на 3, а если системный программный продукт — на 9. Метод появился в конце 60-х годов, но иногда его применяют и сегодня.
Можно смотреть на оценку длительности работы с точки зрения создания функциональных элементов. При использовании этого метода сначала оценивается трудоёмкость работы над каждой частью в условных единицах: n единиц — на разработку интерфейса, m — на создание базы данных. После этого необходимо оценить переводной коэффициент из единиц во время, используя опыт работы команды и её эффективность. Опытные команды используют разные коэффициенты для различных видов работы: аналитики, написания кода, тестирования. В результате получается точная оценка сроков выполнения проекта при выполнении каждой существующей задачи.
«Как сейчас в компаниях решается задача декомпозиции разработки программного продукта? Ответ может быть банальный — руками. В каждом проекте у нас есть специальные сессии планирования. На них мы перекладываем бизнес-цели на язык задач. В качестве оценок мы используем story points. В зависимости от того, насколько крупный проект, сессия планирования может занимать несколько часов. Планирование мы производим на спринт вперед», — рассказывает Роман Панарин, инженер машинного обучения в Thrive Technologies LLC.
Но сегодня появляются новые методы, в которых мы можем полагаться не только на собственный расчёт, но и на технологии. Совсем скоро количество времени, которое требуется на выполнение конкретной задачи, сможет прогнозировать искусственный интеллект. Разработать алгоритм прогнозирования времени, которое нужно для выполнения задачи, предложили участникам всероссийского чемпионата по искусственному интеллекту. Чемпионат проходит в рамках конкурса «Цифровой прорыв. Сезон: искусственный интеллект», проекта АНО «Россия — страна возможностей».
Как ИИ может помочь прогнозировать временные затраты
Постановщики задачи — Алтайский государственный университет и Thrive Technologies LLС. Внутри компании уже разрабатывают софт, который помогает эффективно управлять проектами и сотрудниками, работающими вне офиса. У этого ПО сложная система мониторинга, которая собирает различные метрики из системы управления задачами, а также систем контроля версий кода. Когда команда собрала огромный массив исторических данных, у них возникла смелая и абсурдная идея: построить модель, которая сможет прогнозировать время выполнения задачи. Участникам в рамках чемпионата предоставили исторические данные логов работы над несколькими проектами.
«На фоне высокой конкуренции на рынках залог успеха это не только качественный продукт с точки зрения разработки, но и вовремя выпущенный продукт. Наши бизнес-заказчики выдвигают требования к правильному планированию и управлению ресурсами. Поэтому возникает производственная необходимость в наличии модуля, который мог бы производить оценку скорости выполнения задачи. Пользоваться продуктом будем мы внутри компании, а также наши заказчики, которые хотят внедрить к себе наши технологии управления распределёнными командами», — отмечает Роман Панарин.
При создании моделей конкурсантам советуют обратить внимание на правдоподобность алгоритма задачи.
«Наблюдая за участниками чемпионата, я понял, что многие мои коллеги пытались построить одну сложную модель, которая будет предсказывать оценки на все задачи, хотя, как показывает практика, лучшими становятся модели, которые работают в рамках одного проекта, или даже адаптивные на уровне специалиста», — подчёркивает Роман Панарин.
Чемпионат — тоже спринт
Ограниченные по времени чемпионаты «Цифрового прорыва» тоже напоминают спринты: как для команды конкурса, так и для участников.
«”Цифровой прорыв” — это своего рода фабрика ИТ-продуктов, которые создаются в процессе организации каждого следующего друг за другом чемпионата — порой с шагом в одну неделю или несколько дней. Это наш внутренний спринт, где от слаженной команды, правильного делегирования задач и соответствия плотному таймингу зависит успех всего проекта: своевременное выведение из дева в прод форм для регистрации и описания задачи, получения и обработки артефактов от участников и выставления оценок. 25 региональных и 3 Всероссийских чемпионата запускаются друг за другом, поэтому мы движемся держа в параллели все мероприятия на разной стадии, и здесь крайне важно грамотно распределять и временные, и человеческие ресурсы. Решение задач чемпионата это не только шанс повысить свои компетенции, но и использовать в дальнейшем разработанный алгоритм как прототип решения, актуального для практикующих специалистов. Каждый участник может на примере чемпионата научиться планировать своё время — от распаковки датасета до отправки скринкаста, презентации и ссылок на репозиторий в специально отведённое на это время. Таким образом, длительное соревнования, а чемпионат длится в среднем один месяц, можно разделить на короткие спринты, оптимизировать подход к решению задач и отточить навык работы над большим проектом в рамках собственных дедлайнов спринта», — рассказывает Татьяна Голубовская, руководитель всероссийских и региональных чемпионатов проекта «Цифровой Прорыв. Сезон: искусственный интеллект».
- Цены на новый iPhone 16 могут достигнуть рекордных 400 тысяч рублей - 07/09/2024 17:15
- Российская вакцина против рака успешно прошла доклинические испытания - 07/09/2024 11:30
- Голосовые роботы и чат боты в бизнесе - 05/09/2024 20:02