Another Tech Product
6.39K subscribers
35 photos
1 file
289 links
Анализ, архитектура, менеджмент в IT

Вопросы сюда: @and_burakov
Download Telegram
#цитаты

Банальная, но бесконечно прекрасная история. Всегда бы так было в жизни.
Прикольный канал, кстати, люблю формат заметок. Жаль, что мало.

“Был год, если не ошибаюсь, 2014. Я только начал активно участвовать в продажах. И вот в конце года к нам пришел потенциальный проект. Я вел пресейл, начиная с первого звонка. Всё горело, нужно было до конца года вписаться в проект. Бюджет хороший, но все в мыле, нет времени объяснять, нужно срочно бежать. А я не понимаю куда🤯

И вот 30 декабря, последний рабочий день. Я приехал со встречи на наш корпоратив. Помню, сидя где-то в углу, написал письмо, в котором окончательно отказался от проекта. Самое интересное, что проект уходил к нашим прямым конкурентам. Кошмарный сон любого продавца🤭

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

А я опять к чему?🙃
🙋‍♂️ Задавайте вопросы, если не понимаете что-то. Да и если понимаете, тоже иногда полезно переспросить. Не бойтесь показаться глупым.
Чем меньше времени на принятие решения, тем сильнее нужно тормозить. Это про ожидания”.
#реклама #интеграция #API #REST

В феврале делаю тестовый запуск тренинга о REST API для самых маленьких.
Условия: присутствовать на всех занятиях, сделать дз и дать фидбек на выходе.
Даты: 14.02, 21.02, 28.02

UPD. Всем спасибо, группу собрали.
#интеграция #API #анонс

Описание API в Confluence
Завтра в 18:00 по мск намечается ламповая встреча с Олегом Игониным на тему документирования API в конфлюенс:

“Хочу рассказать о том, как у меня сложилась работа с описанием API методов в Confluence для постановки задачи на их реализацию разработчикам (структура страниц в confluence, структура заголовков, некоторая автоматизация, описание интерфейса метода и работы логики под капотом).

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

В общем, возьму лампу, кота и буду рассказывать. 😂

Ссылка и id конференции:
https://us04web.zoom.us/j/75989849812?pwd=Q2Mra0thdi9EL0JYUVFDVUcwU1kyUT09
Идентификатор конференции: 759 8984 9812”
#архитектура

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

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

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

https://youtube.com/playlist?list=PL4_hYwCyhAvZuoK6Y0FaCh-25jEYtBvDo
#API #REST #интеграция

Вавилонская башня REST
Заметка о том, что люди в обыденной жизни называют RESTом, и как их понять.
Пока писал, нашел статью на схожую тему: https://habr.com/ru/post/319984/

На днях с интересом посмотрел доклад, где автор рассуждал о плюсах и минусах “REST-протокола”. В очередной раз вспомнил, что в термин REST человек может вкладывать примерно любой смысл. Усложняется история тем, что в сети полно статей и видосиков, дающих разные трактовки: одни говорят про правильные GET-POST-PUT, другие про JSON и XML, третьи вообще об архитектурных стилях рассуждают.

Вот моя версия Русско-Рестового словаря.

REST - это архитектурная концепция, которая рассказывает нам, как построить распределенную систему так, чтобы она была масштабируемой, производительной и со всех сторон успешной. Концепция включает в себя шесть принципов-ограничений, которым она должна удовлетворять. Возможно, глубокое изучение принципов никогда не понадобится аналитику, но часть из них стоит понять и осмыслить: модель client-server, stateless, кэширование – будет полезно не только при работе с REST-сервисами.

HATEOAS- идея гипермедиа, которую использует REST. Познакомиться можно на вики или тут. Встречается не так часто, но полезно для общего развития и философских дискуссий.

RESTful-сервис - сервис, удовлетворяющий принципам REST.

HTTP/1.1 - протокол передачи данных, на котором живет большая часть интернета. А вот REST протоколом не является.
Чтобы понять, как правильно использовать POST, PUT и статус коды, нужно читать спеку HTTP. Или для начала посмотреть статью на тему.

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

Тогда что принято называть REST-сервисами в повседневной жизни? Здесь хочу обратиться к модели зрелости REST-сервисов Ричардсона. Он выделяет 4 уровня зрелости REST-сервисов:

Уровень 0. Мы берем в качестве протокола HTTP, но при этом игнорируем рекомендации по использованию HTTP-глаголов и именованию ресурсов aka endpoints. Часто в таких случаях используют POST с одним endpoint. Сюда можно отнести SOAP, XML-RPC, JSON-RPC и еще много чего.
Уровень 1. Начинаем правильно работать с ресурсами, но по-прежнему ограничиваемся одним HTTP-глаголом.
Уровень 2. Мы научились использовать HTTP-глаголы, статус коды и разделять endpoints так, как предусмотрено HTTP.
Уровень 3. Все то же самое, только дополнительно реализуем HATEOAS

Так вот, чаще всего REST-сервисами называют:
⁃ Сервис Уровня 0, который использует JSON. Так называемый JSON поверх HTTP, или JSON over HTTP
⁃ Сервис Уровня 2, т.е. правильное HTTP API

