Когда это не будет работать?
Это одно из мои любимых мысленных упражнений, включающее режим тестировщицы. Ок, мы собрали систему или производственный процесс. В каких ситуациях это не будет работать? Помогает удерживать в голове то, что системы разные и контексты разные.
Это все работает и с людьми.
Вы считаете, что включенные камеры на митингах дают включенность?
Для каких людей и в каких условиях это будет не только не давать этот результат, но и вредить? Когда это действительно обосновано? Как еще можно работать на включенность людей?
Вы решаете, что на рабочий обед вы все вместе будете ходить в парк, есть на природе без телефонов и общаться, чтобы увеличить продуктивность?
Кому такой формат не подойдет и подействует строго наоборот? Кто не сможет участвовать в таких обедах из-за различных дизабилити?
Вы устраиваете стратегические сессии, выезжая на выходные в новый город?
Кто не сможет в этом участвовать, даже если хочет?
Не обязательно отказываться от идеи, но стоит поразмыслить над тем, что люди разные (иногда неожиданно разные) и к каким неочевидным последствием это может привести.
#менеджерское
#diversity
Это одно из мои любимых мысленных упражнений, включающее режим тестировщицы. Ок, мы собрали систему или производственный процесс. В каких ситуациях это не будет работать? Помогает удерживать в голове то, что системы разные и контексты разные.
Это все работает и с людьми.
Вы считаете, что включенные камеры на митингах дают включенность?
Для каких людей и в каких условиях это будет не только не давать этот результат, но и вредить? Когда это действительно обосновано? Как еще можно работать на включенность людей?
Вы решаете, что на рабочий обед вы все вместе будете ходить в парк, есть на природе без телефонов и общаться, чтобы увеличить продуктивность?
Кому такой формат не подойдет и подействует строго наоборот? Кто не сможет участвовать в таких обедах из-за различных дизабилити?
Вы устраиваете стратегические сессии, выезжая на выходные в новый город?
Кто не сможет в этом участвовать, даже если хочет?
Не обязательно отказываться от идеи, но стоит поразмыслить над тем, что люди разные (иногда неожиданно разные) и к каким неочевидным последствием это может привести.
#менеджерское
#diversity
❤32💯19💔1
Сначала ты полжизни учишься ставить реалистичные цели, обещать то, что сделаешь точно и говорить «не сегодня» куче разных вещей. А потом приходят они – амбициозные цели к следующему перфоманс ревью!
Первый раз у меня что-то реально значимое и амбициозное, а не просто «хорошо работать работу» или формальные KPI, чтобы дали денег. Увлекательно, очень полезно, но ужасно сложно в первый раз.
Первый раз у меня что-то реально значимое и амбициозное, а не просто «хорошо работать работу» или формальные KPI, чтобы дали денег. Увлекательно, очень полезно, но ужасно сложно в первый раз.
❤45💯7
Когда у меня высокая когнитивная нагрузка и вокруг много всего, мне сложнее собирать слова в тексты. Особенно в понятные и структурированные, а не просто обсуждать что-то в чатах. А контент-план у меня есть только в ZenTest, когда тему придумала заранее и обещала написать, собрать что-то проще)
Решили с Наташей иногда делиться старыми текстами из ZenTest, которые я писала для рубрики #сложное_на_пальцах и которые мне самой очень нравятся. И сегодня первый такой лонгрид.
#ZenTest
Решили с Наташей иногда делиться старыми текстами из ZenTest, которые я писала для рубрики #сложное_на_пальцах и которые мне самой очень нравятся. И сегодня первый такой лонгрид.
#ZenTest
❤18
Что такое архитектура ПО?
Когда начинают рассказывать про архитектуру ПО, ее часто сравнивают с архитектурой зданий и я тоже воспользуюсь этой метафорой. В Архитектуре ПО тоже различают разработку архитектуры как процесс и архитектуру как документацию. А еще есть архитекторы, которые этим всем занимаются. Они могут быть выделенными специалистами, а могут совмещать эту роль с другой работой.
Если мы строим новый дом с нуля, то нам нужен проект. Если же мы ремонтируем квартиру, то нам нужен план, чтобы понимать что мы будем менять и как работать. Или же мы хотим продать наше здание и тогда нам нужен архитектурный план, чтобы показать покупателю все в деталях.
Аналогично и с архитектурой приложения. Иногда мы создаем систему с нуля и проектируем , как будет устроено наше приложение. Но чаще мы работаем уже с существующей системой, где уже есть какие-то компоненты, взаимосвязи и ограничения. И чтобы в ней что-то изменить или доделать, нам надо знать как она устроена. А бывает, что никто про архитектуру и не думал, все как-то исторически сложалось, но если есть приложение, то у него всегда есть какая-то архитектура. И мы можем выяснить как же все работает на самом деле и зафиксировать это.
Можно ли делать что-то без продумывания архитектуры?
Можно! Но чем сложнее система, чем больше разных компонентов и взаимодействий она включает, чем больше к ней разнообразных требований от разных групп заинтересованных лиц, тем сложнее. Забор можно поставить и без плана, а вот с ремонтом квартиры будет уже сложнее. Не говоря уж о строительстве дома.
В книге Head First Software Architecture авторы предлагают рассматривать архитектуру ПО, как паззл из четырех деталей:
⏺️ Архитектурные характеристики
⏺️ Архитектурные решения
⏺️ Логические компоненты
⏺️ Архитектурный стиль
В следующих постах расскажу про них поподробнее.
Часть 1/4⏬
#книги
#ZenTest
Когда начинают рассказывать про архитектуру ПО, ее часто сравнивают с архитектурой зданий и я тоже воспользуюсь этой метафорой. В Архитектуре ПО тоже различают разработку архитектуры как процесс и архитектуру как документацию. А еще есть архитекторы, которые этим всем занимаются. Они могут быть выделенными специалистами, а могут совмещать эту роль с другой работой.
Если мы строим новый дом с нуля, то нам нужен проект. Если же мы ремонтируем квартиру, то нам нужен план, чтобы понимать что мы будем менять и как работать. Или же мы хотим продать наше здание и тогда нам нужен архитектурный план, чтобы показать покупателю все в деталях.
Аналогично и с архитектурой приложения. Иногда мы создаем систему с нуля и проектируем , как будет устроено наше приложение. Но чаще мы работаем уже с существующей системой, где уже есть какие-то компоненты, взаимосвязи и ограничения. И чтобы в ней что-то изменить или доделать, нам надо знать как она устроена. А бывает, что никто про архитектуру и не думал, все как-то исторически сложалось, но если есть приложение, то у него всегда есть какая-то архитектура. И мы можем выяснить как же все работает на самом деле и зафиксировать это.
Можно ли делать что-то без продумывания архитектуры?
Можно! Но чем сложнее система, чем больше разных компонентов и взаимодействий она включает, чем больше к ней разнообразных требований от разных групп заинтересованных лиц, тем сложнее. Забор можно поставить и без плана, а вот с ремонтом квартиры будет уже сложнее. Не говоря уж о строительстве дома.
В книге Head First Software Architecture авторы предлагают рассматривать архитектуру ПО, как паззл из четырех деталей:
В следующих постах расскажу про них поподробнее.
Часть 1/4
#книги
#ZenTest
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7✍2❤🔥1
Тестирование и жизнь • про работу для живых людей
Что такое архитектура ПО? Когда начинают рассказывать про архитектуру ПО, ее часто сравнивают с архитектурой зданий и я тоже воспользуюсь этой метафорой. В Архитектуре ПО тоже различают разработку архитектуры как процесс и архитектуру как документацию. А…
Часть 2/4. Начало ⏩
Архитектурные характеристики
Выбрать дом с садом в маленьком городе или квартиру в мегаполисе? Для разных людей важны разные параметры!
Так в программной архитектуре надо определить важные характеристики именно для этой системы.Должна ли система выдерживать большую нагрузку? Или соответствовать определенным критериям безопасности? А может обеспечивать высокую доступность?
Чаще всего эти характеристики называют нефункциональными требованиями. Но авторы книги предпочитают термин архитектурные характеристики, чтобы подчеркнуть, что они не менее важны, чем функциональные требования. Архитектурные характеристики задают как система должна что-то делать и какими качествами обладать.
Их очень важно продумать заранее насколько мы можем, потому что чаще всего их не получится развивать итерационно, мы оказываемся скованы уже существующими ограничениями решений. Мы можем обнаружить, что, чтобы поддерживать например высокую производительность нам надо много всего переделывать. Знаю пример, когда всю систему пришлось переписывать со Scala на Java, хотя технически Scala подходила лучше. Причина? Компания быстро росла и не могла нанимать столько Scala-разработчиков сколько ей было нужно, слишком мало специалистов было на рынке.
А еще архитектурные характеристики нередко противоречат друг другу и нельзя получить сразу все. Например сделать очень безопасную систему с шифрованием на каждый чих и при этом сделать ее же очень высокопроизводительной.
Кроме того бывают явные характеристики (эксплицитные), которые следую из бизнес-потребностей, а бывают неявные (имплицитные), которые кажется сами собой разумеются, но на самом деле конечно нет. Задача архитектора выяснить все это и договориться об ограниченном наборе того, на чем будем фокусироваться.
Архитектурные решения
Часто, когда речь идет о документации, люди записывают в лучшем случае, что решили, но не почему. А это часто самое важное! Сами решения можно восстановить в ходе археологических раскопок в коде, а вот почему так сделали остается только в памяти у людей.
В архитектуре есть два основных закона, которые мы берем за аксиому.
1⃣ Все в программной архитектуре — баланс «за» и «против». Нет никакой серебряной пули или идеального решения, которое не имело бы недостатков. А если вы их не видите, то вы недостаточно глубоко разобрались в теме.
2⃣ Почему важнее, чем как
Ок, мы поняли, что важно фиксировать архитектурные решения. Как же это делать? ADR (Architecture Decision Record)!
Есть различные шаблоны, но в минимальном варианте в ADR фиксируется контекст, само решение и почему оно было принято, последствия этого решения для системы. Кстати, это полезно не только архитекторам, а всем ролям)
#книги
#ZenTest
Архитектурные характеристики
Выбрать дом с садом в маленьком городе или квартиру в мегаполисе? Для разных людей важны разные параметры!
Так в программной архитектуре надо определить важные характеристики именно для этой системы.Должна ли система выдерживать большую нагрузку? Или соответствовать определенным критериям безопасности? А может обеспечивать высокую доступность?
Чаще всего эти характеристики называют нефункциональными требованиями. Но авторы книги предпочитают термин архитектурные характеристики, чтобы подчеркнуть, что они не менее важны, чем функциональные требования. Архитектурные характеристики задают как система должна что-то делать и какими качествами обладать.
Их очень важно продумать заранее насколько мы можем, потому что чаще всего их не получится развивать итерационно, мы оказываемся скованы уже существующими ограничениями решений. Мы можем обнаружить, что, чтобы поддерживать например высокую производительность нам надо много всего переделывать. Знаю пример, когда всю систему пришлось переписывать со Scala на Java, хотя технически Scala подходила лучше. Причина? Компания быстро росла и не могла нанимать столько Scala-разработчиков сколько ей было нужно, слишком мало специалистов было на рынке.
А еще архитектурные характеристики нередко противоречат друг другу и нельзя получить сразу все. Например сделать очень безопасную систему с шифрованием на каждый чих и при этом сделать ее же очень высокопроизводительной.
Кроме того бывают явные характеристики (эксплицитные), которые следую из бизнес-потребностей, а бывают неявные (имплицитные), которые кажется сами собой разумеются, но на самом деле конечно нет. Задача архитектора выяснить все это и договориться об ограниченном наборе того, на чем будем фокусироваться.
Архитектурные решения
Часто, когда речь идет о документации, люди записывают в лучшем случае, что решили, но не почему. А это часто самое важное! Сами решения можно восстановить в ходе археологических раскопок в коде, а вот почему так сделали остается только в памяти у людей.
В архитектуре есть два основных закона, которые мы берем за аксиому.
Ок, мы поняли, что важно фиксировать архитектурные решения. Как же это делать? ADR (Architecture Decision Record)!
Есть различные шаблоны, но в минимальном варианте в ADR фиксируется контекст, само решение и почему оно было принято, последствия этого решения для системы. Кстати, это полезно не только архитекторам, а всем ролям)
#книги
#ZenTest
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4⚡3❤🔥1
Тестирование и жизнь • про работу для живых людей
Часть 2/4. Начало ⏩ Архитектурные характеристики Выбрать дом с садом в маленьком городе или квартиру в мегаполисе? Для разных людей важны разные параметры! Так в программной архитектуре надо определить важные характеристики именно для этой системы.Должна…
Часть 3/4. Предыдущие части ⏩
Логические компоненты
Логические компоненты — это строительные блоки системы, как например разные типы помещений в доме. Вот есть кухня, а вот ванная комната, а здесь будет гостиная. Так и логические компоненты отвечают за определенную функциональность, например за создание заказа или обработку платежа.
Логические компоненты непосредственно связаны с иерархией папок в коде и по ней можно выяснить, какие они есть. Как в примере из книжки.
Логическая архитектура отображает только компоненты и их взаимосвязь между собой, в то время как в физической архитектуре мы отображаем архитектурный стиль, API, БД и т.д.
Для того, чтобы выделить основные логические компоненты программисты анализируют бизнес-требования.
Также важной характеристикой является уровень связности компонентов. Если два компонента связаны, это значит, что они оба нужны для реализации бизнес-функции. И у высокой, и низкой связности есть свои плюсы и минусы, и мы вынуждены как и всегда искать баланс.
#ZenTest
#книги
Логические компоненты
Логические компоненты — это строительные блоки системы, как например разные типы помещений в доме. Вот есть кухня, а вот ванная комната, а здесь будет гостиная. Так и логические компоненты отвечают за определенную функциональность, например за создание заказа или обработку платежа.
Логические компоненты непосредственно связаны с иерархией папок в коде и по ней можно выяснить, какие они есть. Как в примере из книжки.
Логическая архитектура отображает только компоненты и их взаимосвязь между собой, в то время как в физической архитектуре мы отображаем архитектурный стиль, API, БД и т.д.
Для того, чтобы выделить основные логические компоненты программисты анализируют бизнес-требования.
Также важной характеристикой является уровень связности компонентов. Если два компонента связаны, это значит, что они оба нужны для реализации бизнес-функции. И у высокой, и низкой связности есть свои плюсы и минусы, и мы вынуждены как и всегда искать баланс.
#ZenTest
#книги
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥2❤🔥1
Тестирование и жизнь • про работу для живых людей
Часть 3/4. Предыдущие части ⏩ Логические компоненты Логические компоненты — это строительные блоки системы, как например разные типы помещений в доме. Вот есть кухня, а вот ванная комната, а здесь будет гостиная. Так и логические компоненты отвечают за определенную…
Часть 4/4. Предыдущие части ⏩
Архитектурный стиль
Обычно когда мы говорим об архитектуре, то обычно говорим именно об архитектурном стиле. Например обсуждаем микросервисы. Но это не вся архитектура, а только ее часть.
Как дома могут быть в разных стилях и мы отличим «сталинки» от «хрущевок», так и в архитектуре ПО тоже есть свои стили, которые задают основные идеи и принципы. Их много самых разных и их можно классифицировать тоже по-разному, часто у вас в реальной системе не чистый стиль, а какая-то смесь.
Авторы Head First Software Architecture рассказывают про несколько основных архитектурных стилей, которые являются краевыми случаями по двум характеристикам: модель развертывания и способ декомпозиции.
В реальности, повторюсь, может быть и чаще всего бывает что-то промежуточное.
В монолитной архитектуре мы разворачиваем все наши логические компоненты как одну сущность. И весь деплой происходит в один момент.
В распределенной архитектуре мы наоборот можем разворачивать логические части нашего приложения по-отдельности. Например обновить только компонент платежей.
По способу декомпозиции авторы выделяют разбиение по техническим задачам и по бизнес-задачам, которые они решают.
Чтобы лучше понять идею, они приводят метафору ресторана и фудкорта. В ресторане каждая роль выполняет свою функцию. Было бы странно, если шеф-повар и готовил блюда, и убирал со столов. И это разделение по техническим задачам. А вот на фудкорте наоборот куча разных точек со своим профилем, где внутри выполняется все и сразу — и их удобнее разделить по бизнес-функциям.
#ZenTest
#книги
Архитектурный стиль
Обычно когда мы говорим об архитектуре, то обычно говорим именно об архитектурном стиле. Например обсуждаем микросервисы. Но это не вся архитектура, а только ее часть.
Как дома могут быть в разных стилях и мы отличим «сталинки» от «хрущевок», так и в архитектуре ПО тоже есть свои стили, которые задают основные идеи и принципы. Их много самых разных и их можно классифицировать тоже по-разному, часто у вас в реальной системе не чистый стиль, а какая-то смесь.
Авторы Head First Software Architecture рассказывают про несколько основных архитектурных стилей, которые являются краевыми случаями по двум характеристикам: модель развертывания и способ декомпозиции.
В реальности, повторюсь, может быть и чаще всего бывает что-то промежуточное.
В монолитной архитектуре мы разворачиваем все наши логические компоненты как одну сущность. И весь деплой происходит в один момент.
В распределенной архитектуре мы наоборот можем разворачивать логические части нашего приложения по-отдельности. Например обновить только компонент платежей.
По способу декомпозиции авторы выделяют разбиение по техническим задачам и по бизнес-задачам, которые они решают.
Чтобы лучше понять идею, они приводят метафору ресторана и фудкорта. В ресторане каждая роль выполняет свою функцию. Было бы странно, если шеф-повар и готовил блюда, и убирал со столов. И это разделение по техническим задачам. А вот на фудкорте наоборот куча разных точек со своим профилем, где внутри выполняется все и сразу — и их удобнее разделить по бизнес-функциям.
#ZenTest
#книги
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥3❤🔥1
Разговаривала про свою аутичную жизнь с Алёной из проекта «Об аутичных женщинах, по которым не скажешь» и поняла, что по моей жизни действительно «не скажешь». Но все это держится на принятии ограничений, знании себя и постоянной подстройке и доделке.
За последние годы отчетливо поняла, что мне действительно необходимо постоянно вкладываться в мета-штуки, чтобы жить свою хорошую жизнь. Мне мало что подходит сразу, большинство процессов приходится допиливать и приспосабливать под себя, а от чего отказываться совсем и горевать про это.
Считаю, что это один из самых важных навыков для нейроотличных людей. Большинство из нас с детства чувствуют собственную несостоятельность и учатся подстраиваться и вписываться в системы, терпят до последнего, а потом уходят. Но можно и иначе. И да, не только с фрилансом и солопринёрством.
Одна из главных целей нашей Нейроотличной лаборатории работы как раз тренировать этот скилл. Мы даем и фреймы куда копать, и обращаемся к идеям и опыту участниц и участников группы.
Мы подвинули начало на 20 сентября, а до следующей пятницы действует тариф предзаписи.
Приходите вкладываться в мета-навыки и разбираться с работой с нами)
Но иногда конечно ужасно бесит, почему я такая нежная, должна вкладывать силы и вот в это еще. Почему я просто не могу взять готовое, а мне постоянно надо изобретать даже не велосипед, а невиданные инженерные конструкции. Даже, чтобы найти специалистов и делегировать им что-то, приходится глубоко закапываться в предметную область.
Попутно я выношу разные магнитики: неожиданные навыки и знания, дополнительные профессии, радость и интерес. Но сил уходит на это все тоже много(
А как у вас? Много ли вам подходит готовых подходов? А если вы сами допиливаете под себя — на что опираетесь и что используете?
#Нейроотличная_лаборатория_работы
#менеджерство_и_жизнь
За последние годы отчетливо поняла, что мне действительно необходимо постоянно вкладываться в мета-штуки, чтобы жить свою хорошую жизнь. Мне мало что подходит сразу, большинство процессов приходится допиливать и приспосабливать под себя, а от чего отказываться совсем и горевать про это.
Считаю, что это один из самых важных навыков для нейроотличных людей. Большинство из нас с детства чувствуют собственную несостоятельность и учатся подстраиваться и вписываться в системы, терпят до последнего, а потом уходят. Но можно и иначе. И да, не только с фрилансом и солопринёрством.
Одна из главных целей нашей Нейроотличной лаборатории работы как раз тренировать этот скилл. Мы даем и фреймы куда копать, и обращаемся к идеям и опыту участниц и участников группы.
Мы подвинули начало на 20 сентября, а до следующей пятницы действует тариф предзаписи.
Приходите вкладываться в мета-навыки и разбираться с работой с нами)
Но иногда конечно ужасно бесит, почему я такая нежная, должна вкладывать силы и вот в это еще. Почему я просто не могу взять готовое, а мне постоянно надо изобретать даже не велосипед, а невиданные инженерные конструкции. Даже, чтобы найти специалистов и делегировать им что-то, приходится глубоко закапываться в предметную область.
Попутно я выношу разные магнитики: неожиданные навыки и знания, дополнительные профессии, радость и интерес. Но сил уходит на это все тоже много(
А как у вас? Много ли вам подходит готовых подходов? А если вы сами допиливаете под себя — на что опираетесь и что используете?
#Нейроотличная_лаборатория_работы
#менеджерство_и_жизнь
❤19🔥6🕊2
Тестирование и жизнь • про работу для живых людей
Разговаривала про свою аутичную жизнь с Алёной из проекта «Об аутичных женщинах, по которым не скажешь» и поняла, что по моей жизни действительно «не скажешь». Но все это держится на принятии ограничений, знании себя и постоянной подстройке и доделке. За…
И про скорость процессов и магнитики из подстройки под себя.
Искала пост для ZenTest и нашла свою заметку из 2017 года про обучение взрослых людей в IT и бедность форматов.
Прошло шесть и год саббатикала, чтобы я сама начала делать обучение взрослых людем иначе. Сначала курс #искусство_управления_качеством с Наташей, потом курс по тест-анализу с Дашей. А где-то в процессе этого еще и научилась основам проектирования образовательного опыта. И теперь могу либо сразу отказаться от того, что мне не подходит без ощущения собственной неправильности и негодности, либо подстраивать под себя и доводить до ума самостоятельно.
Искала пост для ZenTest и нашла свою заметку из 2017 года про обучение взрослых людей в IT и бедность форматов.
Прошло шесть и год саббатикала, чтобы я сама начала делать обучение взрослых людем иначе. Сначала курс #искусство_управления_качеством с Наташей, потом курс по тест-анализу с Дашей. А где-то в процессе этого еще и научилась основам проектирования образовательного опыта. И теперь могу либо сразу отказаться от того, что мне не подходит без ощущения собственной неправильности и негодности, либо подстраивать под себя и доводить до ума самостоятельно.
❤10❤🔥5🏆4
О чем вы хотите поговорить?
Один из эффектов когнитивной перегрузки для меня — пустота в голове. Но не приятная пустота, как после катания на велике, а скорее тревожная, когда сложно сконцентироваться и придумать что-то новое. Могу написать на какую-то тему, но к самой новые идеи не приходят( Это пройдет, когда я отдохну, но состояние достаточно муторное.
И одновременно, и общаться сложно, и общаться хочется.
Если вы хотели о чем-то меня спросить или задать вопрос, то самое время) Очень умного и структурированного не обещаю, а вот живого письма вполне.
#как_я
#тлен_и_усталость
Один из эффектов когнитивной перегрузки для меня — пустота в голове. Но не приятная пустота, как после катания на велике, а скорее тревожная, когда сложно сконцентироваться и придумать что-то новое. Могу написать на какую-то тему, но к самой новые идеи не приходят( Это пройдет, когда я отдохну, но состояние достаточно муторное.
И одновременно, и общаться сложно, и общаться хочется.
Если вы хотели о чем-то меня спросить или задать вопрос, то самое время) Очень умного и структурированного не обещаю, а вот живого письма вполне.
#как_я
#тлен_и_усталость
❤20💔3💊1