Введение#
Разработка веб-проектов – сложный и многогранный процесс. Он может вызывать как небольшие затруднения, так и серьёзные проблемы, влияющие на качество и сроки выхода конечного продукта в релиз. Всё это в итоге сказывается на бизнесе и требует своевременного решения.
К проблемам могут приводить ошибки в планировании, недостаток компетенций в команде, неоптимальное распределение ресурсов, отсутствие чёткой системы управления проектами, отсутствие контроля рисков и ещё ряд причин, которые не всегда видны при беглом взгляде на ситуацию.
Если работы затягиваются, трудозатраты растут, сроки постоянно срываются, есть сложности с оценкой прогресса и всё это сопровождается постоянным возникновением ошибок, скорее всего, ситуация уже требует серьёзного вмешательства. И аудит процесса разработки проекта здесь может стать незаменимым инструментом.
В данной статье мы рассмотрим, как аудит помогает решить эти проблемы и сократить издержки бизнеса на реализацию веб-проекта.
Что представляет собой аудит процесса разработки?#
Аудит процесса разработки веб-проекта - это обстоятельное исследование текущего состояния проекта и процесса работы над ним с целью выявления проблемных моментов, определения причин возникновения проблем и предложения соответствующих рекомендаций для их решения. Аудит помогает обнаружить узкие места, неэффективные процессы, ошибки в планировании и управлении, а также проблемы в команде разработки.
Когда требуется аудит процесса разработки веб-проекта?#
Аудит процесса разработки веб-проекта может быть полезен в следующих ситуациях:
- Затягивание работ. Если проект сталкивается с постоянными задержками и проблемами в соблюдении сроков, аудит позволяет выявить причины таких задержек и предложить пути их решения.
- Рост трудозатрат. Аудит помогает идентифицировать факторы, которые приводят к росту трудозатрат, такие как неоптимальное распределение ресурсов, недостаточная организация команды или неоправданное увеличение объмов работ. Он предлагает рекомендации по оптимизации процессов и снижению трудозатрат.
- Срывы сроков. Если этапы проекта систематически не укладываются в оговоренные сроки, аудит помогает определить коренные причины задержек и разработать стратегию для их предотвращения.
- Сложности в оценке прогресса. Аудит помогает разработчикам и заказчикам иметь более ясное представление о текущем состоянии проекта, позволяет определить причины отставания и предлагает рекомендации по уточнению оценки.
- Ошибки в работе и нестабильность разрабатываемой системы. Аудит позволяет выявлять и анализировать проблемы, которые приводят к нестабильной работе системы и ошибкам, и предлагает рекомендации по их устранению.
- Трудности при внедрения нового функционала. Если интеграция нового функционала в веб-проект происходит с трудом, аудит позволяет определить причины сложностей и предложить рекомендации и решения для более эффективного внедрения.
- Нехватка компетенций в команде: Аудит помогает определить пробелы в знаниях, навыках и опыте членов команды разработки и предлагает рекомендации по их устранению через обучение или перераспределение ролей.
- Архитектура и качество кода. В случаях небольших команд и/или сложных проектов проектирование архитектуры и контроль качества кода порой становятся слабым местом, что может быть выявлено аудитом с предложением вариантов решения.
Рекомендации по диагностике проблем с помощью аудита процесса разработки#
1. Детальный анализ процесса разработки#
Аудит позволяет провести полный анализ каждого этапа разработки, оценить качество кода, проверить соблюдение сроков и бюджета, а также определить риски, которые могут привести к проблемам. Это помогает выявить узкие места и возможные проблемы заранее.
2. Планирование и контроль#
Аудит помогает выявить ошибки в планировании, такие как недостаточно четкие задачи, завышенные оценки или ошибочные приоритеты, наличие блокеров в критическом пути реализации проекта. Рекомендации по планированию и контролю процесса помогают избежать затягивания работ, оптимизировать распределение ресурсов и улучшить прозрачность проекта.
3. Оценка прогресса проекта#
Частая проблема веб-проектов заключается в сложности оценки прогресса работ. Аудит процесса разработки позволяет внедрить инструменты для оценки прогресса проекта. Это может быть использование Agile методологии разработки, внедрение систем учета рабочего времени или других инструментов, которые помогают наглядно отслеживать прогресс и принимать своевременные корректирующие меры.
4. Анализ рисков#
Аудит позволяет выявить потенциальные риски, связанные с разработкой веб-проекта, и предлагает рекомендации по управлению ими. Управление рисками позволяет предупредить возможные проблемы и минимизировать их влияние на проект. Среди анализируемых рисков могут быть такие как: сложность интеграции с внешними системами, недостаточность функционала используемых библиотек, низкая производительность элементов системы, риски потери данных, риски потери клиентов из-за проблем в системе и т.д.
На каком этапе веб-проекта нужен аудит?#
Как правило, заказчик, прибегая к аудиту процесса разработки проекта, делает это небезосновательно. И грамотно проведённый аудит позволяет выявить причины как острых, так и скрытых проблем. Например, к нам часто обращаются, когда с текущим подрядчиком отношения уже разорваны или находятся на грани или внутренняя команда разработки уже рассыпалась или сильно демотивирована и неэффективна.
Важно помнить, что смена команды или подрядчика - непростой и болезненный процесс, и в интересах заказчика и всего бизнеса - не доводить проект до этой ситуации.
Своевременно проведённый аудит позволяет взглянуть на проект глазами третьей стороны, находящейся за пределами проекта. Заказчик получает экспертный взгляд на текущую ситуацию, что помогает назвать вещи своими именами, проявить конкретные упущения и задать обоснованные вопросы ответственным . Это может быть больно, но необходимо, чтобы вернуть разработку на рельсы, ведущие проект к успеху.
Перефразируя поговорку “лучше день потерять, потом за 5 минут долететь”, можно сказать “лучше взять неделю на аудит, чем месяцами расходовать бюджет на неэффективно поставленный процесс разработки проекта”.
Кстати, есть десятки примеров, когда неэффективно идущие веб-проекты просто умирают по причине того, что бюджет заканчивается или разрабатываемая система не удовлетворяет исходным требованиям, а её переделка становится настолько дорогой, что теряет смысл для бизнеса.
И если совсем кратко, то веб-проекту нужен аудит сразу, как только начинает казаться, что что-то идёт не так.
Примеры аудита#
Приведём 2 примера из нашей реальной практики. По понятным причинам без указания названий клиентов и проектов.
Пример 1#
В первом случае к нам обратилась крупная компания, которая разрабатывала новую версию своей бизнес-образущей веб-платформы, уже второй раз анонсировала релиз своим партнёрам и второй раз не могла его осуществить по причине срыва сроков подрядчиками. Мы заглянули внутрь процесса разработки: погрузились в исходный код, сравнили новую версию платформы с предыдущей в части кодовой базы, проанализировали принципы работы команды с репозиторием, ветками, merge-реквестами, нейминг, размер команды, вклад участников и частоту коммитов. После этого мы поучаствовали в дейли-митингах, понаблюдали за тем, как идёт управление проектом, оценка сроков, попадание в сроки по задачам, как делается оценка оставшихся сроков проекта.
В ходе анализа выяснилось, что по ряду задач нет оценок, нет уверенности, что весь скоуп проекта покрыт задачами и не всплывёт что-то новое, что может увеличить общую оценку. Фактические трудозатраты заметно превосходили оценочные, что увеличивало риск не уложиться в сроки. Дейли-митинги команды проходили качественно, но показывали сложность проекта и отдельные проблемные места, которые могли потребовать больше времени на решение, чем ожидалось.
Наша итоговая оценка ситуации показала, что проект реализуется достаточно качественно, код стал заметно лучше по сравнению с предыдущей версией системы, подрядчик ведёт себя достойно, но в запланированную дату проект сдан не будет и потребует ещё как минимум пары месяцев к заявленному сроку.
На практике так и получилось.
Пример 2#
Второй пример - об аудите, который мы делали уже по факту начала работы над проектом, с которым крупный заказчик пришёл к нам от предыдущего подрядчика. Причиной стала невозможность дальнейшего продвижения проекта – срыв сроков, возникновение ранее устранённых проблем, слабая предсказуемость процесса разработки и плохая коммуникация.
В исходном коде проекта мы столкнулись с крайне нетипичной и потенциально опасной для проекта реализацией, когда разработка шла в обход архитектуры проекта путём добавления “сбоку” точечных пристроек, решающих отдельные задачи, которые требовались заказчику. Такая практика в долгосрочной перспективе приводит к проекты к невозможности развития, потому что противоречит ряду принципов разработки и как следствие, вызывает ошибки, увеличивает сроки и удорожает процесс.
Также мы часто сталкиваемся с проблемами деплоя, когда на серверах заказчика всё находится в условном “порядке”, логика которого понятна, как правило, лишь одному человеку, который делает релизы, а сами релизы при этом превращаются в ручное копирование и распаковку файлов, сохранение бэкапов, создание папок и файлов с хаотичными названиями и содержимым, нужность и актуальность которых понять не представляется возможным.
Или нередки ситуации, когда под сервис, не несущий никакой реальной нагрузки выделяется мощный сервер, который 99,9% времен простаивает, но за использование которого заказчик ежемесячно оплачивает круглую сумму. Чаще всего в таких случаях расходы бизнеса на хостинг можно сократить в разы.
Подобные примеры можно приводить долго. Но лучше просто обратитесь к нам за аудитом.
Резюме#
Аудит процесса разработки веб-проекта является важным шагом к оптимизации работы надо проектом и достижению эффективности. Он помогает выявить проблемы в процессе разработки, предпринять необходимые меры для их решения и повысить эффективность работы команды.
Наша компания специализируется на проведении аудита процесса разработки веб-проектов и может предложить свои услуги для заказчиков, столкнувшихся с проблемами. Обратившись к нам, вы получите детальный анализ вашего проекта, рекомендации по оптимизации процессов и инструментов, а также сможете продолжить сотрудничество в формате аутсорса необходимых вашему проекту задач или компетенций.
Подробнее об аутсорсе и других форматах работы - в нашем большом обзоре “Аутсорс, фриланс или инхаус? - Большое сравнение форматов работы над IT-проектом”
Не откладывайте решение проблем. Напишите нам прямо сейчас.
Авторы
Юрий Абдуллин @yury_eaCCO/CTO, IT-предприниматель, ментор IT-стартапов.
25 лет в разработке информационных систем (обо мне)
Открыты к новым проектам
Выполняем профессиональную разработку информационных систем, сервисов и платформ:
- дорабатываем MVP до полноценных систем
- проектириуем и внедряем ИИ-агентов
- проводим аудит кода и процессов
- обеспечиваем качественный QA и DevOps
