В IT чудес не бывает
899 subscribers
144 photos
22 videos
1 file
388 links
Лайт-версия блога https://www.maxshulga.ru/ про менеджмент, качество и процессы в IT от доброго доктора АйТиболита @maxbeard12
Download Telegram
Не знаю, поздно уже регаться или нет. Скорее еще можно.
Краем глаза смотрю на слайды первых докладов (потом будут записи) конференции Stratoplan B2B conf: ИТ стратегия на 10 лет. Очень откликается с последним опытом стратегирования (деланием стратегии), да и прошлых опытов тоже.
Кому интересно, отдавайте им свои контакты в качестве оплаты (а так типа бесплатно) и можно потом посмотреть. Имхо полезно.

#не_реклама :)
2
Prior era’s good leaders are often bad leaders in the following era


"Good engineering management" is a fad
Management skills:
• Execution
• Team
• Ownership
• Alignment
• Taste
• Clarity
• Navigating Ambiguity
• Operating Across Timescales

Это все к вопросу о "плохих или хороших" менеджерах. У каждого есть свои супер-скилы и точки роста в каждом управленческом кейсе.

ЗЫ "всякому овощу своё время" - русская народная мудрость...

#management
This media is not supported in your browser
VIEW IN TELEGRAM
Жизнь сложная штука: пока я думаю про что писать, и писать ли вообще, может статься, что и писать будет некуда.

Обычно темы подсовывали инфолента или работа. В инфоленте сейчас сплошной ИИ. А на новой работе есть ощущение, как у того чувака позади фуры в ролике (если он у вас загрузится): и вот думай, есть польза от тебя или нет.
Нужно искать правильную точку приложения усилий.

В общем не теряйте, надеюсь, нам еще будет где пообщаться 🤞
ЗЫ традиционно, в периоды "стопора чистого листа" я рад видеть #ваши_вопросы в личке.

ЗЫ2 кстати, ролику отлично подходит подпись "я и мои достижения в резюме". Видел тут недавно огненный список "достижений".

#байки #мысли_вслух
15😁5
The most dangerous teams aren’t toxic.They’re polite, busy, and very good at explaining why nothing is anyone’s fault.

(с) Alan Page
чужие #мысли_вслух
💯11😁9
Ну, за приоритет Ы

The word “priority” came into the English language in the 1400s, and it was singular, meaning the very first thing, the thing that came before all others. It stayed singular for the next five hundred years.

Only in the 1900s did we pluralise the term and start talking about “priorities.”

...
Think about your own organisation for a moment.

• How many parallel roadmaps and subroadmaps exist, with engineers smeared fractionally across all of them? For example, does your security roadmap fight with your product roadmap and your performance roadmap?

• How many teams have their own backlog of P0 items, with each saying they need more people to work on them?

• How many initiatives are all happening at once, each with their own sponsor claiming that theirs is the most important, leading to silos and politics?

Here’s the rub: the plural form of the word has given us permission to avoid the hard work of truly deciding what comes first.

...
Take ten minutes and try this exercise:

• List everything. Write down every project and initiative currently in flight for your team or department. Don’t filter or categorise yet, just get them all down.

• Force a ranking. Put them in order from one to n. Not tiers, not categories: a single ordered list. No ties allowed.

• Notice the hesitation. Where do you want to create exceptions? Where does it feel impossible to choose? That hesitation is where the real prioritisation work lives.

• Identify who decides. Can you make these choices on your own, or do you need input from your team and peers? If it’s the latter, that conversation is the one you’ve been avoiding.

...
it’s priority, not priorities: you should just have one single list.


One list to rule them all. A simple list can make all of the hard decisions happen.

#management #process
👍61
Если честно, ии-стерия ввергает меня в некоторую степень апатии, недоверия или пофигизма (а может это весенний авитаминоз). Во что это в итоге выльется пока непонятно. Изменения точно будут, но маловероятно, что во всех аспектах разработки и применения софта.

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

 PS Цитата про тесты - до слез 😹
Хорошие инженеры могут воспринимать тесты, особенно — интеграционные тесты, как особый вид документации. Преимущество тестов перед документами в Word/docx в том, что их можно запустить и мгновенно получить ответ — выполняются требования или нет. По крайней мере, такова мечта. Об этом рассказывают на конференциях, строят умные модели и рисуют пирамидки. По факту, тесты мало у кого есть. Либо они проверяют какую-то ерунду. Докладчики, возвращаясь с позёрских QA-конференций, на работе видят пустоту и разруху.


 #tech_read
