Pull to refresh
23
0
Евгений Панин @varenich

Аналитик

Send message

Декомпозиция систем по ограниченным контекстам DDD — глубокое погружение

Reading time10 min
Views8.7K

"Отдайте этот функционал в другую системы - он относится к ним" - ворчал мой собеседник. Ему с пылом отвечали: "Так быть не должно. Мы сами должны его сделать!" Спор грозил затянуться до вечера. Ни одна из сторон не могла привести ни одного настоящего аргумента, почему новый функционал нужно поместить в ту или иную автоматизированную систему.

Проблема была в том, что никто не понимал как правильно делить системы на части и по каким признакам включать в них новые модули. У собеседников не было никакой единой простой методики.

Но методика на самом деле есть, и весьма неплохая. Называется она Предметно Ориентированным Дизайном (Domain Driven Design, DDD). С помощью DDD деление большой системы на (микро)сервисы становится простым и понятным.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments1

Метод «Грозовая туча» помогает разрешать сложные конфликты в проектах

Reading time8 min
Views19K

В основе многих наших действий или бездействий лежат неразрешенные конфликты.

Конфликтами пронизана вся наша жизнь, каждый день. Казалось бы, мы должны к ним давно уже привыкнуть и осознав это предпринимать соответствующие действия, но нет, обычно мы предпочитаем оставить всё в подвешенном нерешенном состоянии.

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

Элияху Голдрат, создатель Теории Ограничений, говорил, что конфликтов на самом не существует и мир живет в гармонии. Просто никто не пытается разобраться в причинах конфликтной ситуации.

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

Многие практики Теории Ограничений утверждают, что «Грозовая туча» работает.

Давайте проверим и попробуем применить разработанный Голдратом алгоритм к нескольким типичным конфликтам из области ИТ. Посмотрим, как это может нам помочь.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments17

Как метрики бережливого производства можно применить в задачах Service Desk

Reading time8 min
Views5.3K

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

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

Просто представьте, что у Вас сотня админов, которых Вы ежедневно обеспечиваете работой (это не выдумка, а реальность).

В этой ситуации надо что-то предпринимать. Тут каждый выкручивается как может – выдумываются многочисленные отмазки, изобретается «стандартизация», клиентов заставляют заполнять невероятных размеров формы с полями, назначение которых невозможно угадать, а при каждом удобном случае обращения скидываются с исполнителя обратно на клиента. На нарушения SLA (плановых сроков исполнения заявок) вообще никто не смотрит. Перечень мер можно продолжать бесконечно.

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

Можно ли с этим что-то сделать? Конечно!  Работающие и очень эффективные меры давно известны – это Бережливое производство (Lean Manufacturing) и Теория ограничений (Theory of Constraints, TOC).

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

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments15

Кайдзен в разработке ПО — из собственного опыта

Reading time8 min
Views9.9K
Термин «кайдзен» ввела компания Тойота, и про него много написано в толстенных книжках из серии «Дао Тойота».

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

Далее Вы узнаете про несколько случаев, которые постепенно подвели автора к пониманию кайдзен в разработке.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments15

Метрики DevOps – откуда брать данные для расчетов

Reading time3 min
Views4.8K
Честно говоря, Иван часто посмеивался над тщетными усилиями коллег из отдела мониторинга. Они прилагали огромные усилия для реализации метрик, которые им заказывало руководство компании. Они были настолько заняты, что больше никому ничего не хотели делать.

А руководству всё было мало – оно постоянно заказывало всё новые и новые метрики, очень быстро переставая пользоваться тем, что были сделаны ранее.

Последнее время все только и говорили про LeadTime – время поставки бизнесовых фич. Метрика показала сумасшедшее число – 200 дней на поставку одной задачи. Как же все охали, ахали и воздевали руки к небу!

Через некоторое время шум постепенно затих и от руководства поступил заказ на создание еще одной метрики.

Ивану было совершенно понятно, что и новая метрика точно также тихонько помрёт в тёмном уголке.

Действительно, размышлял Иван, знание числа совершенно никому ни о чём не говорит. 200 дней или 2 дня – нет никакой разницы, потому что по числу невозможно определить причину и понять, хорошо это или плохо.

Это типичная ловушка метрик: кажется, что новая метрика расскажет суть бытия и объяснит какой-то тайный секрет. Все так на это надеются, но ничего почему-то не происходит. Да потому что секрет надо искать вовсе не в метриках!

Для Ивана это был пройденный этап. Он понимал, что метрики – это просто обычная деревянная линейка для измерений, а все секреты надо искать в объекте влияния, т.е. в том, что эту метрику формирует.

Для интернет-магазина объектом влияния будут его клиенты, приносящие деньги, а для DevOps – команды, создающие и раскатывающие дистрибутивы с использованием конвейера.

