Привет друзья. Сегодня хочу поговорить на очень интересную тему, и сам себе задать риторические вопросы. А именно, порой случается так, что над проектом работают действительно талантливые и профессиональные специалисты. Тратят на создание программного приложения много сил и времени. А в результате получается не пойми что.
Предположим, что есть заказчик, отличный специалист в своем бизнесе. И вот решил он создать некое WEB приложение, которое должно помочь ему заполучить больше клиентов и, естественно, удержать их. И есть некая IT компания, которая уже много лет на рынке, у которой приличный штат разноплановых специалистов, и которая предлагает отличные условия и по цене и по качеству. Сразу хочу сказать, что подобные истории, которые я сейчас описываю, случаются сплошь и рядом, и ни на кого конкретно я не указываю. Просто берем сферического коня в вакууме.
Итак, заказчик и компания заключили договор на создание WEB приложения. При общении бизнес аналитика с заказчиком был сформирован достаточно большой пакет документации, который впоследствии был переработан в подробное техническое задание (далее ТЗ). По этому ТЗ были рассчитаны эстимейты и дедлайны для каждого этапа работы.
Согласно договоренностей компания берет на себя полный процесс создания приложения, начиная от дизайна и заканчивая поддержкой продакшн серверов. И вот работа закипела. Дизайнеры, согласно выдвинутому ТЗ создали отличнейший макет, который реально впечатлил заказчика. Дизайн действительно очень приятный и интересный. Заказчик просто счастлив. Дизайнеры же уверены, что это их лучшая работа в портфолио. Макеты дизайна утверждены и они улетают разработчикам на ознакомление и разработку.
Под проект собирается команда профессиональных специалистов и они начинают обсуждать архитектуру. Мозговой штурм не проходит зря и архитектор создает очень гибкую и масштабируемую архитектуру. Система хранения данных спроектирована гениально, очень просто, но в тоже время очень гибко. Все друг друга поздравляют и гордятся проделанной работой.
Разработчики начинают писать код, согласно бизнес модели и разработанной архитектуре. Создается очень чистый и красивый код. Поддерживать его в последствии сможет кто угодно. Все покрыто тестами, все работает, как положено. Разработчики реально молодцы, и вложили в проект всю свою душу и мастерство.
Все эстимейты и дедлайны соблюдены. Проект идет, как по маслу. И вот тестировщики начинают свою работу. Отличные QA специалисты проходятся по проекту вдоль и поперек, находя все косяки и узкие места. И проект доводится в итоге до идеала. Все флоу полностью рабочее, все формы завалидированы, каждая ошибка имеет свое исключение. Проект выглядит один в один, как в дизайне.
Заказчик очень доволен, все сделали именно так, как он и хотел. Дизайнеры очень гордятся своим дизайном проекта. Разработчики гордятся тем, что код просто идеален. Тестировщики счастливы, что все протестировано и работает без замечаний.
И вот приходит момент для финального аккорда. Деплоиться первый релиз на продакшн, запускается рекламная компания. И на сайте появляются первые пользователи. Заказчик, в предвкушении первых клиентов, уже потирает руки. И тут происходит то, чего вообще никто не ожидал.
Некоторые пользователи начинают «тупить» и делать все не так, как задумано во флоу. Некоторые, спустя минуту покидают проект. А кто-то начинает усиленно писать в поддержку, чтобы помогли разобраться с проектом, что к чему. Бывает, что присылают и негативные комментарии о самом проекте и тех, кто его разработал.
И после такого запуска заказчик впадает в ступор, разработчики находятся в недоумении. Как вообще такое возможно. Ведь сам проект был задуман профессионалом в своем виде бизнеса. Дизайн нарисован профессионалами своего дела и понравился и заказчику и команде. Код написали отличные специалисты с огромным опытом. Все складывалось просто отлично. Так почему же в финале проект с треском провалился? Что теперь с этим делать? И какие из всего этого можно сделать выводы?
Лично мое мнение, что на каком-то этапе разработки проекта был упущен из внимания тот момент, что проект все таки делается для конечного пользователя, которого никто и не спрашивал, как ему будет удобно, какой дизайн для него более приятный и что именно из функционала ему нужно. Что на каком-то этапе проекта он примелькался, и не было свежего критического взгляда со стороны. И то что субъективно понравилось заказчику и команде, вообще не зашло конечному пользователю.
И итоге получается очень поразительная ситуация, что команда высококвалифицированных профессионалов создала нежизнеспособное приложение.
А вы как считаете, как же нужно было правильно все строить, чтобы не получить в итоге нечто, никому не нужное? Свои предложения пишите в комментариях.
Предположим, что есть заказчик, отличный специалист в своем бизнесе. И вот решил он создать некое WEB приложение, которое должно помочь ему заполучить больше клиентов и, естественно, удержать их. И есть некая IT компания, которая уже много лет на рынке, у которой приличный штат разноплановых специалистов, и которая предлагает отличные условия и по цене и по качеству. Сразу хочу сказать, что подобные истории, которые я сейчас описываю, случаются сплошь и рядом, и ни на кого конкретно я не указываю. Просто берем сферического коня в вакууме.
Итак, заказчик и компания заключили договор на создание WEB приложения. При общении бизнес аналитика с заказчиком был сформирован достаточно большой пакет документации, который впоследствии был переработан в подробное техническое задание (далее ТЗ). По этому ТЗ были рассчитаны эстимейты и дедлайны для каждого этапа работы.
Согласно договоренностей компания берет на себя полный процесс создания приложения, начиная от дизайна и заканчивая поддержкой продакшн серверов. И вот работа закипела. Дизайнеры, согласно выдвинутому ТЗ создали отличнейший макет, который реально впечатлил заказчика. Дизайн действительно очень приятный и интересный. Заказчик просто счастлив. Дизайнеры же уверены, что это их лучшая работа в портфолио. Макеты дизайна утверждены и они улетают разработчикам на ознакомление и разработку.
Под проект собирается команда профессиональных специалистов и они начинают обсуждать архитектуру. Мозговой штурм не проходит зря и архитектор создает очень гибкую и масштабируемую архитектуру. Система хранения данных спроектирована гениально, очень просто, но в тоже время очень гибко. Все друг друга поздравляют и гордятся проделанной работой.
Разработчики начинают писать код, согласно бизнес модели и разработанной архитектуре. Создается очень чистый и красивый код. Поддерживать его в последствии сможет кто угодно. Все покрыто тестами, все работает, как положено. Разработчики реально молодцы, и вложили в проект всю свою душу и мастерство.
Все эстимейты и дедлайны соблюдены. Проект идет, как по маслу. И вот тестировщики начинают свою работу. Отличные QA специалисты проходятся по проекту вдоль и поперек, находя все косяки и узкие места. И проект доводится в итоге до идеала. Все флоу полностью рабочее, все формы завалидированы, каждая ошибка имеет свое исключение. Проект выглядит один в один, как в дизайне.
Заказчик очень доволен, все сделали именно так, как он и хотел. Дизайнеры очень гордятся своим дизайном проекта. Разработчики гордятся тем, что код просто идеален. Тестировщики счастливы, что все протестировано и работает без замечаний.
И вот приходит момент для финального аккорда. Деплоиться первый релиз на продакшн, запускается рекламная компания. И на сайте появляются первые пользователи. Заказчик, в предвкушении первых клиентов, уже потирает руки. И тут происходит то, чего вообще никто не ожидал.
Некоторые пользователи начинают «тупить» и делать все не так, как задумано во флоу. Некоторые, спустя минуту покидают проект. А кто-то начинает усиленно писать в поддержку, чтобы помогли разобраться с проектом, что к чему. Бывает, что присылают и негативные комментарии о самом проекте и тех, кто его разработал.
И после такого запуска заказчик впадает в ступор, разработчики находятся в недоумении. Как вообще такое возможно. Ведь сам проект был задуман профессионалом в своем виде бизнеса. Дизайн нарисован профессионалами своего дела и понравился и заказчику и команде. Код написали отличные специалисты с огромным опытом. Все складывалось просто отлично. Так почему же в финале проект с треском провалился? Что теперь с этим делать? И какие из всего этого можно сделать выводы?
Лично мое мнение, что на каком-то этапе разработки проекта был упущен из внимания тот момент, что проект все таки делается для конечного пользователя, которого никто и не спрашивал, как ему будет удобно, какой дизайн для него более приятный и что именно из функционала ему нужно. Что на каком-то этапе проекта он примелькался, и не было свежего критического взгляда со стороны. И то что субъективно понравилось заказчику и команде, вообще не зашло конечному пользователю.
И итоге получается очень поразительная ситуация, что команда высококвалифицированных профессионалов создала нежизнеспособное приложение.
А вы как считаете, как же нужно было правильно все строить, чтобы не получить в итоге нечто, никому не нужное? Свои предложения пишите в комментариях.