Кстати, многие считают, что REST-сервис - это обязательно JSON, XML использовать мы уже не можем. Хотя в концепции REST таких ограничений, конечно, нет.
👍31
#agile #scrum #процессы

Скрам для HR
Сейчас понял, что при внедрении “скрама” совсем не обязательно думать об ускорении разработки, уменьшении петли обратной связи и тюнинге процессов. Можно использовать его как инструмент развития HR-бренда.

1. Сначала сделаем ежедневные стендапы, где команда может пообщаться, кидая по очереди мячик, и размяться после целого дня в кресле. Особенно полезны эти минутки единства на удаленке, когда люди почти не видят друг друга.
2. Теперь нам нужна геймификация - повесим доску со стикерами или заведем борду в джире, где будем брать задачи словно квесты в рпг.
3. Организуем планирование спринта, на котором поиграем в покер, оценивая задачи в сторях, попугаях и кракенах. Нужно больше игровых механик.
4. В конце спринта собираемся всей командой и покупаем две пиццы. Потом два часа обсуждаем, что в спринте было хорошо, а что плохо.

Все, “скрам внедрен”. Теперь мы прогрессивная компания, используем гибкие методологии. Весело, модно, молодежно.

А теперь попробуем посчитать, чего мы добились. Предположим, что на “скрам”-ритуалы уходит 10-15% времени команды. Это легко измеримая сумма S, здесь проблем нет.

Дальше можем экспериментально сравнить стоимость найма, когда мы
⁃ рассказываем кандидатам о “скраме” в командах
⁃ говорим, что используем вотерфолл, каскадную разработку и вообще не против традиционных ценностей
Посчитав разницу, получаем выигрыш на одного нанятого сотрудника dH. Если нанимаем много и часто, то экономия H может быть серьезной.

В итоге сравниваем два числа: S и H. Если H больше, то смело масштабируем “скрам” на всю компанию. Тот случай, когда подражание внешним признакам способно принести профит. А со временем кто-нибудь и о смысле задумается.
Допускаю, что “скрам” еще уменьшает текучку за счет общения внутри команды, но не понимаю, как оценить это.

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

https://t.me/pmdaily/780
#оффтоп

Словарь начинающего руководителя.

“У нас очень амбициозная цель на третий квартал” - все понимают, что сроки нереальные, но вслух мы обсуждать это не будем.
​​#agile #процессы #команда #конференция
Впервые дошел ногами до тимлодконфа.

Илья Степырев - Game of Motivations
Илья разработал карточную игру, которая должна помочь выяснить мотивацию и приоритеты сотрудника. Без реальной практики оценивать ее бессмысленно, но демо на воркшопе выглядело интересно. Планирую пересмотреть запись и попробовать в реальности.
Общее представление об игре можно составить по презе.
https://teamleadconf.ru/moscow/2021/abstracts/6984

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

Зацепила мысль - агил должен быть обоюдоострым. Разработка может строить сколь угодно гибкие процессы, но это бессмысленно, пока бизнес сам не готов к гибкости. Необходимо объяснить, насколько важно планировать и продумывать развитие на несколько шагов вперед и доносить это до разработки.
https://teamleadconf.ru/moscow/2021/abstracts/7502

Дмитрий Ильенков - Как сохранить лидерство в команде
Семь мыслей о том, как наладить и поддерживать здоровые отношения в команде. Откровений нет, но подача классная. Полезно иногда проглядывать, чтобы лишний раз подумать о своей работе.
https://teamleadconf.ru/moscow/2021/abstracts/7643

Алексей Самойлов - Ошибки умных людей, или аудит коллективов
Классный чеклист для диагностики проблем в коллективе, все на примере известных руководителей и команд: Ландау, Павлов и т.д.
В конце презы автор дает много ссылок на другие материалы по теме, тоже хочу посмотреть.
https://teamleadconf.ru/moscow/2021/abstracts/7220
#требования #инструменты
У нас тут организовались ламповые посиделки об использовнии Requirements Yogi. Рады всем, кто хочет поделиться своим опытом или болью.
Вторник 18.05 в 19:00 по МСК

https://us02web.zoom.us/j/83151438146?pwd=VGFEQlMrTWx2YWlNWlIrTVBlaWtPQT09
Meeting ID: 831 5143 8146
Passcode: 279720

Приблизительная повестка:
1. История команды, которая планирует использовать RY. Какие проблемы хотят решить, почему смотрят на йогу.
2. Как мы используем RY и чем недовольны.
3. Опыт архитектора. Успешные кейсы использования RY.
4. Свободная дискуссия.
#интеграция #API #конференция
Analyst Days 12
Материалы, которые обещал участникам воркшопа по проектированию API.

https://microservice-api-patterns.org - коллекция паттернов проектирования API

https://twirl.github.io/The-API-Book/docs/API.ru.html - книга о проектировании API. Если все читать лень, то в контексте воркшопа можно ограничиться главами 10 и 11

