Как стать автором
Обновить

Как «готовить» вашего заказчика

Время на прочтение3 мин
Количество просмотров1.7K
Ваш проект это пьеса (надеюсь что не трагедия)

20.37 КБ

Какая цель вашей пьесы?
Цель — сделать счастливым заинтересованных лиц.
Meet stakesholders expectations.

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

Ваша работа это «make everyone a winner» [Boehm, 1989]. До тех пор пока происходит то, что ожидается — все счастливы. Наш CEO, умный дядька в очках, постоянно говорит: all you need is to make the customers happy. Он о заказчиках, вам же нужно думать и обо всех других.

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

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

Читать дальше →

Фрейминг для разработчиков

Время на прочтение9 мин
Количество просмотров6.1K
image

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

В разработке ПО тоже есть фреймы. И главный из них — бэклог. Этот фрейм подразумевает, что чем больше пунктов бэклога мы реализуем, тем большего успеха добьёмся. Однако из-за того, что разработчиков заставляют как можно быстрее создавать фичи, они начинают «срезать углы», халтурить, и это угнетает их. 

Исправить это можно, если перейти от бэклога к фрейму влияния вашего продукта на рынок и заказчиков. Компания станет успешнее, а разработчики — счастливее.
Читать дальше →

Сервер Modbus TCP для Simatic S7-1200 / S7-1500

Время на прочтение6 мин
Количество просмотров26K

Первая спецификация протокола Modbus была опубликова в 1979 году. Протокол предназначен для опроса подчиненных устройств по принципу «запрос-ответ». Modbus RTU (Remote Terminal Unit) работает по последовательному интерфейсу передачи данных (RS-232, RS-485, RS-422). Сегодня речь пойдет о немного измененном протоколе, Modbus TCP, работающий на прикладном уровне стека протоколов TCP/IP.

Для начала посмотрим, как настраивается (программируется, если быть точнее) серверная часть. Modbus TCP Server — аналог Modbus RTU Slave, то есть, является подчиненным устройством. Это важно, не путайте. Сервер лишь отвечает на запросы, но не генерирует их.

В данном примере применяется CPU S7-1516 с версией прошивки 2.6. Серия S7-1200 программируется аналогично.

Читать далее

Односторонние S7-коммуникации в Simatic. Как организовать обмен ПЛК-ПЛК, программируя и загружая только один ПЛК?

Время на прочтение5 мин
Количество просмотров25K

S7-соединения, применяемые для обмена информацией между устройствами серии S7-300, 400, 1200, 1500, являются конфигурируемыми. Это означает, что необходимо явно указать устройствам, кто с кем общается. В общем случае эти соединения являются двунаправленными (двухсторонними или же bilaterally), т.е. добавление конфигурируемого соединения происходит для обоих ПЛК, что приводит к необходимости прогрузки обоих ПЛК. Это не вызывает особенных проблем, если оба ПЛК находятся в ведомстве службы АСУТП предприятия, и для обоих ПЛК есть на руках актуальное прикладное ПО. Но встречаются и частные случаи — необходимо наладить обмен между «старым» S7-300 и «новым» S7-1500, причем, исходники старой программы утрачены. Ну, или эксплуатация просто боится трогать ПЛК. Или эксплуатации просто нет, задача организации обмена «висит» на интеграторе «новой» системы, что приводит к предыдущему условию — трогать ППО неизвестной системы никому особо не хочется.

Читать далее

5 инструментов для удаленной команды Automation QA

Время на прочтение4 мин
Количество просмотров6.9K

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

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

ДИСКЛЕЙМЕР: На самом деле у каждого инструмента есть как минимум по несколько альтернатив, выбор из которых может привести к знатному холивару. Если у вас есть свои соображения на тему "автор дурак, надо было брать не Х, а Y", приходите в комментарии!

Читать далее

Как проводить 1:1: гайд для разработчиков, а не менеджеров

Время на прочтение3 мин
Количество просмотров7.5K

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

Читать далее

Портал EmForge — платформа коллективной разработки

Время на прочтение3 мин
Количество просмотров907
Так получилось, что последние несколько лет мне приходится принимать участие исключительно в распределенных проектах. Руководство проекта в США, business owner во Франции, разработка в России и Бразилии, а тестирование в Китае — это нормальная ситуация. В таких проектах — очень важна грамотная организация коммуникаций. В разных проектах использовались разные системы. Идеала найдено не было, потому то и был написан собственный «неидеал»: EmForge Portal, который я и хочу сегодня представить, надеясь что кому-то он может оказаться полезным
EmForge
Читать дальше →

Обзор программ для командного голосового общения