Однажды, устроившись в холле в удобном кресле Иван решил как следует продумать как бы он хотел видеть метрики DevOps с учётом того, что объектом влияния являются команды.

Цель метрик DevOps


Понятно, что всем хочется уменьшить время поставки. 200 дней – это, конечно, никуда не годится.

Но как, вот в чем вопрос?
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments0

Как быстрые результаты Ивану помогли

Reading time5 min
Views3.2K
Иван работал в большой организации в отделе, связанном с DevOps. Ежедневно тысячи сотрудников пользовались инструментами DevOps для создания, проверки и внедрения своего программного обеспечения.

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

Естественно, многим не нравились инструменты DevOps. Кто-то говорил, что они слишком глючные, а другие считали, что можно обойтись совсем без них, и это будет гораздо быстрее.

Руководство компании понимало, что все 100% команд не могут быть довольны DevOps-ом, однако точных данных не было. Хорошо было бы увидеть наличие проблем на конвейере, однако не было известно даже обычное количество дистрибутивов, проходящих через него в день. Что уж тут говорить о серьезных метриках.

Вопрос о метриках DevOps поднимался постоянно — они были всем очень нужны.

Иван, как сотрудник, разбирающийся в метриках и хорошо знающий технологию DevOps, плотно участвовал в подготовке проекта.

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

В результате родилось полноценное техническое решения, которое Иван представил руководству.

Всё пропало

Читать дальше →
Total votes 9: ↑7 and ↓2+5
Comments8

Как Иван метрики DevOps делал. Объект влияния

Reading time3 min
Views2.8K
Прошла неделя с тех пор как Иван в первый раз задумался над метриками DevOps и понял, что управлять с их помощью надо временем поставки продукта (Time-To-Market).

Даже на выходных он думал про метрики: «Ну и что, что я измерю время? Что оно мне даст?»

Действительно, что даст знание времени? Допустим, поставка занимает 5 дней. И что дальше? Это хорошо или плохо? Даже если это плохо, то нужно же как-то уменьшать это время. Но как?
Эти мысли не давали ему покоя, но решение не приходило.

Иван понимал, что подошёл к самой сути. Бесчисленные графики метрик, виденные им до этого, давно убедили его, что стандартный подход не сработает, и что если просто построить график (пусть даже когортный), толку от него будет ноль.

Как же быть?..
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments4

Как Иван метрики DevOps делал. Начало

Reading time4 min
Views4.9K
Однажды Ивана позвали на совещание, чтобы обсудить метрики DevOps.

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

Слушая доклады Иван попытался подсчитать сколько метрик было предложено: 5,10, опять 10, и еще около десятка. Получилось 30 с чем-то.

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

Наблюдая со стороны Иван задавал себе вопросы: зачем? Почему именно эти метрики? Что они вам дадут? Стало вдруг очевидно, что на совещании собрались люди, совершенно далекие от реального понимания природы метрик, и что всё закончится как обычно, потерей огромного количества времени и выбрасыванием наработок в мусор.

Стало грустно и обидно. Обидно за то, что время и деньги компании просто уходят в никуда, и грустно от того, что полезное дело так и не будет сделано.

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

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

Иван решил подготовить своё видение метрик DevOps, причём сделать так, чтобы каждая метрика была в нём обоснована, имела конкретную цель, несла пользу и была понятна.
Вот, что у него получилось…
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments3

Как Иван конверсию стендов исследовал

Reading time4 min
Views2.9K
После того как Иван познакомился с когортным анализом, он терпеть не мог любые виды слащавых метрик.

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

Как-то руководитель попросил Ивана разобраться, почему в течение 3- недель непрерывно падает конверсия прохождения стенда командами:

image
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments2

One Metric To Rule Them All – Существует ли одна единственная универсальная метрика?

Reading time4 min
Views2.3K
«One Ring To Rule Them All»
J.R.R.Tolkien

«Управлять можно только тем, что можно измерить»
П.Друкер


Когда речь заходит о метриках, то на ум приходят десятки, а то и сотни различных вариантов.
Каких только измерений не придумали!

Но вот беда, когда смотришь на эти красивые картинки, часто бывает совершенно непонятно, что они обозначают.

Да и вообще совершенно неясно, правильно ли были выбраны эти метрики или стоило бы смотреть на совершенно другие?

Хочется какой-то одной метрики, такой, чтобы посмотрел, и всё сразу стало понятно.
Но существует ли она? Или волшебства нет?

Давайте разберемся и посмотрим на конкретном примере…
Читать дальше →
Total votes 8: ↑3 and ↓5-2
Comments11

Где же у него кнопка?! Как простому человеку выгрузить данные из Kibana и Elasticsearch и не напрягать при этом разрабов

