Личный опыт Sasha Rempel
478

Проектируй это: как сэкономить до 40% бюджета на разработке

В закладки

В течение рабочего года мне приходится общаться, без преувеличения, с сотнями заказчиков. 200–250 заявок на разработку различных продуктов и решений мы ежегодно оцениваем с точки зрения необходимых для этого ресурсов, сроков и бюджета.

Примерно каждая третья заявка - это история заказчика о том, как он уже начинал процесс разработки, получил неудовлетворительный результат и теперь нужно переделать все заново. Плюс небольшое лирическое отступление о разрыве отношений с предыдущим подрядчиком, о том, как вместо трех месяцев работа выполнялась двенадцать, но в итоге так и не была завершена.
Бывает.

И после деликатных слов сочувствия я задаю вопрос, который обычно все ставит на свои места: «А можно посмотреть проектную документацию?». На местах все оказывается после ответа, который я слышу чаще всего: «А у нас такой нет».

Тогда я задаю следующий вопрос — почему? Ведь это нормальная практика — брать в поход предварительно изученную карту местности и приступать к стройке только после того, как получим от архитектурного бюро завершенный проект со сметой? Почему в случае с цифровыми проектами компетентные, вроде бы, люди поступают по-другому?

Вероятнее всего, дело в несколько упрощенном восприятии вопроса. Ну что там, казалось бы, разрабатывать: тут вот это, тут то, все это вместе очень просто. Хорошо проработанный сервис или приложение выглядят очень просто с точки зрения пользователя, который чаще опирается именно на визуальное восприятие. Как некий набор визуальных элементов, который как-то работает.

Да-да, «хорошо развитая технология неотличима от магии», примерно так. Но попробуйте просто описать словами логику работы хотя бы одного, не самого сложного функционального блока какого-нибудь сайта и вы сами не заметите, как напишете несколько абзацев — и ещё наверняка что-то упустите. Не говоря уже о том, что это будет описание, не учитывающее подкапотные связи этого блока с другими.

Впрочем, грешат этим не только заказчики. Многие разработчики подходят к реализации проекта «от дизайна», игнорируя этап составления технической документации. Они просто разрабатывают решение, опираясь на макеты, нередко созданные не совсем компетентными в вопросах UX людьми.

Вместе с тем, существует высокая степень недоверия к экспертным рассказам о специфике работы с технологиями. Возможно, этому способствует укоренившееся в российском бизнес-мышлении суждение «Не обманешь — не продашь». Заказчик с огромной осторожностью относится к словам о необходимости внедрения/использования определенных решений, о сложностях, которые могут возникнуть на пути реализации проекта. Однако часто ни к чему, кроме нарастающей технической безграмотности такая осторожность не приводит.

Примерно половина из заказчиков, с которыми мне приходилось общаться в течение последних трех лет, имеет представление о том, что такое клиентская и серверная части. Из этой половины примерно половина знает, насколько серверная часть важна. И что она не исчерпывается различными CMS и может, а в ряде случаев просто должна быть реализована с нуля, чтобы сохранить возможности для дальнейшего масштабирования и гибкость к изменениям.

Бэкенд, если говорить языком аналогий — это как мотор автомобиля. Он под капотом, его не видно. Всё, что заметно снаружи: двери, салон, приборная панель — есть интерфейс, клиентская часть, которая установлена на телефоне или компьютере в виде приложения. Но без мотора машины не ездят.

На бэкенде реализована вся логика сервиса: бизнес-логика и логика внутренних взаимодействий. Здесь происходит обработка данных, которые находятся на внутренней стороне сервиса, и те, которые поступают извне, от клиентской стороны сервиса.

Реализованная на бэкенде логика сервиса, должна быть прежде описана в строгой форме. Как правило, для этого используются UML-диаграмма (описание всех экранов и элементов, которые должны войти в интерфейс), структурная диаграмма (концептуальная модель, которая описывает атрибуты объектов и их связь между собой) и спецификация требований (сопутствующий текст с четко определенной терминологией). Текст описывает систему, что и как в ней работает, как и что в ней взаимосвязано.

Приниматься за реализацию более-менее сложных проектов без разработанный спецификации требований — это как начинать строительство здания без проектной документации: заведомо провальное дело.

Даже в более-менее обеспеченных документацией проектах мы часто сталкиваемся с неучтенными моментами, поскольку практически любой IT-проект — история длинная и сложная, с огромным количеством постоянно генерируемых вводных.

Соответственно, чем детальнее мы проработаем проект перед стартом, тем с меньшим количеством проблем нам придется столкнуться позже, тем лучше мы будем готовы к устранению «белых пятен». Хорошо составленная документация помогает нам контролировать рабочий процесс, соблюдение сроков и бюджетов.

В процессе разработки проектной документации у нас всегда возникают дополнительные идеи, которые можно реализовать не в текущей итерации сервиса, а в будущих. Собирая эти идеи в бэклог, мы их, во-первых, фиксируем и сохраняем, а во-вторых, формируем некое видение перспективы развития проекта.

Ведь очень важно на старте понимать, в какую сторону можно развивать проект, с какими решениями интегрироваться, закладывать основу для будущих работ уже в настоящем.

Это наш принцип. Мы не берёмся за реализацию проекта, если нет детального описания того, что нужно сделать. Существуют исключения, небольшие проекты, когда прототипов или концепции достаточно для старта полноценных работ. Однако при более масштабной разработке проектирование должно быть обязательно выполнено. Тут мы или используем документацию, полученную от заказчика, при необходимости дорабатывая её. Или сами осуществляем все работы по проектированию.

Павел Семёнов,
операционный директор IT-компании RS

#проектирование #разработка #RSdesign #проектирование_сайта #проектирование_интерфейсов

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Sasha Rempel", "author_type": "self", "tags": ["\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430","\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435_\u0441\u0430\u0439\u0442\u0430","\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435_\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432","\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435","rsdesign"], "comments": 5, "likes": 7, "favorites": 33, "is_advertisement": false, "subsite_label": "life", "id": 59067, "is_wide": false, "is_ugc": true, "date": "Wed, 20 Feb 2019 19:00:06 +0300" }
{ "id": 59067, "author_id": 218280, "diff_limit": 1000, "urls": {"diff":"\/comments\/59067\/get","add":"\/comments\/59067\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/59067"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199123, "possessions": [] }

5 комментариев 5 комм.

Популярные

По порядку

3

нет документации - это проблема та же, почему наняли джунов или прочих неопытных девов. Хотят сэкономить на всем. Нету еще массового понимания, что плохой проект иногда лучше удалить чем вытягивать из дна

Ответить
2

Нафиг вы такие баннеры делаете? Полез монитор протирать сначала...

Ответить
2

полезно протереть моник лишний раз:) это дизайнер еще муху не вшопил — еле отговорили)

Ответить
0

А как же главный аспект экономии на разработке - найм фулстэков?

Ответить
0

"И что она не исчерпывается различными CMS и может, а в ряде случаев просто должна быть реализована с нуля..."

Это ж треш, в 2019 году с нуля писать back!!! Ваше желание подсадить заказчика на вечную разработку понятно, но таким топорным способом это уж извините ...

Ответить
0
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Приложение-плацебо скачали
больше миллиона раз
Подписаться на push-уведомления
{ "page_type": "default" }