Время на прочтение4 мин
Количество просмотров100K
image Проблема голосового общения в сетевых играх, будь то грандиозная MMORPG или простенький сетевой шутер, стоит очень остро. При активных действиях зачастую не хватает времени использовать встроенный в игру чат, а в большинстве случаев использование чата сильно усугубит вашу с напарником ситуацию перед другими игроками из-за расходования времени в пустую, если конечно ваши враги используют голосовое общение.

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

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

В этой статье я рассмотрю четыре самые популярные программы для голосового общения. Встречайте кандидатов — Ventrilo, TeamSpeak 2, TeamSpeak 3, Mumble. Некоторые из них платные, некоторые абсолютно бесплатны, а так же open source, что же, попробуем выявить лучшего кандидата. Изучению поддадутся такие качества «подопытных» как: поддерживаемые кодеки, поддерживаемые операционные системы, количество и доступность серверов, масштабирование, возможность поставить серверную часть у себя на dedicated server, алгоритмы улучшения звука и многое другое.
Читать дальше →

The Power of Email Marketing: Engaging Customers for Business Growth

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.3K


Email marketing has emerged as a vital tool for businesses to nurture customer relationships and drive growth. In this article, we will explore the immense potential of email marketing through personal experiences and examples from renowned companies. From personalization to segmentation, retargeting, and building anticipation, discover how these strategies can elevate your email campaigns and deliver remarkable results.

The Art of Personalization in Email Marketing:
Personalization is a key aspect of successful email marketing. Take, for example, Amazon's tailored recommendations and exclusive offers. By delivering personalized content that matches customers' preferences and interests, Amazon creates a sense of exclusivity and fosters customer loyalty. In my own experience, implementing personalization in email campaigns resulted in increased open rates, click-through rates, and conversions. It's clear that customers appreciate the effort put into crafting messages specifically for them.

Read more

SMM для бизнеса в 2022

Время на прочтение15 мин
Количество просмотров3K

Привет! Меня зовут Ксения Потапова, и я – SMM & Community Team Lead в одном из проектов, над которым работает Каруна. Моя команда занимается развитием брендовых сообществ. Мы выбрали не самый типичный фокус для SMM – это retention. Для нас, безусловно, важно, чтобы аудитория бренда расширялась и знакомилась с ним через каналы,но сделали ключевой задачей социальных сетей удержание и вовлечение текущей клиентской базы ещё до того, как COVID сделал это трендом бизнеса.

Social media  сейчас буквально везде: сделать покупку чего угодно из любой точки мира, заказать услуги и найти специалистов, пройти мастер-класс по игре на укулеле, узнать о марафонах желаний и тут же о них забыть. Пандемия только усилила запросы аудитории на эти площадки и их возможности. В соцсетях сидят более 53% населения всего мира (We are social&Hootsuite report), поэтому свою ЦА в них точно найти сможет любой бизнес.

Вспомните, сколько ваших знакомых стали вести TilTok в первую волну карантина, и как активно в нем стали развиваться бренды? 

Мы в Каруне, как и многие тогда, ушли на удалёнку и прошли все стадии принятия: от онлайн-квизов и кулинарных мастер-классов до Нового года в онлайне. Потом ситуация волнами менялась, мы частично возобновили работы в офисе. И когда поняли, что не можем больше держать в себе, как у нас весело живётся, несмотря ни на что — пошли покорять TikTok. Если вы ещё не знаете, как правильно посвящать новичков в IT-шники, что с ними делается, когда они переходят в Senior-ы и почему спальня в офисе — это прям must have, очень рекомендую посмотреть. 

Читать далее

Кнопочное мышление против целостного IT-продукта

Время на прочтение10 мин
Количество просмотров54K

Эта статья — выражение моей личной боли. Кнопочные решения портят мне жизнь, я трачу время на споры и обоснования.



Когда мы общаемся с коллегами, заказчиками или пользователями, я использую фразу «кнопочное мышление». Что я имею ввиду под этим термином? Текущая статья — развернутый ответ на этот вопрос.



Синонимами кнопочного мышления я считаю «экранное мышление» или преждевременную концептуализацию. Я раскрою мышление кнопками на десятке примеров из практики. А здесь для начала история, которая наверняка случалась с каждым. Представьте к вам приходят и рассказывают о падении конверсии на сайте. А вы ему сразу: «Давайте кнопку покупки сделаем побольше и поярче!». Что произошло? В бизнесе возникла проблема. Вместо погружения в детали, вместо исследования причин, вы играете с размерами кнопки. Вот в таких случаях я говорю о кнопочном мышлении.



Для тех, кто любит смотреть, а не читать, есть видео и слайды.


Читать дальше →

The art of prioritization in product management

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров6.6K

Product management runs on choices. What to develop next, what to put on hold, and what to discard altogether. Getting these choices right steers products toward success. It's more than just a list; it's understanding needs, managing resources, and aligning with the company vision. Prioritization is, without a doubt, a major skill for any product manager.