Reading time3 min
Views22K
Elasticsearch, Kibana и Logstash (ELK) – отличный набор инструментов для сбора и визуализации большого количества данных.

Логи, журналы, события – всё это довольно легко собирается, мапится и отображается в едином инструментарии. Logstash мапит данные, Elasticsearch хранит их, а Kibana отображает в виде графиков.

При всей мощи этой связки, естественно, есть задачи, которые невозможно реализовать через встроенные возможности.

Например, Kibana прекрасно показывает данные в рамках одной таблицы (индекса), но как только дело доходит до объединения разных индексов в одну выборку, она беспомощно разводит руки.

И единственный способ решить задачу в этом случае – выгрузить данные из Kibana и объединить их в любом другом средстве, например, в Excel.

Простой пример. Представьте, что Ваша Ёлка (ELK) собирает и хранит события Jira – по любому изменению любой из задач таск-трекера.

В этом случае в индексе Elasticsearch по одной задаче будет храниться несколько записей:


Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments8

Как мы улучшали службу технической поддержки с помощью когортного анализа

Reading time6 min
Views6K
Существует огромное количество инструментов визуализации графиков, умеющих делать с ними настоящие чудеса. Все они имеют разное назначение и специализацию.

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

В большой организации работа централизованных служб часто имеет критическое значение.

Представьте, что Вы – руководитель службы поддержки, состоящей из 10 человек, и Ваша команда обслуживает коллектив из 200 команд, в каждой из которой по 7-10 человек. Это минимум 1400 человек, ежедневно засыпающих Вас работой.

Теперь добавим сюда ещё больше реальности и представим, что Вы выполняете некую централизованную функцию (например, настройку чего-нибудь), без которой команды не могут выдать результат.

Получается, что на Вас всё завязано, и чем быстрее и качественнее будет работать Ваша команда, тем быстрее будут выдавать результат все остальные команды в компании.

И тут начинаются жалобы на медленную отработку запросов…

Естественно, в этой ситуации руководителю нужны фактические данные, а не слова.

На помощь приходит когортный анализ.
Читать дальше →
Total votes 12: ↑9 and ↓3+6
Comments0

Как я применил когортный анализ участвуя в соревновании по сбросу веса

Reading time4 min
Views5.4K
Всё началось с того, что я бросил вызов и принял участие в соревновании. Дело в в том, что вес у меня заоблачный и, конечно, хочется его серьезно сбросить.

Раньше был опыт избавления от 20 кг, но потом, из-за отсутствия мотивации, много вернулось обратно. В этот раз, чтобы мотивация была серьезной, я бросил вызов другому человеку и взялся за дело.
Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments12

Прозрение по метрикам: как я понял, что такое метрики и в чём их главная прелесть

Reading time6 min
Views18K
Метрики — это фуфло, скажите Вы, и будете правы. В чём-то.

Действительно, если речь заходит о метриках, то самая первая первая метрика, которая приходит на ум — посещаемость.

Многие любят медитировать часами глядя на график посещаемости своего сайта.

image

Как же это круто, наблюдать как скачет линия — туда-сюда, туда-сюда… А еще круче, когда посещаемость сайта растет непрерывно.

Тогда блаженное тепло разливается по всему телу и разум воспаряет к небесам в ожидании манны небесной.

Ах, какая радость, какое блаженство!

image

И даже если картина печальная…



От графика все равно не оторвать глаз, так он затягивает.



Кажется, что в графике скрыт тайный смысл. Еще немного, и картинка раскроет свои секреты и расскажет невероятно простой и эффективный способ привлечения огромного количества клиентов. И тогда-то деньги точно потекут рекой.

Но на самом деле, посещаемость — типичная “слащавая (тщеславная) метрика”, не несущая в себе полезного смысла.
Читать дальше →
Total votes 28: ↑11 and ↓17-6
Comments11

Когортный анализ показывает картину, совершенно отличную от нашего привычного восприятия

Reading time4 min
Views10K
Позвольте мне перенести Вас на некоторое время назад. Представьте, что Вы стоите вместо со мной у одной из досок и пытаетесь объяснить коллегам Вашу новую концепцию метрик. Если сказать про мои чувства в тот момент — это было отчаяние. Я со всей отчётливостью понимал, что к сожалению, мои слова не смогли дойти до собеседников. Никто из участников встречи совершенно не воспринял ни одной моей мысли. Они мне не верили.

Не верили не потому, что я не логично изложил суть или сказал что-то глупое. Нет. С этой точки зрения всё было хорошо. “То, что ты предлагаешь — это действительно интересно и инновационно, но… давай-ка мы все-таки сделаем всё по-старому”. Как же обидно было это слышать.

