Изменения

Перейти к: навигация, поиск
м
Нет описания правки
= Об учебном взгляде аналитика на работу =
На фестивале я сделал наблюдение, которое опубликовал [https://t.me/mtsepkov/552 отдельным постом] (репосты в группы [https://t.me/analystdays/17173 AnalystDays] и [https://t.me/c/1121000042/17072 ЛАФ]. Во всех трех местах идет обсуждение, при чм чем сильно разное и содержательное, до полусотни комментариев в день. Я его потом добавлю в отчет, а пока — сам пост.
У многих аналитиков неявно есть «учебный» взгляд на работу. Что я имею ввиду? Когда вы учились в школе и, позднее, в институте, ко всем учебным заданиям существовала инструкция, как его сделать, чтобы получить хорошую оценку. Понятно, что задания могли быть разные, предполагать творчество, например, сочинение, учебный проект или диплом, но это творчество касалось определенных элементов и по их поводу инструкция тоже в некотором виде. А еще критерием успеха являлась именно полученная оценка, которую поставит преподаватель, и эта оценка «по умолчанию» считалась верной, изменить ее требовало очень больших усилий. И дальше все это проявляется и на конференции и в работе: от докладов ждут, что там будет такая инструкция, по которым можно выполнять свою работу. А оценкой работы считают мнение принимающего твой документ, а применимость документа для следующего шага. И неявно предполагают, что оценка зависит именно от следования правилам.
И все это не лишено оснований в реальной жизни: оценки проекта основываются на следовании правилам и процедурам, а не на реальном результате внедрении системы или отдельных фич, и методика ведения проекта это предполагает. Проблема в том, что реально это плохо работает: снавала сначала по известным методикам пишут постановки, потом их реализуют, а потом оказывается, что результат плохо применим на практике. Но в объяснении говорят «вы плохо следовали методике», не оценивая пригодность методики как таковой. То есть учебный подход, сформирвоанный сформированный в школе и институте — поддерживается. Я вижу проявления этого не только на конференциях.
Чтобы перейти от такого подхода к реальной работе на достижение результата надо менять мышление. Такие тренинги есть для руководителей, это переходе понимания ответственности от responsibility к accountability, но вот для аналитиков таких материалов нет, этому не учат, и вообще тема не находится в фокусе внимания. И, возможно, стоит подумать в этом направлении при подготовке конференций. Впрочем, я могу ошибаться и переоценивать значимость проблемы. Что думаете?
Что нам надо картировать, описывает V-модель, к которой сейчас наверху надо достроить бизнесовую часть. И дальше был краткий рассказ про карты, которые прижились.
* Короткая бизнес-модель
* Карта деятельности: CJM + Service, BluePrint, Карта процессов; Value stream mapingmapping. B все это — на встречах
* Карта пользователей историй Story map
* Карта системного ландшафта — потоки данных
* Карты систем: функциональная; информационная; развертывания доступа и обслуживания — это архитектура
Бизнес-модель схематезирована по Остервальдеру, хотя Сергей на него не ссылаласяссылался.
* Какую ценность несем, кому несем, в каких юридических отношениях мы с ними находимся.
* Клиентский путь: узнать, пройти воронку продаж, подключиться (попал в систему) — дает доходы
* Система-приемник. Там таблицы, ключи, обязательные поля, которые могут быть пустыми в источнике — что делать.
* Совместимость типов, особенно с датами и часовыми поясами. Что делать, когда строки не лезут в приемнике.
* Протокол системы-приемника. Например, система модет может быть рассчитана только на ежедневные инкременты, а может быть на нумерацию.
* Ключи. Бывает, что в системе-источнике контактные лица юрика — вообще не отдельные сущности-люди, а в системе-приемнике есть таблица физ-лиц контактов с идентичностью.
* Событийная модель. Не только создание или изменение, а с учетом фильтров. Например, абонент стал анонимным, которого не грузим.
* Логирование. Чтобы интеграция записывала, что сделала, и почему упала, и фиксировала — что там было, и в каком сообщении это пришло.
* Срочные догрузки: я нашел карточку, и срочно загрузите. Да еще со связанными сущностями. И это задача точечной перегрузки.В том числе — перегрузка пула ошибочных записей, которые нашли.
* Сверки могут быть, но они дорогие для нагруженных базах. Поэтому это обычно не регулярная процедура, а разовая.
* На начальной стадии нужно тестирование, в том числе через сверку на репрезентативных кейсах.
= Евгений Скориков. Нефункциональные требования? Модели обеспечения качества! =
Очень хороший доклад, о том, что нефункциональные требования в их привычном виде «отказоустойчивость 99,5 .5%» или «отклик системы 5 секунд» — совершенно бесполезная вещь: непонятна осмысленность, способы удовлетворения и тестирования и риски. 99,5 .5% — это 0,5 .5% сбоев, если система не работает в год 1.5 суток подряд — это как, нормально? Для многих — ненормально, хотя в норматив формально укладывается. В общем, эта критика — понятная, эти требования часто берут произвольно. Например, по производительности, кстати, нет достоверных исследований: как именно скорость работы сайта влияет на бизнес. Понятно, что если ваш сайт жутко тормозит, и есть сайт конкурента, который делает все тоже самое и быстро, то люди уйдут туда. Но в реальной жизни сайт конкурента делает НЕ тоже самое, там есть чего-то меньше и чего-то больше, у него есть другая эргономика. И как это влияет? Исследований нет. Честное исследование — замедлить сайт для части клиентов и сравнить, но на это ни один бизнес не пойдет.
Гораздо интереснее, что в докладе был рассказ, чем их следует заменять, чтобы это имело смысл и реально работало. С практическими примерами, которые в интерактиве обсуждали с аудиторией. Общая схема такова.
# Берем аспекты работы с системами: отказоустойчивость, производительность, масштабируемость, эргономичность интерфейса и другие.
# Для каждого аспекта есть специфические проблемы, и мы декомпозируем систему с точки зрения этих проблем. Например, для отказоустойчисовти отказоустойчивости смотрим на отказы базы данных, серверов приложений, сетевой инфраструктуры, клиентских приложений. Для производительности — деградацию на выполнении различных функций. И так далее.
# Выписываем возможные проблемы в каждой части, оцениваем их значимость: если это случится — каковы последствия, потери для бизнеса.
# Для проблем — есть специфические тактики предотвращения, которые снижают ущерб и имеют определенную стоимость. Выбираем тактики и проектируем варианты решения.
# Проектируем тест выбранного решения.
Например, если мы рассматриваем физический отказ базы данных, то есть тактика резервирования с вариантами: холодный бэкап, горячий резерв и катастрофоустойчивость с быстрым переключением, для каждого вое время восстановления после сбоя и своя стоимость в виде дополнительных серверов, дисков и так далее. И мы выбираем из баланса времени восстановления и стоимости резервирования. А для проблемы отказа по исчерпанию дисков тактикой может быть мониторинг с аллертами алертами и людьми, которые своевременно на эти алерты прореагируют, и это тоже имеет стоимость. И так далее. И эти решения можно протестировать: проверить, что из бэкапа база восстановится за предполагаемые сроки, что мониторинг действительно даст алерт в нужной ситуации и на него смогут прореагировать.
Это - тестируемо.
'''Phil Delgyado''': Вообще, доступность в процентах (sla) считают только для плановых остановов. Для разных инцидентов используется пара RTO/RPO, которая легко тестируется изначально. Ну и вообще доклад (судя по описанию) делал 'системный аналитик' (в плохом смысле этого слова), а не архитектор.
: '''MaximTsepkov''': Обсуждение личности автора вместо содержания доклада означает, что содержание не понравилось, но возражать — сложно. В докладе рассказана вполне рабочая модель, которой можно следовать в реальных условиях и с теми разработчиками и аналитиками, которые в среднем имеются. При чем достаточно общая, то есть подход можно применять для разных аспектов, хотя иллюстрирован только для некоторых. А если накидаешь ссылок на другие хорошие доклады или статьи — читатели отчета смогут обратиться к ним. Вдруг у тебя есть?
: '''Phil Delgyado''': Модель как раз не очень приводит, в ней технические детали (п2) стоят перед бизнесовыми (п3). И проблема с 'НФТ' (то, что привел автор в качестве примера — не является НФТ) — как раз в отрыве от бизнес-состовляющейсоставляющей. Если ее добавить, то и архитектура становится очевидней и тестирование. А если сначала ставить 'падение БД', а потом 'бизнес-последствия', то будет сложно.
: '''Phil Delgyado''': По хорошему работа с НФТ — часть архитектурной деятельности, до разработки и до системной аналитики (как ее понимают в большинстве компаний). Более высокий уровень.
: '''MaximTsepkov''': Реально у бизнеса жестких требований нет. В том смысле, что он готов платить за определенное качество определенные деньги и обсуждать баланс — это как с фичами, они нужны при условии, что их стоимость оправдана. При этом, как и с фичами, функция стоимости — сильно не гладкая, а ступенчатая, холодный бэкап и горячее резервирование на standby дают сильно разные возможности за разные деньги, также как возможность автономной работы приложения против возможности работы только при подключении к инету, и там еще есть свои особенности по скорости подключения. Методика у Жени как раз позволяет превратить обобщенные НФТ в фичи, конструкция которых принципиально понятна, и дальше — выяснять, что из них бизнес готов купить.
: '''MaximTsepkov''': Делает ли это системный аналитик или архитектор — вопрос вторичный. Но вообще, я тут поняялпонял, что с архитектурой та же фигня: архитекторы не оценивают ее стоимость и не предлагают варианты, а постулируют «делаем так». Хотя, может, хорошие архитекторы это делают. Но в архитектурных докладах я такой стоимостной составляющей не слышал.
: '''Phil Delgyado''': Нее, у бизнеса есть вполне понятные требования и цены, просто не все умеют их вытаскивать. И общая архитектура системы в первую очередь зависит от НФТ, там нет возможности демонстрировать бизнесу 'можно так, а можно так', основные выборы уже не изменить. И выборов гораздо больше, чем бэкап или active-standy, их десятки только для HA, не говоря уж про время отклика и так далее.
: '''Phil Delgyado''': Почему в классической модели нет учета стоимости и создания баланса? Это базовая задача архитектора — осознавать и стоимость и требования бизнеса и предлагать адекватные решения. Собственно, потому архитекторы и вообще нужны, иначе хватало бы продуктов и разработковразработчиков. Но если в компании нет архитектора, то да, приходится строить подобные кривые конструкции
: '''MaximTsepkov''': Выборов, конечно, больше, в презентации они были в виде тактик и способов преодоления по разным аспектом, это в конспекте и обсуждении мы за одно зацепились. И действительно, многие из них — архитектурные, их уже не изменить. И бизнес вынужден с ними жить и за них платить. Хотя первоначально — не собирался. Требований и цен у бизнеса нет, они возникают в тот момент, когда ИТ-шники, если они опытные, заставляют о них задуматься. И да, не все умеют это делать, тут я согласен.
: '''MaximTsepkov''': Проекты, когда реально идет обсуждение, а нельзя ли ограничиться Standard edition вместо Enterprise, а недостающий функционал сделать своими методами и будет ли это дешевле, потому как из enterprise нужно немного а разница цен, если умножить на число инстансов — велика — редкое исключение, они у меня были. И архитекторы об этом, как правило, вообще не думают — что будет сильно дороже. Или предложить отказаться для конкретного набора рабочих мест от Windows, при том, что на Linux есть определенные проблемы, включая администрирование — если ты при этом экономишь несколько тысяч лицензий.
Они, тем не менее, решили не останавливать эксперимент, и сильно урезали сценарий первой версии, включая работу с адресами доставки и оплатой. И пошли на реализацию. Развитие событий показало, что это было ошибкой: сокращенный сценарий сценарий для начала тоже надо было протестировать — тогда бы был шанс выяснить, что местами урезано было недопустимо сильно. И еще — пересмотреть ожидания от будущих пользователей, которые были рассчитаны из полного сценария. А так после запуска получилось, что пользователей за первый месяц — на порядок меньше ожидаемого, в том числе из-за неудачного размещения точки входа и ряда других причин. Точку входа спрятали в меню, и обзвон показывал, что первый раз войдя через ссылку из push-уведомления, разосланного своим пользователем, они потом точку входа вообще не находят. Часть проблем они устранили, точку входа сделали на странице Каталога, сделали рекламку на приветственном экране и так далее. Число пользователей росло, но не быстро и в декабре все-таки руководство решило остановить проект, признать эксперимент неудачным. Они провели большое ретро и появился чек-лист, 11 пунктов которого были в презентации, а остальные — доступны по ссылке.
{{wl-publish: 2023-06-24 12:40:03 +0300 | MaksTsepkov }}

Навигация