5
Я уже готовлюсь, инструмент закуплен, навык использования имеется.

Не пятничный и может не айти #it_memes
😁14😢2🔥1
Forget coverage; focus on risk

"...the goal shouldn’t be more tests. It should be less risk. Quality isn’t about measuring lines of code, it’s about understanding where things can go wrong and ensuring we catch critical issues early."

"Risk thinking aligns quality with business impact, not just technical metrics."


"Хорошие тесты лучше, чем много тестов" (Don’t aim for more tests; aim for the right tests) - этот дзен не всем понятен и в целом, в автоматизации тестирования количество не всегда переходит в качество. Это происходит достаточно часто, потому что многие находятся в вечном "достижении количества" в условиях "постоянно уходящего поезда из новых фичей".

Вот вроде все хорошо с этим risk based подходом, за исключением нюанса - никто не мало кто знает, что такое "риск".

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


В статье есть подсказки:
• Какие риски для бизнеса являются наиболее критическими?
• Какие сбои нам было бы стыдно объяснять руководству?
И следующие за ними:
• Есть ли у нас тесты, которые позволяют снизить эти риски на ранних этапах жизненного цикла разработки?
• Если нет, как мы можем повысить уверенность в этой области?

Очень логичным кажется пойти к бизнесу и спросить про эти риски. Но часто ответ будет "нужно, чтобы все работало и лучше вчера, на крайняк - сегодня" и вообще "за качество отвечает разработка".
А если ответ будет не таким, то будет что-то вида "репутационные риски" и "финансовые претензии" от "несоответствия ожиданий заказчика реальности". А, еще, "нужно писать фичи, а то продаж не будет" - вот где настоящий риск.
И мой опыт показывает, что история настолько комплексная и многоаспектная, что в 90% случаев "прилетает" по вопросам/проблемам всем давно известным, но которые намеренно или не намеренно "упустили" в момент заключения сделки, если до нее все же дошло.

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

Продолжение следует.

Пока я думаю и пытаюсь выгрузить это хоть в какой-то понятной форме, расскажите, что у вас обстоят дела с "risk based testing approach". Выходит ли за пределы регламентов и правил? Как определяете что и сколько тестировать или автоматизировать?

  #quality
👍3
Продолжение про "рисковое тестирование" будет, мне самому интересно. Но потом :)

А пока новости из инфоленты. Всегда было интересно, исходя из чего ИИ выбирает решения для базовой функциональности, которая нужна почти всегда (базы, файловые хранилища, ORM, CI/CD, аутентификация, тесты и тдтп).
Тут небольшой ответ на этот вопрос (на примере Claude Code).
И чуда не произошло - "не все рекомендации одинаково полезны" и думать все равно нужно. Но некоторые "решения по умолчанию" вполне логичны.
Интересно, можно ли теперь в момент выбора опираться на "используется ИИ по умолчанию"? :)