Я разрабатывал систему метрик, ориентировать на которые должны были несколько тысяч человек. Представьте, что Вы совершенно чётко осознаете, что люди вокруг вас упорно и настойчиво, всеми своими силами стремятся упасть в глубочайшую яму, цена падения в которую невероятно высока. Вы просто не имеете права допустить, чтобы это произошло, понимаете? Просто не имеете права!

Но в тот момент я как собачка смотрел преданными глазами на коллег и ничего не мог сказать. Знаете, есть несколько выдающихся человек в мире, которые мне очень нравятся. И один из них — Илон Маск. После очередного неудачного запуска ракеты Фалькон в его компании царило полное уныние. Несмотря на то, что день был очень тяжелым, несмотря на 20 часов, проведенных на ногах и постигший его удар, Маск выступил перед компанией, поддержал сотрудников и завершил свою речь словами: “Сам я никогда не сдамся. Никогда!”

Слова Маска тогда сами собой всплыли у меня в голове: “Я не сдамся!”.
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments21

Скрытая угроза: критические моменты, на которые обращают недостаточно внимания после окончания разработки ПО

Reading time3 min
Views8.4K
Недостаточно просто закодировать и протестировать программу.

Бывало у Вас так, что после запуска программы уходит сотрудник, который с ней работал долгое время? Или возникает необходимость доработать программу, но никто уже не помнит как она устроена?

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

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

Если по программе нет нормальной документации, то восстановить её внутреннее устройство бывает очень и очень трудно. А иногда это даже выливается в серьёзные ошибки или полную остановку процесса.

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

Однако есть один момент, на который мало кто обращает внимание.

Давайте рассмотрим его на конкретном примере…
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments6

Как использовать сценарии использования для точной оценки трудоемкости работы

Reading time4 min
Views16K
Каждый из программистов и руководителей разработки хоть раз, но попадал на сроки, т.е. нарушал их, сильно или не очень.

Попробуйте открутить назад все Ваши проекты и оцените реальное опоздание по ним.

Может оказаться, что задержки достигают просто гигантских значений.

Автор статьи видел проекты с задержкой сроков в 400% и 700%!

Бытует мнение, что разрабатывать программы без опоздания невозможно в принципе.

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

На момент оценки трудоемкости ТЗ есть не всегда. И даже если оно есть, фактор неизвестности всё равно продолжает играть огромную роль – ведь люди, к сожалению, действительно не провидцы, и каким бы подробным не было ТЗ, всё равно остаются моменты, скрытые от глаз.

Кроме скрытой функциональности, на ошибочную оценку также довольно сильно влияет квалификация и личный опыт программирования самого оценщика (человеку без личного опыта программирования труднее оценить сколько времени займёт разработка).

Интересно, что сценарии (варианты) использования позволяют довольно точно оценить трудоемкость работ.

Практика показала, что можно достигнуть 20% точности (=%ошибки) при оценке. А ведь опоздание 20% это совсем не 700%, верно?

Как это сделать?
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments5

Тестирование сайтов с помощью сборок: что это такое и как работает

Reading time4 min
Views4.2K
Тестировать на боевом сайте запрещено.

Если Вы создаёте сайты, то наверняка понимаете почему это так. И скорее всего Вы знакомы с проблемой, о которой пойдет речь.
Читать дальше →
Total votes 7: ↑3 and ↓4-1
Comments8

Что программируют программисты?

Reading time2 min
Views7.7K
На самом деле этот вопрос будет скорее интересен системным аналитикам, чем программистам.

Речь пойдет не о программировании, а о том, как делать постановки (технические задания) для программистов.

Хотя, если Вы программист и посчитаете информацию полезной, то конечно можете подсказать своему аналитику пару интересных идей. :-)

Итак, представьте, что Вам нужно написать техническое задание на программное обеспечение.

Как бы Вы это сделали? Наверняка начали бы описывать внутреннее устройство и функции системы, верно?

Да, в целом так. Но дьявол, как известно, скрывается в деталях…
Читать дальше →
Total votes 20: ↑4 and ↓16-12
Comments20

Почему ИТ-директоры обязательно должны «работать в поле»

Reading time2 min
Views4.6K
Необходимость в едином походе к автоматизации предприятия особенно ярко проявляется когда сам сталкиваешь с проблемой “изнутри”.

Когда смотришь на предприятие “сверху” и пытаешься понять, что бы тебе такое объединить и автоматизировать, то придумывается обычно плохо.

Хорошо помогает выход на места и анализ того как работают рядовые сотрудники.

На рабочих местах обычно открывается то, что скрыто в основное время за дверью Вашего кабинета…
Читать дальше →
Total votes 32: ↑4 and ↓28-24
Comments25
1

Information

Rating
Does not participate
Location
Люберцы, Москва и Московская обл., Россия
Date of birth
Registered
Activity