Многим, наверное, в какой-то мере близка тема разработки сайтов. Какая-то часть хабраюзеров именно этим и занимается. Вам наверняка известны этапы разработки сайтов, но давайте сравним, как это выглядит в идеале, и как в жизни.
Многие веб-студии на своих сайтах рассказывают, как много уделяют внимания своим клиентам, как поэтапно разрабатывают проект, сколько специалистов трудиться над проектом одновременно. Этим они не в последнюю очередь мотивируют различие в цене между студиями и фрилансерами. Но давайте сравним на сколько отличается то, что рассказывают заказчику(и за что он, собственно, платит деньги), и то, что действительно происходит в период разработки.
Хочу сразу уточнить, что описывается ситуация, которая в большей мере касается небольших студий, которые имеют определенный пакет заказов и какое-никакое имя на рынке.
И так, то, что рассказывают клиенту:
Этапы разработки сайта:
- Узнаем всю информацию у заказчика, выделяем конкретные преимущества перед конкурентами, продумываем логику будущего сайта вместе с заказчиком
- Разрабатываем техническое задание, прототип сайта. Продумываем будущий функционал
- После утверждения ТЗ и прототипа отдаем в разработку дизайн. Все страницы для отрисовки известны, функционал четко описан в ТЗ.
- После утверждения дизайна верстаем и отдаем на программирование. Верстка идентична макету, это само собой разумеется
- Программисты строго следуют техническому заданию, это не сложно, ведь дизайн отражает весь функционал
- Запускаем сайт на тестовом сервере. Тестируем на соответствие ТЗ и наличие багов
- Полностью функционирующий сайт заливаем на сервер заказчика. Сайт готов
Все прекрасно, над сайтом работает минимум 5-6 человек. Заказчик понимает, что не зря платит большие деньги, все должно получиться хорошо.
Что происходит в жизни:
- Заказчик приходит в веб-студию, чтобы заказать сайт. Менеджер почти сразу заинтересован только в подписании договора, но никак не в удачной сдаче проекта
- Кое-как составляется техническое задание, причем в минимальном виде, необходимом для подписания договора. Все описание функционала сводится к стандартным модулям
- Проект отдается дизайнеру с минимальным техническим заданием. На все вопросы дизайнера отправляют к заказчику. Заказчик не понимает, что от него хотят, он ведь подписал техническое задание, там вроде как весь функционал описан. Дизайн кое-как утверждают с огромным количеством правок
- После верстки дизайн «немного» отличается от утвержденного. Верстальщик решил немного увеличить шрифт, т.к. «слишком мелко»
- Программисты делают свою работу строго по дизайну, т.к. в ТЗ толком нету никакой информации.
- Все заливается на тестовый сервер, программист говорит, что все готово, хотя очевидны косяки в работе. Программист отказывается тестировать, т.к. он «не тестировщик». Менеджер вспоминает, что заказчик хотел дополнительный функционал, который забыли уточнить в ТЗ. Программист требует, чтобы это было отражено на дизайне. Проект возвращается к дизайнеру (данный пункт может повторяться некоторое количество раз)
- С некоторой задержкой или без оной проект сдается. Разработчики ненавидят друг друга, плюются на менеджеров, менеджеры получили свой профит, и приступают к следующему проекту...
Знакомая ситуация, не правда ли? Если нет, то за вас можно только порадоваться.
Но вот вопрос хабрасообществу:
Как решать эту проблему?
Когда менеджерам плевать на проект, а команда хочет побыстрее сдать его и забыть, как страшный сон. Как мотивировать менеджеров и команду, чтобы проекты разрабатывались качественно?