http://www.servicedesignpatterns.com - книга и о проектировании web-сервисов. В большой степени ориентирована на разработчиков и архитекторов, но хорошо написано о поллинге и коллбеках и других полезных штуках

https://habr.com/ru/company/yandex/blog/442762/ - статья от яндекс такси об ужасах идемпотентности
#мышление #требования
Еще один пример мышления письмом. Особенно полезно это упражнение аналитикам, когда формулируем сложные требования. Ибо требование есть мысль.

“Поймал себя на мысли, что пишу очень сложные предложения, длинные и сильносвязные. Полез проверять у классиков: Толстой, Чехов и другие - обнаружил, что доля сложносочиненных предложений очень невелика, а сложноподчинённые короткие. В итоге стал себя заставлять писать короткими предложениями. Оказалось, что пока ты стараешься укоротить предложение или разбить его на связные части - прокручиваешь изначальную мысль несколько раз. А ещё seo-плагин вордпреса умеет ругать статьи в бложеке по этой причине. Тоже меняю текст:) Как результат - сильный рост доступности и понятности текста. И вывих мозга” - утащено из одного чатика, автор @dumtest

Пока попробовал только в переписке, но уже чувствую результат.
Как-то у меня была заметка о подходе к переписке: https://t.me/another_sa/37
#конференция
В ближайшее воскресение расскажу на ЛАФ о терминологическом хаосе вокруг REST. Кратко об этом уже писал тут, теперь погрузимся в тему глубже. У кого будет желание - пишите, познакомимся😏
#требования #мышление #анализ
Анна Абрамова рассказывает о том, как аналитику научиться видеть задачу целиком, и не продалбывать важные моменты.
https://www.artofba.com/post/how-to-see-whole-picture

Конспектировать не буду, ибо ее cnjbn прочитать и обдумать самостоятельно. Несколько тезисов, которые особо зацепили:

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

Об инструментах анализа: UML, Use Cases, User Stories и т.п.
Для меня идеальный подход к проработке каждой задачи – использовать 2-3 инструмента, обязательно включающие текстовое и графическое представление информации. Это заставляет мозг работать в разных режимах и рассматривать разные аспекты, не теряя общей картины.

О выборе и валидации решения
Рассматривать несколько решений, в том числе решение, что ничего не нужно делать.

Об организации процесса работы
Мы пришли к выводу, что аналитику нужно минимум два часа в день «на подумать» без прерываний на вопросы от команды, переговоры и другие задачи.
#анализ
Среда 7 июля в 19:00

Люблю критику, ибо она часто помогает понять, как улучшить нашу работу. Вечером в среду Филипп поделится фидбеком, который мы сможем вместе обсудить, присоединяйтесь😏

Первую часть проведем в формате интервью, вторую - в режиме общей дискуссии.

https://compractice.timepad.ru/event/169456
Уже через час обсудим с Филиппом проблемы при работе с аналитиками, подключайтесь

https://us02web.zoom.us/j/89499320249
#анализ #манагерское

Почему системный аналитик в компании - это bad smell?

https://youtu.be/__CS7ogpMks
Конспект писать не буду, но пару мыслей из обсуждения хочу вынести:

⁃ Системным аналитиком называем роль, которая занимается техническим дизайном (проектированием API, БД, UI, внутренней логики приложений), проработкой пользовательских требований (user story, пользовательские сценарии и т.п.) и выполняет кучу других функций, которые получится на него повесить.
⁃ Залезать в техдизайн СА не стоит, т.к. для этого нужны технические компетенции уровня разработчика с 5-10 годами опыта.
⁃ Работа с пользовательскими требованиями - это функции product owner/manager’а. Можно похоливарить на тему, почему относим эти функции продукту, но сейчас это распространенная трактовка.
⁃ При этом работа СА на интеграционных задачах вполне допустима, т.к. здесь аналитик выступает как архитектор решений на минималках, что не требует глубокого погружения в технику.
⁃ Если в разработки продукта есть выделенный СА, то это указывает на проблемы в процессах команды или компании. В частности, в коммуникациях между разработкой и бизнесом. При этом налаживать процессы может оказаться сложнее или дороже, чем привлечь СА.
⁃ По опыту Филиппа 2/3 разработчиков способны и готовы коммуницировать с бизнесом и погружаться в предметную область, если у них есть возможность.

В сухом остатке получается, что привлечение системных аналитиков вполне оправдано, если нет возможности менять процессы в команде и нанимать профессиональных разработчиков. Самим же аналитикам лучше фокусироваться на функциях архитектора или продукта - интересно, что схожие мысли последнее время озвучивали на конференциях Дмитрий Безуглый и Сергей Нужненко.

По итогам хочу еще поисследовать тему с другими представителями индустрии. Кому-нибудь еще интересен такой формат? Дайте знать в комментах, плз.
#интеграция #очереди

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

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

Здесь рассматривают реализацию с помощью кафки, в начале статьи общее описание идеи со схемками:
https://callistaenterprise.se/blogg/teknik/2018/10/26/synchronous-request-reply-over-kafka/

Может пора доклад запилить на тему?