#tech_read
3🔥1
Продолжаем.
Что нам поможет с рисками? (почему-то вспомнился мем "а чего мы хотим?")
Теория.
ISO 25010 (Systems and software engineering|Systems and software Quality Requirements and Evaluation (SQuaRE)|System and software quality models и ее аналог ГОСТ Р ИСО/МЭК 25010-2015 (в виде pdf).
Этот ISO описывает модель качества продукта через характеристики.
Functional Suitability (Функциональная пригодность): Полнота, корректность и уместность функций.
Performance Efficiency (Эффективность производительности): Временные характеристики, использование ресурсов, емкость (потенциальные возможности).
Compatibility (Совместимость): Совместное использование, интероперабельность.
Usability (Удобство использования): Понятность, обучаемость, управляемость, защита от ошибок пользователя, эстетика интерфейса.
Reliability (Надежность): Завершенность, доступность, отказоустойчивость, восстанавливаемость.
Security (Безопасность): Конфиденциальность, целостность, неподдельность, отслеживаемость, подлинность.
Maintainability (Поддерживаемость): Модульность, возможность повторного использования, анализируемость, модифицируемость, тестируемость.
Portability (Переносимость): Адаптируемость, возможность установки, замещаемость.

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

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

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

Банальный пример: вместо вопроса "а у нас будут заказчики с большими файлами?" (с ответом "конечно будут"), лучше задавать "у нас сейчас грузятся файлы до 10GB, этого достаточно будет в текущих условиях?". (Поверьте, только на собесах по системному дизайну такие вопросы задаются на входе и на такие вопросы всегда есть ответы)

Практические знания (получаем контекст):
- о тестируемом объекте (SUT) в целом
- о том, что мы сделали нового
- о внесенных изменениях и затронутой ими части функциональности
- об основных (самых популярных/ожидаемых/итп) пользовательских сценариях
- о пользовательских данных и том, как они участвуют во всех пунктах выше
- кто и как тестировал внешние для нас компоненты, которые делают другие команды

Дальше обсудим, как это все можно применить на практике.

#quality
👍43
В IT чудес не бывает
Практические знания (получаем контекст):
- о тестируемом объекте (SUT) в целом
- о том, что мы сделали нового
- о внесенных изменениях и затронутой ими части функциональности
- об основных (самых популярных/ожидаемых/итп) пользовательских сценариях
- о пользовательских данных и том, как они участвуют во всех пунктах выше
- кто и как тестировал внешние для нас компоненты, которые делают другие команды
Все приемы "перевода" качества в количество основаны на примитивных отношениях (например таком: X=1-A/B, где А - число нереализованных функций; В - число описанных функций). И дальше все это так или иначе "агрегируется". Вообще гляньте этот ГОСТ Р 25023-2021 "Измерения качества системы и программной продукции" - прикольно для фанатов отчетности и тех, кого мучают вопросами "а что у нас с качеством?". Как это применять в реале представить сложно (не сталкивался), но видимо кто-то пользуется. Виталий Шароватов у себя подробнее рассказывает тему с рисками.

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

Начнем с поставки продукта (фичей) - без этого пользователь не получит ничего.
Если поставляем коробку для on-premise, то значит будет установка - риск по “совместимости”. Если хостим сами (что-то а-ля SaaS) - то вопрос чуть другой.
Какие вопросы задаем (или решаем сами исходя из опыта поддержки):
- какая самая популярная ОС из поддерживаемых (но, помним - проверять, что ставимся на все поддерживаемое, все равно нужно, вопрос лишь в том, как часто).
- или самая “капризная” (исходя из опыта предыдущих тикетов)
- свежая ОС в списке
Им больше всего внимания.

Обновление установки:
- целостность хранимых данных при обновлении - важный вопрос. Тестирование миграций часто идет фоном и происходит “благодаря” тестированию обычных фичей. А именно в этом месте может стрельнуть, особенно если стенды обнуляются при накатывании новых версий. Но данные бывают разными, каких-то и не жалко.
- кастомные настройки (“тюнинг”) -что с ними происходит после обновления? Сброс, изменение дефолта.

Функциональность:
- новые фичи - тут понятно, пользователи в них будут тыкаться, даже если им оно и не нужно. Но опять же, перфекционизм - зло. Не надо вылизывать все до тех пор, пока не будет блестеть. Ибо есть шанс, что оно никому это блестящее уже и не нужно будет, когда решитесь таки выйти.
- “старые” фичи - что задели, как, что у нас с проверками в этих местах? Поэтому для определения скоупа тестирования важно понимать, что меняли. История “доверяй разрабам - но проверяй” конечно имеет место быть, но проверять вообще все каждый раз вы не вывезете. А действовать "на удачу" - не самая удачная стратегия 🫠
- интеграционные сценарии - не забываем про договоренности со смежными командами, кто что проверяет и на какую глубину. Отталкиваемся от сценариев друг друга.
- возвращаясь к совместимости: если реализация независима от специфики ОС, то проверять можно на одной, а не пачке. И в этом месте важно понимать, что у нас зависит от ОС или, скажем, браузер-специфик, чтобы учесть это при составлении плана тестирования. Урезаем количество проверок, рискуем, но осознанно.

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

Много заказчиков из банков - готовьтесь к полным ИБ-проверкам, ограничивающим настройкам сети и фоткам логов вместо самих логов (особенно, если не позаботились об экранировании чувствительных данных там).

Основная аудитория на Android - выбрали ее как основную мобильную платформу? Все равно готовьтесь чинить iOS “ахтунги”, потому что их используют топы.

Основной профиль использования, по мнению бизнеса, это компании до 5к пользователей - можно фокусироваться в тестировании на таких, но не удивляться 100к, потому что сейлзы могут, умеют и практикуют. Истории с надежностью (отказо- и катастрофоустойчивостью) в ту же копилку.

Именно в этом месте важны договоренности и прозрачность: "мы срезаем углы - цена вот такая".

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

#quality
3👍2
Я всегда говорил: везде есть свой уроборос...
"Tech debt causes slowness. Slowness creates pressure. Pressure creates more tech debt. If your diagram has no loops, you probably haven’t looked hard enough. Chains are comforting because they have endpoints. Loops are uncomfortable because they don’t. That discomfort is the point!"


Ask “what conditions made this likely?” rather than “what caused this?” This shifts the question into something systematic, rather than looking for a silver bullet.


Every system has holes (incomplete tests, ambiguous runbooks, technical debt, etc). Individually, none of them are “the cause".
The incident happens when enough of them line up at the same time.


The Root Cause Fallacy In which framing it as a root cause means you've already lost

#мысли_вслух #процессы
1👍1
Планирование (включая оценку) того, что нам нужно сделать в релизе, квартале, за год - это Сизифов труд?

The Sisyphean Tragedy of Planning | Stop Trying To PUSH Rocks Up-Hill Like Sisyphus

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

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

Истина скорее где-то посредине, но все ближе к планам/целям и отмеченным датам.

Иначе - это бесконечная история "а вот тут еще один мега-супер-пупер важный запрос прилетел, а вот еще..."
А вообще в голове сложился тот коммент, что первым там нарисовался.
#процессы
👍3💯1
Учитывайте, что все вот эти "вокруг да около" классно рассыпаются, когда ты их говоришь тому, кто их сам отлично применяет.
Потому что он слышит именно "ты - ...удак Y", а не «Вы производите впечатление Y» или «Возможно, вы производите впечатление Y», или «Вы кажетесь Y».

"Со мной сложнее спорить, если я скажу: «Вы производите впечатление человека Y», чем если я предположу, что каким-то образом обладаю особым пониманием того, кто вы есть на самом деле."

Да с фига ли :)

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