For most of us, the daily challenge is juggling plenty of tasks, features, and stakeholder requests. But not all demands carry the same weight. It's easy to get swayed by the loudest voice in the room or the most recent email in the inbox, but these aren't necessarily what the product or the users need most urgently.

To get it right in product management, we need the right tools and approaches. Let's see what it takes to nail prioritization.

Key challenges in prioritization

As I noted before, in product management, facing various and often unpredictable challenges is part of the job. However, deciding which tasks to prioritize can be especially confusing, and here are a few factors to consider.

1. Changing customer demands: Customers are the heart of any product, and their needs and desires can evolve rapidly. One day, a feature might be all the rage; the next, it's old news. For instance, a messaging app might find its users clamoring for dark mode due to its increasing popularity across platforms. Adapting to these shifting demands requires constant observation and a readiness to pivot.

2. Evolving market trends: The broader market can influence product decisions as much as individual user feedback. If there's a sudden surge in voice-activated technologies, products that don't incorporate voice features might find themselves left behind. Staying attuned to the market means continuous research and the agility to tweak your product roadmap accordingly.

Read more

Как отправить сообщение почти любому человеку в LinkedIn

Время на прочтение3 мин
Количество просмотров14K

Самый популярный способ поиска работы — используя профессиональную сеть LinkedIn. На западном рынке именно эта сеть стала основным инструментом для поиска деловых контактов и расширения нетворка. Большинство компаний используют LinkedIn для поиска сотрудников. Это основной (и зачастую единственный) инструмент, которым пользуется рекрутер при поиске кандидатов.

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

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

Читать далее

Как UX ресерчеру найти ключ к сердцу РО? Step by step

Время на прочтение8 мин
Количество просмотров739

Как UX ресерчеру найти ключ к сердцу РО? Step by step

О том как UX-эксперту выстроить качественную коммуникацию с продактом и с какими проблемами вы можете столкнуться.

Вот это да! Читать

Руководство разработчика Prism — часть 9, взаимодействие между слабо связанными компонентами

Время на прочтение16 мин
Количество просмотров19K
Оглавление
  1. Введение
  2. Инициализация приложений Prism
  3. Управление зависимостями между компонентами
  4. Разработка модульных приложений
  5. Реализация паттерна MVVM
  6. Продвинутые сценарии MVVM
  7. Создание пользовательского интерфейса
    1. Рекомендации по разработке пользовательского интерфейса
  8. Навигация
    1. Навигация на основе представлений (View-Based Navigation)
  9. Взаимодействие между слабо связанными компонентами

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

При построении модели взаимодействия между модулями, необходимо знать отличия между подходами, чтобы знать, какой из них применить в конкретном сценарии. Библиотека Prism предоставляет следующие подходы:

  • Использование команд (Solution commanding). Используйте для реагирования на действия пользователя.
  • Контекст региона (Region context). Используйте для передачи контекстной информации от host-элемента управления к представлениями в регионе. Этот подход в некотором роде аналогичен DataContext, но не полагается на него.
  • Общие службы (Shared services). Вы можете вызвать метод на сервисе, который, в свою очередь, сгенерирует событие, на которое могут быть подписаны получатели. Используйте этот подход в том случае, если все остальные подходы не применимы.
  • Агрегация событий (Event aggregation). Для передачи сообщений между моделями представлений, презентерами, или контроллерами при отсутствии ожиданий о непосредственной реакции на сообщение.

Читать дальше →

Slack блокируют! Переходим на Rocket.Chat!?

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров6K

В ближайшее время пользователи в России столкнутся с окончательной невозможностью использовать популярный корпоративный мессенджер Slack. Представители сервиса анонсировали полную блокировку всех аккаунтов российских пользователей из-за вступления в силу новых масштабных американских санкций.  На что перейти? Мы предлагаем посмотреть в сторону Rocket Chat.

Читать далее

Связь между C# и C#: REST, gRPC и все, что между

Время на прочтение10 мин
Количество просмотров36K
Существует много способов связи между клиентом C# и сервером C#. Некоторые из них надежные, другие нет. Некоторые очень быстрые, другие нет. Важно знать различные варианты, чтобы вы могли решить, что лучше для вас. В этой статье будут рассмотрены самые популярные на сегодняшний день технологии и почему они так широко используются. Мы поговорим о REST, gRPC и всем, что между ними.
Читать дальше →

Бинарный формат вместо текста

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров5.4K

Как быстро, без боли и страданий организовать хранение структурированных данных в бинарном формате. А затем и их передачу при необходимости. А потом, немного подумав, ещё их обнаружение в «замусоренном» потоке.

Читать далее
1