В общем, будьте готовы и имейте в себе силы и смелость говорить так, как есть. Естественно, без оскорблений, чудаки :)

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

#management
👍61
Просто несколько зацепивших ссылок, без моего традиционного бубубу вокруг статьи.
Почему-то вспомнились мои древние "5за5".

Про ошибки менеджеров
Хаос против бюрократии: выбирайте, что вам больше по душе. Или что на самом деле стоит за словами "нам нужно улучшить процессы"
Страдание — это не лидерство.
Про пессимизм в менеджменте (о, даа). "Не вдохновляет, но..." (да, Семен?)
Страх разрушает вашу организацию
• Ну и про проект "Аристотель" от гугла про эффективность команд (упоминается в предыдущей ссылке)

Ну и картинка про "порядок и системность", заочно для #it_memes

#management #5for5
🔥62
This media is not supported in your browser
VIEW IN TELEGRAM
#5for5

1. Про 1:1
Признак хорошей встречи: после нее сотрудник чувствует, что его работа была замечена, его проблемы были восприняты всерьёз, и его профессиональный рост действительно имеет значение.

2. О ваших исходниках замолвите слово…
Why Your Engineering Team Is Slow (It's the Codebase, Not the People)
Я бы не сказал, что это основная причина тормозов, но бывает и такое.
Про 5 признаков проблем с исходниками и что с ними делать

3. Почему делегирование не работает и что делать

4. Когда менеджеру нужно вмешаться

5. 6 навыков, необходимых для того, чтобы хорошо стратегировать

#management #процессы

#it_memes  "когда вышел на новую работу, видишь как устроены процессы и думаешь, что делать..."
13
Всем привет
Я думаю, что многие в курсе истории с МойОфис (НОТ) и того, что какую-то часть разработки там сокращают.
Это тот момент, когда многих готов был бы взять без собесов и вот этого всего. Но во-первых все "не поместятся", а во-вторых каких-то специализаций у меня и вовсе нет. Обидно.

Я понимаю про текущий рынок найма и то, что кандидатов на 1 место сейчас много (мягко говоря) и можно лениво ковырясь отбирать "лучших единорогов".
Но если вдруг вам нужны люди "с гарантией от меня", маякните в личке.

Есть сильные фронты, "ручные" тестировщики, девопсы (разных специализаций), PO, PjM.

IT-парапсихолог уже не модно, попробуем IT-сватовство 😂
Чудес конечно не ожидаю, но если удастся кого-то свести и кому-то помочь, буду рад.

ЗЫ ребята из НОТ, вы тоже можете маякнуть в личке, возможно я не про всех "добби" в курсе. Но, я строгий сват... без обид, ибо рекомендация для меня - это серьезно.
45😢5
Вчера вся лента пестрила "новостями" о "грядущих" сокращениях в МойОфис, все это разбавлялось рассуждениями "экспертов" о причинах провала.

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

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

А что там у МойОфис еще было?
Диванный эксперт-ITпарапсихолог тоже в деле. Что-то аж на 2 поста тележка разделила. Никакого инсайда (ну самую малость), все доступно на сайте или тырнетах, просто нужно почитать подробнее и подумать.

У некоторых (редких) экспертов упоминалось про почтовое решение. На самом деле было 2 почтовых продукта . Фактически 2 внутренних конкурента, один - тяжело администрируемый "мегакосмолет" на "мульоны пользователей", второй - в целом неплохо работающий сервер. Но почему их 2? Поверьте не просто так 🙂
Про количество внутриразрабатываемых почтовых клиентов и их вариаций умолчу, но там было много. Вот вам раз проблема.

Были еще отличные мобильные редакторы - имхо (и не только мое) один из лучших продуктов для редактирования доков на мобилах. Проблема 1: отличные, но бесплатные. И нафиг никому не нужно оно на мобиле за деньги. Как зарабатывать на них не придумалось, хотя одно время пытались сделать платные фичи.
Проблема 2: одновременная разработка по Android и iOS. Не готов рассуждать без инсайдов про количество пользователей на той и другой платформе, но команда старалась минимизировать затраты унифицируя разработку с помощью Kotlin Multiplatform.

Про корпоративный мессенжер Squadus из экспертов вообще никто не писал (не видел), а меж тем вполне работоспособная и удобная зверушка. Да на базе open source, но и команда небольшая. В целом из всего того чатообразного, с чем удалось столкнуться, вполне жизнеспособный продукт, но возможно с ограниченным рынком: маленьким компаниям не надо, у больших - большие ожидания (см.комменты ниже). Не удивлюсь, если дальше мы увидим его в списке продуктов какой-нибудь компании.

Про мои любимые Документы Онлайн. Честно, я тут полгода пользуюсь похожим сервисом от Я. Так вот, ДО было сильно удобнее для работы. Но, есть "вероятные" проблемы со сложностью разворачивания, знаменитыми сценариями "коллаборации" совместного редактирования и максимальным количеством пользователей 😉

Что объединяет любые серверные on-premise продукты?
Сложность со сценариями разворачивания и эксплуатации: все хотят sla 99.99(9), чтобы все разворачивалось в 1 клик, zero-downtime при обновлениях и вообще чтоб работало само. При этом не все готовы подтягивать качество своей инфры и внутренней экспертизы.
В итоге ты или делаешь продукт для тех кто умеет в кубы, или тем кому просто нужна виртуалка, которая просто запускается и работает. Или оба варианта (долго-дорого), или только один, но всегда с определенными ограничениями по нефункциональным требованиям.

Вообще (тут небольшой инсайд) - просто дохрена времени уходило не на разработку продуктовых фичей, а на нефункциональщину (развертывание, производительность, отказоустойчивость, геораспределенность и вот это все). При том, что каждый продукт по историческим причинам разрабатывался отдельно, всю эту нефункциональную обвязку каждая команда писала самостоятельно (да, это неэкономно...)
продолжение
8🔥4👍2💩1
Почему все так закончилось? Да хз.
С моей колокольни, которая и рядом не стояла там, где точно все видно было, видится как последовательная серия неправильно принятых решений (бизнес и технических) в разное время разными людьми:
• неправильно определили целевую аудиторию продуктов
• необычная кадровая политика на топ-уровне
• "бессрочное" лицензирование с фокусом на поддержку, которую разработка конечно "завалила работой" (в этом месте я тот еще эксперт, но странно продать продукт, а потом почти бесплатно его дорабатывать несколько лет...)
• резкий рост размеров департаментов разработки
• проиграли борьбу с технической сложностью эксплуатации получившихся комбайнов, которые как SaaS под чуткими руками своих разрабов заработали бы, но не на внешке
• неверные архитектурные решения ("прототипы" в проде)
• на деске бороться с MS можно было только определив узкий набор функциональности, а не меряясь количеством фичей редакторов у них и у тебя (до сих пор вспоминаю и ржу над запросами по фичам анимации в презентациях).

Думаю, был шанс в каком-то общем объединенном решении (почта+мессенджер+хранилище доков с редакторами), но объединенные системные требования становились несуразными.

Ну а может просто печень у продавцов слабая... 🫠🍻

ЗЫ Ну и да, если кто-то не знал, обычные (без контроля со стороны регуляторов) компании до сих пор легко используют продукты MS у себя, деск уж точно.

 #байки
11🔥10💯2👍1💩1