Русский
Русский
English
Статистика
Реклама

Управление проектами и командой

Recovery mode Спецификация классификации методологии безопасной разработки

20.11.2020 04:16:11 | Автор: admin

Аннотация


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


Исследование рассматривается со стороны коммерческого сектора и самых эффективных форматов безопасной разработки. Исследование рассматривается с применением в практической части данных вариатив и их специфик в целом, и частном формате. Целью данной статьи является передача опыта и аналитика данных применяемых методологий, методов и средств разработки в защищенном исполнении. В статье представлен анализ, соответствующий разбор действующего рынка, законодательства, в части касающейся разработки информационных систем и сред в защищенном исполнении, которая именуются также как безопасная разработка, и которая с каждым днем набирает "критическую массу" популярности в различных отраслевых компаниях из-за ужесточения рекомендаций и требований регуляторов ИБ [1].


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


Введение


Данная статья базируется на принципах и процессах автоматизации ИС и сред организации, где рассматривается вопрос со стороны личной практики как руководителя, так и разработчика. В статье представлено практическое оценочное мнение и его эффективность. Частично статья касается вопроса со стороны OWASP TOP 10, но акцент на этом будет поставлен в последующих статьях. Стоит отметить, что не рассматривается практика сертификации, аттестации, выполнении требований опытных лабораторий, проектирования ПО по ПП РФ 608, включая приказ ФСТЭК России 55 и иных документов по безопасной разработке в данном направлении. Рассматривается формат представления универсальных характеристик разработки в безопасном исполнении, автоматизации, оптимизации, масштабируемости, адаптации БП (бизнес процесс), в формате ГОСТ Р 56939.


В коммерческом секторе РФ отсутствует установленное понятие для всех ветвей организации управления организации, в сфере прямо или косвенно касающихся IT и смежных с данными подразделений, такого как: ИС (информационная система) и среда. В том числе отсутствует понимание ее классификации в целом и частном порядке. В общепринятом представлении на рынке в потребительской сфере также отсутствует понимание построения структуры и непосредственно семантики работы ИС и сред. Данный общепринятый формат объясняется следующим образом, что методы, средства и методологии разработки по созданию, оптимизации, масштабируемости, итерационной интеграции, введению в промышленную эксплуатацию каноничны, во всем промежутке времени, которые парраллелелись по различным специфичным и обособленным между собою направлениям с применением разного рода подходов и методов для их реализаций. В последствии чего стали возникать угрозы, риски и последствия инцидентов для организаций, которые занимались обработкой, хранением информации, в том числе остро возник вопрос по ОИБ (обеспечение ИБ) информации: целостности, доступности, конфиденциальности. Этот вопрос также будет разобран отдельно в следующих статьях, где стоит отметить, что важнейшим аспектом стало на сегодня ОИБ КИИ РФ, также отдельно взяло направление по оценке рисков и инцидентов, в формате СУИБ (система управления информационной безопасности) и многое другое. В последствии данных форматов и форм-факторов возник вопрос безопасной разработки в организациях, где направление стало развиваться в геометрической прогрессии и набирать экспоненциальные обороты.


Информация и ИС в безопасной разработке


Приведем ИС в автоматизированном исполнении по типам, которые имеются на сегодняшний день и в связи с которыми разрослись методы, средства и методологии их реализации в разработке, проектировании и прототипировании, а именно:


  1. Автоматизированные системы управления:
    1.1. Техническими процессами;
    1.2. Предприятием;
    1.3. Производством.
  2. Системы автоматизированного проектирования и расчета, проектирования технологических процессов;
  3. Автоматизированные системы научных исследований;
  4. Автоматизированные системы обработки, передачи данных и БД, такие как:
    4.1. Автоматизированные информационно-поисковые системы;
    4.2. Автоматизированные системы информационно-терминологического обслуживания.
  5. Автоматизированные информационные системы, представляющие из себя агрегаторы информации;
  6. Автоматизированные системы технологической подготовки производства;
  7. Автоматизированные системы контроля и испытаний;
  8. Автоматизированные комплексные системы, методологические функциональные возможности специфик предприятий;
  9. Автоматизированные информационные системы общего назначения;
  10. Автоматизированные системы научно-технологической формации, оптимизации и сведения;
  11. Автоматизированные системы нормативно-правовой документации, нормативно-методического и методологического обеспечения управления предприятием;
  12. Автоматизированные обучающие системы организации;
  13. Автоматизированные системы виртуальной реальности;
  14. Автоматизированные профессионально ориентированные системы, экономические информационные системы, такие как:
    14.1. Бухгалтерские;
    14.2. Банковские;
    14.3. Рынка ценных бумаг;
    14.4. Маркетинговые;
    14.5. Продажные.
  15. Автоматизированные информационные системы профильного назначения по БП организаций.

Исходя из приведенного формата стоит дать определение термина информация, применяемого в безопасной разработке, касательно АИС (автоматизированная информационная система) в отношении действующего законодательства РФ, а именно:


  1. Это совокупность сведений, не зависимо от их формы, которые представляют из себя формализованный или не формализованный вид сообщения в независимой и ликвидной, либо не ликвидной форме;
  2. Это система комбинирования взаимодействующих элементов, организованных и структурированных форматов для достижения определенных поставленных целей и задач [2-5].

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


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


С точки зрения ФЗ РФ 149 с изменениями и дополнениями, приводится следующее определение, такое как: Информационная система это совокупность содержащейся в базах данных информации и обеспечивающих ее обработку информационных технологий и технических средств. Следовательно, отметим, что ИС представляется как прикладная подсистема, которая ориентирована на сбор, хранение, поиск и обработку текстовой или фактографической информации, работающая в режиме диалога с пользователем.


Далее отметим универсальные характеристики для безопасной разработки ИС, такие как:


  1. Основное назначения функционирования: сбор, хранение и обработка информации;
  2. Нацеленность функционирования АИС под потребительские нужны и цели, при необходимости реализации: объединения и распараллеливания функциональных возможностей АИС на подразделения и структуры, непосредственно самой организации;
  3. Представление проектирования интерфейса, в том числе соотношения UI/UX, прикладного программно-аппаратного обеспечения, как принцип минимальной содержательной достаточности для представление реализации взаимодействия функционирования АИС с исключением эксплуатационной возможности НДВ (не декларированных возможностей), в целом и частном.

Общая спецификация методологий по безопасной разработки ПО


Под спецификацией методологии понимается объединение перечня средств и методов, применяющихся в специфике деятельности организации, со стороны теории и практики разработки, включая прототипирование. Методологией является формат объединения методов, средств и технологий, применяющихся во время всего жизненного цикла процесса разработки и прототипирования ПО в организации. Данный формат является совокупностью практически выработанного и действующего формата в узконаправленной специфике организации для всей программно-аппаратной части и комплекса в целом. Следовательно стоит отметить, что также под методологией безопасной разработки ИС понимается организация процессов прототипирования и выстраивания ИС и сред, таких как: обеспечения управления процессами для гарантированного выполнения ТТ, ТЗ и реорганизации процессов [6-10].


Приведем список-перечень задач для достижения обеспечения действенности методологии безопасной разработки ИС и среды, состоящей из:


  1. Представления разработки и внедрения в промышленную эксплуатацию АИС, отвечающей целевым нуждам и спецификации по политикам работы организаций, в том числе ТТ и законодательных актов РФ, а также внутренних политик организаций и предъявленных к ним требований;
  2. Предоставления гарантий выполнения требований действующих регуляторов из специфики организации и приложений на разработку и интеграцию АИС с заданными параметрами, относительно ТТ и ТЗ в течение утвержденного календарного плана, а также оговоренного бюджета на разработку. Данный формат также может рассматриваться исходя из применяемых методов разработки ПО;
  3. Представления сопровождения технической и методологической части обучения, также модификации и масштабирования системы для обеспечения соответствия целевых нужд организаций, в том числе формата поддержания S.M.A.R.T.;
  4. Представления обеспечения разработки и внедрения в промышленную эксплуатацию АИС, отвечающей требованиям оптимизированности, переносимости, масштабируемости, адаптивности;
  5. Представления возможности вариативного использования в АИС разработанных средств и методов в программно-аппаратном обеспечении, СУБД, СУИБ и тому подобное. Отметим, что данный формат зависит от политик применяемых организацией, а также ее сферы деятельности.

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


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


  1. Классификацию по ядрам методологий, в которой утверждается, что имеет место быть ядру методологии с методами, которые уточняются дополнительными особенностями, а сами ядра определяются способами описания их алгоритмов, где к ним соотносятся:
    1.1. Методология императивного программирования, которая характеризуется принципом последовательного изменения состояния операнд итерационным образом, ориентированная на классическую модель Джона фон Неймана, получившей широкое практическое и теоретическое применение, с такими концепциями как:
    1.1.1. Метод последовательного изменения состояний, поддерживаемый концепцией алгоритма;
    1.1.2. Метод потокового управления на исполнение, в итерационном контроле.
    1.2. Методология объектно-ориентированного программирования (ООП), которая использует объектные декомпозиции. Отметим, что статическая структура ИС и сред описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами, как в UI/UX и системном программировании. Пример: инкапсуляция, то есть абстрактный тип данных, его наследование и полиморфизм, с применение таких методов как:
    1.2.1. Метод объектно-ориентированной декомпозиции, который заключается в выделении объектов и связей между ними, поддерживающийся концепциями инкапсуляции, наследования и полиморфизма;
    1.2.2. Метод абстрактных типов данных, который лежит в основе инкапсуляции, поддерживающийся концепцией абстрагирования;
    1.2.3. Метод пересылки сообщений, который заключается в описании поведения системы в терминах обмена сообщениями между объектами, поддерживаемый концепцией сообщения.
    1.3. Методология функционального программирования как способ составления программно-аппаратной части, в которой единственным действием является вызов функции, как вариативы, то есть способа расчленения программно-аппаратной части на отдельные сектора, где имеет место быть формат введения имени для функции и задания для него вычисляющего значения, применяемый с такими методами концепций как:
    1.3.1. Метод аппликативности, где: программно-аппаратная часть есть выражение, которое подставлено из функции к аргументу, состоящему из определения функции, представляющей собой вызов от другой функций и вложенной друг в друга, поддерживается концепцией функции;
    1.3.2. Метод рекурсивного поведения, который заключается в самоповторяющемся поведении, то есть возвращающемуся к самому себе, поддерживается концепцией рекурсии;
    1.3.3. Метод настраиваемости, который заключается в порождении новых программных объектов по специальному образцу, где значения соответствующих выражений применяется как порождающая функция к параметрам образца [11].
    1.4. Методология логического программирования, где программно-аппаратная часть содержит описание проблемы в терминах фактов и логических формул, а решение проблемы ИС и среды выполняется с помощью механизмов логического вывода, где применяются такие методы и концепции как:
    1.4.1. Метод единообразия, где используется применение механизма логического доказательства ко всей программе;
    1.4.2. Метод унификации, то есть механизм сопоставления с образцом для создания и декомпозиции структур БД.
    1.5. Методология программирования с ограничениями, при котором в ПО определяется тип данных для его решения, где предметная область шифруется на соответствующие ограничения значений искомого решения, которая находится в ИС и средах. В данной методологии предлагается двухуровневая архитектура, которая интегрируется как компонент ограничения программно-аппаратного компонента. В данном формате подразумевается описательная модель вычислений, где программа содержит описание понятий и задач в формате поддерживания концепции модели.
  2. Классификацию по топологической специфике самой методологий то есть форм-факторы топологии на базе методологии со способностью выбора самих методов для получения уточненного ядра, с такими методами и концепциями как:
    2.1. Последовательная декомпозиция алгоритма решения задачи сверху вниз в итерационной детализации, которая начинается с общей задачи и обеспечивает ее структурированность, которая поддерживается концепцией алгоритма;
    2.2. Метод модульной организации частей программы, где происходит разбиение программы на специальные компоненты, которые поддерживаются концепцией модуля;
    2.3. Использование структурного кодирования, где используется кодирование трех основных управляющих конструкций, которые поддерживаются концепцией управления.
  3. Классификацию по реализационной специфике методологии, где применяется использование каждого из ядер методологии с конкретной спецификой. В данной классификации определяется некоторая организация аппаратной поддержки, такая как: централизованная или параллельная, использующаяся для централизованных архитектур;
  4. Классификацию по смешанной методологии, которая включает объединение методов нескольких методологий, таких как методологии функционального и логического программирования;
  5. Классификацию по идейной задумке Петрова В.Н.: "Технологии разработки программного обеспечения", являющейся методологией RAD (Rapid Application Development). Данная методология носит наименование методологии быстрой разработки приложений. Целевая предпосылка в области инструментальных средств быстрой разработки приложений основана на таких элементах как:
    5.1. Объёмное положение разработчиков, которые разрабатывают АИС со всей спецификой и вариацией относительно ТТ, ТЗ. Например: минимальная группа разработчиков, представляет из себя от 2 до 10 человек, для большей части вариатива, может достигать до 100 разработчиков, такая специфика прослеживается в основном в игровой индустрии;
    5.2. Тщательная проработка производственного графа работ кадрового состава организации, его оптимизации и управления над ним, так же влияющий на календарный план разработки и прототипирования. Данный граф по временным отрезкам представляется от 2 до 6 месяцев, в среднем, но все зависит от целевых нужд организации для АИС, согласно ТТ и ТЗ.

Следует отметить, что приведенные методологии позволяют обеспечить безопасную разработку в организации по всем БП, что в свою очередь облегчит функционирование организации и управления кадровым составом, а это позволить повысить рентабельность и ликвидность конечного продукта. Данные форматы являются опосредованными и целостным, где позволят предотвратить методы и меры по OWASP TOP 10, что снизит риски и шансы возникновения инцидентов, а также их расследований по семейству ISO/IEK 27000.


Принципы выбора методологий в безопасной разработке


Исходя из приведенных методологий и адекватного подхода руководящего состава можно сэкономить финансы организации, а также оптимизировать все процессы внутри и вне организации, что также относится к выполнению рекомендаций и требований регуляторов в ИБ. Если рассматривать вопрос со стороны противодействия злоумышленникам, это также позволит минимизировать все возможные риски конечного продукта, но есть обратная сторона "медали", когда "бизнес" делает упор на скорость и принимая критичные риски для продукта, что в свою очередь показывает нынешнюю практику разработки продуктов на рынке РФ. Отмечу, что иностранные коллеги привыкли ставить "во главу" ИБ и минимизацию рисков связанных с утечкой конфиденциальной информации на всех этапах жизненных циклов. По описанному формату имеются определенные принципы при выборе методологий в организациях для разработки и прототипирования ПО.


Следовательно, первоочередно стоит привести классическую (каноническую, монументальную) методологию, которая применяется исходя из наличия следующих принципов, таких как:


  1. Четкое понимание необходимого и конечного функционала, дизайна, прототипа интерфейса UI/UX и всей грядущей разработки АИС, то есть присутствует детализация специфики АИС. Стоит отметить, что она является четко регламентированной, с конечным конкретным ТЗ и ТТ, где описано: что и как должно работать;
  2. Формализованные целевые нужды конечного потребителя, тогда когда разработчики и руководящий состав, включая Заказчика представляют четкую "картину" в документированном виде, то есть: создается подробное ТЗ, где данная дефиниция регламентируется полноценным процессным состоянием каждого элемента в АИС, которая также содержит полноценное описание в цикле по специализированным алгоритмам, включая детализацию по UI/UX;
  3. Конечные требования к АИС являются стабильными, вследствие чего потребитель не дополняет условий по изменению функциональности АИС во время ее разработки, модернизации, исключая возможный формат блочного масштабирования в рамках текущих отношений;
  4. Представление итерационного процесса в формации аналитики, где проектирование и разработка ТЗ строго линейно.

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


Приведем далее более гибкую адаптивную методологию, которая применяется по следующим принципам, таким как:


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

Приведенная методология позволяет спрогнозировать разностороннюю вариативность при разработки и прототипировании продукта, исходя из общего формата различных пользовательских кейсов, в том числе со стороны злоумышленник по типу: "а как бы это сделал я?". Методология позволяет предопределить возможные вариативные изменения в процессе разработки и контролировать итерационность получаемого продукта, что позволяет "бизнесу" контролировать риски, в том числе со стороны финансирования организацией. Отмечу, что приведенные принципы схожи с возможностью изменения продукта исходя из метрик при анализе для "бизнеса", что позволяет в процессе разработки контролировать все жизненные циклы и процессы версионности продукта, в том числе монетизирования. Этот формат подходит для долгосрочных продуктов, которым необходимо иметь возможность постоянной монетизации и частично быть конкурентноспособными исходя из максимизации перекрытия спроса предложением [12].


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


  1. Manifest for Agile Software Development, который был разработан с целью альтернативного решения в плане использования канонической методологии для разработки ПО и поддержания максимизации выходных параметров для продукта из ресурсов организации;
  2. SCRUM реализуемая посредством создания "резервирования свойств системы", под резервом свойств понимается набор функциональных систем, которые необходимы для реализации, а функции описываются с помощью пользовательских сценарных подходов. Отличительная черта данной методологии представляется как проведение ежедневных митингов и обсуждений, которые называются stand-up, где в ходе совещания задаются каждому разработчику вопросы, такого типа:
    2.1. Что удалось выполнить для решения той или иной итерации за день?
    2.2. Какие были проблемы в моменте реализации?
    2.3. Что и как планируется сделать за сегодняшний день?
    2.4. Как происходит интеграция и оптимизация ПО в данном интервале?
    2.5. Иные виды вопросов исходя из практики организации.
  3. Экстремальное программирование: eXtreme Programming, XP, которое обладает простотой решения, интенсивной разработкой малыми группами состава разработчиков, спецификой активного общения, где также "бизнес" напрямую вовлечён в процесс разработки;
  4. Семейство методологий Crystal разработанная Алистером Коберном, который рассматривал процесс разработки как конечную целенаправленную игру, где утверждается, что у этой игры есть следующие цели, такие как:
    4.1. Основная цель, которая заключается в успешном закачивании разработки проектной части и внедрении в промышленную эксплуатацию;
    4.2. Вспомогательная цель, которая представляется в подготовке к следующей игре, для которой необходима определенного рода документация для разработки в виде оптимизированного и адаптированного исходного кода. Данная вариатива облегчает последующее масштабирование, а также поддержку продукта и тому подобное.
  5. Адаптивная методология, под наименованием: Adaptive Software Development, ASD это альтернатива традиционного ориентирования на процессы, посредством методов управления разработкой, где результат представляется как минимизация процессов при максимальном увеличении взаимодействий между людьми. Также данная методология базируется на принципах непрерывной адаптации, где постоянные вариативные изменения в проектной части становятся нормированной практикой. В данном случае жизненный процессный цикл: "Планирование Проектирование Конструирование" изменен на более адаптивный и динамичный, такой как: "Обдумывание Взаимодействие Обучение;
  6. Функционально-ориентированная разработка, под наименованием: Feature Driven Development, FDD, где та или иная функция реализовывается за две недели, если даже сценарии использования являются достаточно малыми, которые включают пять основных процессов:
    6.1. Разработка общих моделей;
    6.2. Составление списков необходимых функций для ПО;
    6.3. Планирование исполнительных работ над функциями;
    6.4. Проектирование самих функции;
    6.5. Конструирование самих функции.

Отмечу, что данные манифесты являются применимыми, но не всегда корректно, так как имеется практика введения только положительных методов из них, а не полноценного формата контроля и управления, где руководящий состав организации считает, что это будет наиболее эффективно, нежели чем процесс полноценной интеграции конкреной системы, что приводит к не корректному взаимодействию внутри команды и процесса разработки дающего только отрицательный характер влияния на "бизнес". Для безопасной разработки ПО считаются важными данные аспекты методологии, управления, разработки и проектирования, так как они позволяют решить подавляющую часть проблем связанных с рисками и инцидентами ИБ, в том числе выполнить и перекрыть требования, и рекомендации регуляторов ИБ и обезопасить конечный продукт, а также "бизнес". В том числе учитываются специалисты по PenTest, DevSecOps и так далее, так как профильные специалисты с опытом смогу предоставить ОИБ организации [13-15].


Выводы


Стоит отметить, что разработка и проектирование ПО при безопасной разработке основывается на базе функциональности ИС и совокупных сред, спроектированных относительно конечного ТТ и ТЗ. Также не мало важно понимание руководящего состава организации в обоснованности и целях безопасной разработке, где весомым показателем в данной ситуации являются оценочные метрики бизнеса в отношении рисков, которые фокусируются на целевых функциях ПО для монетизации. Данные функции разрабатываются и интерпретируются на вывод в необходимом количественном и качественном формате сведений, посредством представленных систем и подсистем в СУИБ, а не в процессе их верификационного построения.


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


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


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


P.S.: если ставите минус, прокомментируйте, пожалуйста, дабы в будущем мне не допускать подобных ошибок.


Литература

[1] Федеральный закон Об информации, информационных технологиях и защите информации 149 ФЗ от 27 июля 2006 года;
[2] ГОСТ Р 6.30-2003 Унифицированная система организационно-распорядительной документации;
[3] ГОСТ Р 7.0.8.-2013 "Делопроизводство и архивное дело Термины и определения";
[4] ГОСТ 6.10.4-84 Придание юридической силы документам на машинном носителе и машинограмме, созданным средствами вычислительной техники;
[5] ГОСТ 6.10.5-87 Унифицированные системы документации. Требования к построению формуляра-образца;
[6] Доктрина информационной безопасности;
[7] Федеральный закон от 21 июля 1993 года 5485-1О государственной тайне;
[8] О закрытом административно-территориальном образовании;
[9] Астахова Л.В. Теория информационной безопасности и методология защиты информации: методическое пособие / Л.В. Астахова. Челябинск: Изд-во ЮУрГУ, 2007. 359 с.;
[11] Юдин, Э.Г. Методология науки. Системность. Деятельность / Э.Г. Юдин. М.: Эдиториал УРСС, 1997. 246 с.;
[12] Князева Т. Отечественные системы автоматизации делопроизводства;
[13] Комарова А.В., Менщиков А.А, Коробейников А.Г. Анализ и сравнение алгоритмов электронной цифровой подписи ГОСТ Р 34.10-1994, ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012// Вопросы кибербезопасности. 2016. 1 (19). С. 51-56;
[14] Боровский А. С., Ряполова Е. И Построение модели системы защиты в облачных технологиях на основе многоагентного подхода с использованием автоматной модели;
[15] Захаренков А.И., Бутусов И.В., Романов А.А., Степень доверенности программно-аппаратных средств как показатель качества замещения импорта // Вопросы кибербезопасности. 2017. 4 (22). С. 2-9.

Подробнее..

Организация рабочего процесса в команде на IT проекте

21.10.2020 14:12:03 | Автор: admin
Привет друзья.

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

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

В свое время я как раз и попал на такой проект, где были все эти прелести.

Никто не хотел брать на себя ответственность за проект (большой сервисный маркетплейс), текучка была страшная, заказчик просто рвал и метал. СЕО как-то подошел ко мне и сказал, что ты имеешь нужный опыт так вот тебе и карты в руки. Забирай проект себе. Облажаешься, проект закроем и всех выгоним. Получится, будет круто, тогда веди его и развивай, как считаешь нужным. В итоге я стал тимлидом на проекте и все легло на мои плечи.

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

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

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

Поскольку на моем проекте это работает, то может быть кому-то это также сможет помочь. Итак, сам процесс, который помог нам спасти проект:

Процесс работы команды на проекте Мой любимый проект


a) Внутри командный процесс (между разработчиками)

Все задачи создаются в системе Jira

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

Любая фича, если она достаточно сложная, разбивается на много мелких тасок

Команда работает над фичами, как единой таской. Вначале делаем все вместе одну фичу, отдаем ее на тестирование, затем берем следующую.

Каждая задача маркируется, для бэкенда или фронтенда она

Есть типы тасок и багов. Нужно верно их указывать.

После выполнения задачи она переводится в статус ревью кода (при этом создается пулл реквест на своего коллегу)

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

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

Все задачи, готовые к деплою на дев сервер, деплоятся тимлидом (его зона ответственности), иногда членом команды, если что-то срочное. После деплоя все таски с готова к деплою на дев переводятся в статус готова к тестированию на деве

Все задачи тестирует заказчик

Когда заказчик протестировал задачу на деве, он переводит ее в статус готова для деплоя на прод

Для деплоя на прод мы имеем отдельную ветку, куда мержим мастер только перед деплоем

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

В итоге все задачи проходят путь от создания до завершения: To Do In Development Code Review Ready deploy to dev QA on dev (Return to dev) Ready deploy to prod QA on prod Done

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

У каждой задачи есть приоритеты. Приоритеты расставляет либо заказчик, либо тимлид.

Разработчики в первую очередь выполняют приоритетные задачи.

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

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

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

Каждый день в одно и то же время (у нас это в 12.00) мы проводим митинг между всеми членами команды

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

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

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

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

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

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

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

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

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

Спринты создает, наполняет и закрывает тимлид.

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


б) Процесс работы с заказчиком

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

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

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

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

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

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

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

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

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

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

Перед тем, как взять в работу любую задачу, мы должны удостоверится, что эта фича входила в условия нашего договора/контракта. Если это новая фича, которая выходит за пределы наших первоначальных договоренностей, то мы обязательно должны заэстимейтить эту фичу ((примерное время выполнения + 30%) х 2) и указать заказчику, что у нас уйдет столько-то времени на нее, плюс дедлайн смещается на время эстимейта помноженное на два. Сделаем задачу быстрее замечательно, все от этого только выиграют. Если нет, то мы подстраховались.

в) Что мы не приемлем в команде:

Необязательность, несобранность, забывчивость

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

Бровады и похвальбы от человека, который не доказал еще делом свои возможности и профессионализм. Если доказал, то можно, в рамках приличия :)

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

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

Токсичность в команде не допускается! Если кто-то с чем-то не согласен, то все вместе собираются на митинг и это обсуждают и решают.

________________________________________________________________________________

И еще ряд вопросов/тезисов, которые я иногда задаю своему заказчику, чтобы снять все недопонимания:

1. Какие у вас критерии качества?
2. Как вы определяете есть ли в проекте проблемы или нет?
3. Нарушая все наши рекомендации и советы по изменению/улучшению системы, все риски несете только вы
4. Любые мажорные изменения проекта (например, всевозможные экста флоу) будут приводить к возможному появлению багов (которые мы будем, естественно, фиксить)
5. Невозможно в течении пары минут понять, что за проблема произошла на проекте, а тем более тут же ее пофиксить
6. Мы работаем по конкретному продукт флоу (Таски в Жира Разработка Тестирование Деплой ). А значит мы не может реагировать на весь поток просьб и жалоб в чате
7. Программисты являются именно программистами, а не профессиональными тэстировщиками, и не могут обеспечить надлежащее качество тестирования проекта
8. Ответственность за конечное тестирование и прием задач на проде лежит полностью на вас
9. Если мы уже взяли в работу задачу, то не можем сразу же переключаться на другие, пока не доделаем текущую (иначе это приводит к еще большим багам и увеличению времени разработки)
10. Людей в команде стало меньше (по причине отпусков или болезней), а работы стало больше и мы физически не успеем реагировать на все, что вы хотите
11. Просьба с вашей стороны сделать деплой на прод без протестированных задач на деве это только ваши риски, а не разработчиков
12. Когда вы ставите нечеткие задачи, без корректного флоу, без макетов дизайна, то это требуюет от нас намного больших усилий и сроков реализации, так как нам вместо вас приходиться делать дополнительный объем работы
13. Любые таски по багам, без детального описания их возникновения и скриншотов, не дают нам возможности понять, что пошло не так, и как нам сэмитировать этот баг
14. Проект требует постоянной доработки и улучшений для повышения производительности и безопасности. Поэтому команда тратит часть своего времени на эти улучшения
15. По причине того, что у нас бывают переработки по часам (срочные фиксы), то мы должны их компенсировать в другие дни

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

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

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

Исходник в моем блоге: https://cleverman.org/post/organizaciya-rabochego-processa-v-komande-na-it-proekte
Подробнее..

Из песочницы Веб-разработка с нуля руководство для молодых команд по созданию инфраструктуры CICD и процесса разработки

04.11.2020 16:22:09 | Автор: admin

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


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

Внутренний перфекционист жаждал организовать всё правильно. Делюсь результатами поисков ответа на вопрос: а как, собственно, правильно?


Мы добились


  • Легкого и быстрого деплоя в production (ради эксперимента выводили каждый день две недели подряд);
  • Гарантию защищённости от ошибок из-за различий в окружении приложения;
  • Можем организовать эффективное взаимодействие с заказчиком:
    • демонстрировать каждую feature-ветку;
    • давать гостевой доступ для создания задач и наблюдения над ходом работ.

Данная статья будет полезна, если вы:


  • начинающая IT-компания или в первый раз столкнулись с работой в команде над большим проектом;
  • хотите обновить свой устаревший процесс разработки (workflow);
  • ищете лучшие практики и хотите посмотреть, как у других;
  • часто натыкаетесь на статьи про DevOps, CI/CD, облака и хотите, чтобы у вас одним нажатием кнопки создавались тестовые окружения, а очередное обновление прода не было рулеткой.

Под катом вы найдёте


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


Статья состоит из трех частей:


  • Моё видение типичного процесса разработки;
  • Инфраструктура для реализации любого современного рабочего процесса;
  • Кейс для веб-разработки.

Поиск информации, актуальность вопроса


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


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


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


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


Итак, приступим.


Вам понадобится:


  • Наличие каких-либо мощностей в распоряжении. Может быть свой сервер, а может быть и облачная инфраструктура;
  • Знание вашего приложения, как оно работает, как сейчас разворачивается;
  • Базовые знания сетей, git, Linux, Docker, GitLab, Traefik.

Типичный процесс разработки


Обязательные составляющие


1. Работа по классической модели в git



A successful Git branching model by Vincent Driessen


Необходимый минимум иметь ветки: master, dev и feature.


Feature
В каждой feature-ветке ведется работа над каждым отдельным функционалом / исправлениями, создаются от dev-ветки. Прекращают существование после того, как изменения вольются в dev.


Dev
В dev происходит окончательная совместная отладка и тестирование всех новых изменений, после этого производится релиз в master.


Master
От этой ветки и происходит релиз на production-сервер. Также, при необходимости срочных исправлений, от неё создаются hotfix-ветки, вливаются в неё же и удаляются.
Master и dev защищены от прямых пушей, существуют всегда.


2. Совместная работа в трекере задач. Документация всех принятых решений.



Это очень важный момент. При переключении между несколькими feature ветками, программисты теряют контекст буквально на следующий день. Записать задачу с невысоким приоритетом в виде глянуть, что не так с xxx недостаточно, чтобы вспомнить, о чем идёт речь. Все замечания необходимо фиксировать в обсуждениях Merge Request-а данной ветки. Необходимо вести wiki проекта, чтобы ускорить адаптацию новичков и утверждать принятые решения.


Важно всегда помнить, что если что-то не записано этого не существует.

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


3. Автоматизация инфраструктуры для тестирования и релизов


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


Я считаю, что это и послужило катализатором развития всех современных IT-гигантов и то, что сформировало DevOps. Сперва они автоматизировали процесс тестирования и выкатки своего монолита. Появилась проблема ожидания и невозможности локально развернуть окружение для разработки. Решением стала идея микросервисной архитектуры, что принесло новые проблемы. Где-то тут появилась идея контейнеризации (LXC), затем Docker, оркестраторы и понеслось...


Функциональные роли


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


Менеджер проекта


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


Владелец продукта


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


Аналитик / Технический писатель


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


Дизайнер UI/UX


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


Архитектор


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


Тимлид


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


Разработчик


Пишет и документирует код. Проводит код-ревью коллег.


Разработчики специализируются на своих направлениях: бэкенд, фронтенд, мобильная разработка и т.д., в зависимости от проекта.


Тестировщик (QA / QC)


Quality Control (QC) тестирует продукт. Как вручную, так и с помощью написания кода. Quality Assurance (QA) также участвует в разработке архитектуры и инфраструктуры проекта, чтобы получение качественного результата закладывалось в процессе производства (Дао Toyota принцип встраивания качества). К примеру, тестировать именно тот docker-образ, который и будет выкачен на продакшн, а не пересобирать его после тестов.


Системный администратор (DevOps)


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


Процесс разработки



Этапы workflow


  1. Любая задача начинается с появления потребности в каком-то улучшении (feature) или отчёта об ошибке, которая сообщается владельцу продукта. Происходит фиксация в трекере.
  2. Владелец продукта сам или с помощью аналитика выясняет все подробности. Всё записывается в задачу. Проводится первичная оценка трудоёмкости. Определяются приоритеты, возможно уже ставится в план работ.
  3. Когда подходит время реализации, совместно с тимлидом производится декомпозиция (разбиение на подзадачи), определяются исполнители, совместно с ними она проговаривается, фиксируются достаточные для исполнителей описания по реализации. Если требуются уточнения по задаче обращаются к владельцу продукта.
  4. Создаётся feature-ветка из dev и, собственно, пишется код. Если задача большая и состоит из подзадач, то выделяется основная feature-ветка, в которую вливаются ветки подзадач. Пишутся тесты, если для этой задачи было принято такое решение.
    Примечание: для того, чтобы минимизировать конфликты при слияниях веток, необходимо, чтобы архитектура вашего приложения поддерживала минимальную связанность модулей. А также не стоит начинать работать над задачей, реализация которой приходится на тот же самый участок кода, который изменен в другой задаче, но по ней ещё не принят merge-request.
  5. Создаётся merge-request в dev-ветку, производится сборка, тестирование и деплой feature-ветки.
  6. Проводится ревью кода другими разработчиками, ручное тестирование. При наличии недочётов снова авто-тесты, деплой, повторная проверка.
  7. Тимлид проводит финальную проверку и принимает готовую feature-ветку в dev.
  8. Когда приходит время очередного релиза, из dev-ветки со всеми последними изменениями создаётся merge-request в master и аналогичные пунктам 5, 6 действия.
  9. Аналогично пункту 7, возможно привлекается владелец продукта.
  10. Очень полезно сообщать пользователям, какие произошли изменения (формирование changelog-а), а также обновлять справку по продукту. Обновляем документацию и принимаем изменения в мастер.
  11. Автоматически или вручную, выкатываются изменения в production.
  12. Ведётся мониторинг приложения. В данной статье не рассмотрен.

Инфраструктура


При выборе инструментов использовались критерии:


  • production-ready
  • большое комьюнити
  • невысокий порог входа относительно других инструментов
  • как можно меньшее их количество (больше функциональности у каждого)

Итогом стал выбор технологий: Traefik, GitLab и Docker.



  • Используется 3 сервера [Production], [Staging] и [Services]. Могут быть физическими или виртуальными машинами, количество может быть меньше и больше, может быть всё в облаке. Приведена наиболее эффективная конфигурация с точки зрения надёжность/цена. Главное, чтобы [Production] был отдельным и самым надёжным. На сервере [Services] установлен GitLab а также второстепенные сервисы (мониторинг, docker registry: Portainer, ELK, Harbor, etc), которые и будем называть Services. В данном примере их настройка не рассматривается. Все приложения работают в Docker-контейнерах. GitLab лучше установить отдельно, зависит от располагаемых мощностей.
  • Traefik собирает информацию о запущенных динамических DNS-именах для *.dev.company.ru, подключившись к докеру [Staging] по TCP и предоставляет к ним доступ. Также автоматически получает SSL сертификаты для приложения на [Production]. Wildcard (WC) сертификат *dev.company.ru получается с помощью отдельного контейнера letsencrypt-dns, если ваш DNS-провайдер не поддерживается в Traefik. Traefik использует этот или самостоятельно полученный сертификат, обрезает SSL от клиентов и перенаправляет http запросы по доменным именам на соответствующие сервисы. Работает на [Production] вместе с основным приложением App.
  • GitLab на [Services] с помощью GitLab-runner-ов, установленных на остальных ВМ, по Merge Request-ам (МР) на ветки dev и master, управляет запущенными докер-образами на [Staging] и [Production] согласно файлам .gitlab-ci.yml проектов.
  • Сборка, тест и стейджинг происходят на [Staging].
  • В данном решении GitLab также работает как Docker Registry, где хранятся собранные образы приложений.
  • Сами GitLab, Traefik и Gitlab-runner-ы также работают в docker-контейнерах, что позволяет легко обновлять и переносить инфраструктуру.

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


https://github.com/Akkarine/demo_cicd


Предупреждение


  • Данное инфраструктурное решение является скорее стартовой площадкой для понимания основных принципов, нагрузочных тестирований не проводилось. Очень многое зависит от железа и архитектуры приложения. Для больших нагрузок, повышения надёжности и работы в облаке рекомендуется рассмотреть Enterprise версии Traefik и GitLab и воспользоваться консультациями специалистов.
  • В репозитории содержатся части конфигурации, которые очевидно нужно будет изменить под себя. Например, временная зона, почтовые адреса, домены и т.п.
  • Так как работа была проведена год назад, Traefik и GitLab заметно развились за это время и уже многие вещи можно оптимизировать. Так, Traefik уже поддерживает DNS Yandex (не без моего скромного участия) и больше не нужен промежуточный сервис. А в GitLab появились более гибкие возможности конфигурирования. Например, rules.
  • Также стоит обратить на секцию Что можно сразу улучшить.


Кейс для веб-разработки


https://github.com/Akkarine/demo_cicd_project


Пример приводится для небольшого веб-приложения, также для понимания основных принципов, так как предполагает:


  • Недоступность приложения при обновлениях. Для организации выкатки без downtime потребуется поддержка со стороны кода приложения (версионность API бэкенда, поэтапные миграции БД), более сложные настройки load-balancer-а и алгоритма выкатки, а в идеале переход на другой уровень инфраструктуры kubernetes. Так что это уже далеко не уровень для начинающих
  • Запуск базы данных в докере (влияет на производительность)
  • Копирование production-базы данных для стейджинга (конфиденциальность данных)
  • Вызов команд от root в контейнерах (далеко не лучшая практика)

Самое главное в репозитории файл .gitlab-ci.yml. Рассмотрим стадии pipeline-а и входящие в них задачи на соответствие шагам в рабочем процессе:


  • base-img-rebuild
    • rebuild-base-backend
      Для ускорения сборка разбита на два этапа. На текущем первом, строится базовый образ, который будет запускаться только при изменении файлов с описанием зависимостей. Во втором (стадия build), уже самого приложения.
  • rebuild-dev-db
    • rebuild-dev-db
      В данной задаче подготавливается общий образ базы данных для тестовых веток с бэкапом базы данных, развёрнутой прямо внутри образа.
  • build
    • rebuild-proxy-img
      Так как образ прокси-сервера nginx будет обновляться крайне редко, то данный образ можно сразу создавать с тэгом latest
    • build-backend
      Происходит сборка приложения с текущими изменениями, пока тегируется номером задачи (уникально для всего GitLab)
  • test
    • testing
      Запуск автоматических тестов
  • deploy-review
    • deploy_review
      Поднимается тестовый сервер, практически идентичный production, только с конфигурациями серверов, менее агрессивными к ресурсам.
  • skip_review
    Используется для того, чтобы пропустить создание тестового сервера, если он на данном этапе разработки не нужен.
  • review
    • approve-dev
      Вызывается вручную. Когда Merge-request идёт в dev (т.е. текущая ветка feature), то можно не нажимать. Задача просто для зелёной галочки на пайплайне.
    • approve-staging
      Вызывается вручную. Когда Merge-request идёт в master (т.е. текущая ветка hotfix или dev и идёт релиз), то протестированный образ с этапа build тегируется latest и заменяет предыдущую версию в репозитории. Для того, чтобы не затёрлась следующей latest версией, также заливается и с тэгом номером задачи.
    • reject
      Вызывается вручную. Просто отображает красный крест на пайплайне. Так из списка Merge Request-ов будет видно, что с данной веткой что-то не так.
    • stop_review
      Может быть вызвана как автоматически, так и вручную. Останавливает поднятый тестовый сервер.
  • rebuild-approved-db-img
    • rebuild-approved-db-img
      Если review был успешен и было обновление файлов в контексте создания образа БД, то создаётся новый образ с меткой latest и заливается в репозиторий.
  • deploy-prod
    • deploy-production
      На проде делается бэкап базы данных и обновляются контейнеры до latest. Если бэкап был неудачен, выкатка не происходит.
    • deploy-production-wo-containers
      В случае, если не поднята базы данных для бэкапа, пропускается это действие.
  • clear
    Происходит очистка серверов staging и production от хлама
    • clean-staging
    • clean-prod
  • restore-db
    • restore-db
      Для первого деплоя или крайне неудачного обновления восстанавливает базу данных из бэкапа.

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



Материалы


Traefik



Альтернативный вариант reverse proxy + SSL на nginx



GitLab



GitLab SSL config



GitLab Registry



Gitlab-runner



Docker



Прочее полезное


Подробнее..

Почему неудачные проекты этохорошо?

02.11.2020 18:18:10 | Автор: admin
Мы боимся неудач, потому что в случае с проектом это означает потерю времени, денег и репутации. Но плохой опыт помогает учиться на ошибках и делать следующие шаги эффективнее. Исполнительный директор Factory5 Резеда Несынова рассказала, как неудачные проекты помогают компании развиваться и становиться лучше для себя и своих заказчиков.

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

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

1. Работа с заинтересованными лицами


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

Кейс 1


Перед нами стояла простая задача заблокировать все возможные финансовые операции по договорам, которые не согласованы внутри предприятия. Мы посчитали эффекты и проработали, как нам казалось, все риски. Однако в ходе обсуждения главный пользователь утверждал, что это не сработает: У нас встанет производственный процесс. Это было похоже на отговорки, а основной заказчик подтвердил эту нашу гипотезу и настоял на том, чтобы просто делать.
В день икс по планам мы запустили функциональность, а где-то через полтора часа наш основной заказчик в не очень хорошем расположении духа позвонил и попросил откатить все назад: Это не работает!.

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

Кейс 2


Это был функциональный заказчик, который прекрасно понимал задачу и систему, задуманную нами. Но мы не учли заинтересованность ИТ-департамента в реализации этого проекта и пришли к ним довольно поздно: на этапе проработки архитектуры. Пришлось пересматривать проект и сдвинуть сроки его сдачи. Мы потеряли время, деньги и репутацию, переоценив влияние и возможности функционального заказчика и недооценив внутренние отношения между подразделениями в крупной корпорации.

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

Кейс 3


А это был кейс, который чуть не стал неудачным. Функциональный заказчик в лице генерального директора захотел изменить методологию учета себестоимости и по всем расчетам эффект от изменений должен был быть существенным. Команда из финансового блока была готова к изменениям и к моменту когда задача дошла до аналитиков из ИТ решение уже было принято. И вот здесь мы сработали как надо и спросили: Зачем? Как это будет работать? Кто будет поддерживать процесс? Как вы считали эффект?

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

Выводы:


  • Всегда искать причину, цель, эффект. Аргументировать свою позицию. Как говорит один мой знакомый (классный менеджер): Выслушать, а не продавать Потом ещё раз выслушать и только потом продавать ;)
  • Проживать один день с непосредственными пользователями продукта и детально узнавать их рутину. Это поможет предусмотреть все возможные нюансы.
  • Прорабатывать все риски, которые кажутся вам, функциональному заказчику и любому заинтересованному лицу существенными. Особенное внимание уделить самым негативно настроенным к проекту заказчикам/пользователям. Они явно что-то знают! ;)
  • Не упускать ни одного участника процесса. Участник процесса не может быть один, а уж ИТ-департамент нужно учитывать всегда!


2. Описание требований


Святая святых для любого аналитика описание требований. Рассмотрим ошибки в этой области на других двух кейсах.

Кейс 1


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

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

Кейс 2


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

В процессе общения с заказчиком я поняла, что он видит это одним образом, а разработчики другим. Это были минимальные на словах договоренности, которые полностью меняли проект. Пришлось начать всё с самого начала и проработать все требования с нуля: Зачем? Что? Как?

А как надо было? Четко описать не только требования к реализации процессов и подпроцессов (как это будет работать), но и то как будет выглядеть конечный результат.

Выводы:


Часто команды боятся замечаний заказчика и бегут разрабатывать, услышав ну вроде так. Можно считать, что вы нашли общий язык с Заказчиком, только если он сам начал вносить корректировки своими руками. Некоторым удобно читать тексты, другим схемы, третьим макеты интерфейсов. Попробовать стоит всё пока не нашли общий язык, пусть даже это будут рисунки на салфетках.

3. Проработка идеи, продукта или решения


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

Кейс 1


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

А как надо было? Тщательно просчитать все стороны проекта: от разработки до поддержки решения.

Кейс 2


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

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

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

Выводы:


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

Культура неудач


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

  1. Осуждение/наказание
    Осуждая ошибки мы убиваем инициативу. Сотрудники боятся креативить и принимают только безопасные решения. Это приводит к стагнации в компании.
    Решение: определить границы для ошибок. Нужно выделить ресурс на проявление инициатив и проверять их на контрольных точках. Ну а успешность проекта отслеживать по строгим критериям, оговоренным заранее.
  2. Замалчивание
    Эта тактика приводит к повторению одних и тех же ошибок снова и снова. А это, в свою очередь, к потере позиций компании в глазах клиентов, конкурентов и рынка.
    Решение: выстроить систему обмена опытом между сотрудниками. Обсуждение возможных вариантов решения неудач в итоге приводит к методологии, которая помогает избегать эти ошибки.

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

Представляем YouTrack Lite

14.12.2020 20:04:49 | Автор: admin
Привет, Хабр!

Среди пользователей YouTrack есть самые разные люди. Это и разработчики, которым необходимо сконцентрироваться на одной задаче и держать все стадии разработки под рукой, и руководители, цель которых эффективно переключаться между множеством задач, не теряя контекста, и нетехнические команды, которым важно быстро познакомиться с новым инструментом и начать работать. Мы в JetBrains целенаправленно работаем над тем, чтобы YouTrack мог стать надежным помощником каждому из наших пользователей, независимо от области их работы.

Сегодня мы рады познакомить вас с новым альтернативным интерфейсом YouTrack Lite. В нем есть настраиваемые списки задач в виде таблицы, удобный текстовый редактор WYSIWYG и вкладки с недавно просмотренными задачами и статьями. За подробностями добро пожаловать в пост.

image


Что такое YouTrack Lite?


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

Рай перфекциониста: структура и порядок


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

image

А если вдруг понадобятся более мощные поисковые возможности, вы всегда можете переключиться в режим запросов: перед вами появится привычная строка поиска из YouTrack Classic, позволяющая выполнять умный поиск, например по периодам времени.

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

image

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

image

Что вижу, то пою: текстовый редактор WYSIWYG


Вам больше не нужно запоминать комбинации тегов, чтобы выделить текст курсивом или добавить чеклист. В дополнение к знакомому markdown-редактору YouTrack Lite предлагает новый редактор WYSIWYG для работы с задачами и комментариев. С помощью него вы сможете добавлять таблицы и чеклисты, а также форматировать текст, чтобы привлечь внимание коллег к наиболее важным моментам:

image

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

Недавно просмотренные задачи и статьи как никогда кстати


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

image

Выбор между YouTrack Lite и Classic


Иногда приходится работать с несколькими задачами одновременно, а иногда, наоборот, концентрировать внимание на одной задаче и отслеживать каждую деталь, включая аспекты разработки и учет времени. Вы всегда можете выбрать тот интерфейс, который больше соответствует вашим текущим потребностям. Переключение между YouTrack Classic и Lite происходит всего в один клик: переключатель находится в меню Вид под вашим аватаром. Наведя указатель на вопросительный знак, вы можете сравнить представления Classic и Lite. Такой же переключатель есть во вкладке Рабочая область вашего профиля.

image

А что еще нового?


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

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

YouTrack Lite и остальные нововведения можно попробовать бесплатно. Существующие облачные экземпляры YouTrack будут обновлены на новую версию в течение 2-3 недель.

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

10 полезных книг для менеджера и лидера в IT секторе

26.12.2020 20:23:24 | Автор: admin


Я работаю много лет в индустрии разработки программного обеспечения и последние несколько лет я активно вовлечен в консалтинг и pre-sales фазы. И я заметил, чтобы быть успешным лидером как для менеджера проектов, представляющего бизнес-сторону, так и для архитектора технического представителя необходимо совмещать в себе технические и лидерские качества.
Для меня наиболее полезным и эффективным источником обучения являются книги. И я бы хотел поделиться с вами топ 10, по моему мнению, книг полезных для начинающих и не только лидеров в разработке программного обеспечения. Эти книги помогут развить и улучшить лидерские качества необходимые в данной индустрии. Я не буду перечислять знаменитые менеджерские бестселлеры такие как Laws of Leadership или Good to Great. Я порекомендую более целевые книги, которые будут, несомненно, полезны именно лидерам в индустрии разработки программного обеспечения.
Название всех книг будут указаны на языке оригинала, но вы без труда сможете найти многие из них и в переводе.

Mythical Man-Month, The: Essays on Software Engineering




Mythical Man-Month, The: Essays on Software Engineering, Anniversary Edition

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

Death March




Death March (2nd Edition)

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

Consulting Outbreak: Manager and Software Architect Could be Friends




Consulting Outbreak: Manager and Software Architect Could be Friends

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

The Deadline: A Novel About Project Management




The Deadline: A Novel About Project Management

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

Waltzing With Bears: Managing Risk on Software Projects




Waltzing With Bears: Managing Risk on Software Projects

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

Herding Cats: A Primer for Programmers Who Lead Programmers




Herding Cats: A Primer for Programmers Who Lead Programmers

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

The Art of Project Management




The Art of Project Management (Theory in Practice (OReilly))

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

The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity




The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity (2nd Edition)

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

Crossing the Chasm: Marketing and Selling High-Tech Products to Mainstream Customers




Crossing the Chasm: Marketing and Selling High-Tech Products to Mainstream Customers

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

Inspired: How To Create Products Customers Love




Inspired: How To Create Products Customers Love

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

Использование GitHub в обучении. Примеры. Часть III

09.01.2021 20:18:44 | Автор: admin

Продолжу выкладывание примеров использования GitHub'а как инструмента обучения.


Предыдущий пример

Вариант командной работы с несколькими репозиториями

Расскажу про "самый приближённый" к реалиям вариант, когда в рамках реализации одной программы возникают подпроекты и над ними трудятся разные команды в разных репозиториях.

Примерный порядок действия

Часть действий повторяются из предыдущего примера

  • Создаёте аккаунт организации

  • Добавляете в него студентов.

  • Создаёте репозиторий. В README.md добавляете текст задания. Также наполняете репозиторий предварительно необходимым минимумом (нужными файлами для выполнения задания). Создаёте необходимые ветви. Обычно создаю ветвь dev или develop

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

  • По мере обсуждения решения выявляются подпроекты. Создаются команды под каждый подпроект. Для каждого подпроекта создаётся свой репозиторий с предварительным наполнением.

  • Команды выполняют задания, коммитят, пушат. Задания можно выдавать как черезissues, так и какой-нибудь сервис с Kanban или Scrum

  • Создают запрос на слияние

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

  • Создаются релизы. Готовые DLL или ещё что берётся из релизов и подключается в основной проект.

  • В каждой команде ведётся техдокументация.

Плюсы и минусы

Плюсы:

  • Более приближенный к реальности вариант моделирования

  • Можно назначать студентов в качестве ревьюеров кода. Даже преподавательского.Я люблю делать в коде специально ошибки как явные, так и неявные, чтобы студенты их находили и исправляли.

  • Каждая команда работает над своим подпроектом

  • Студенты пробуют межкомандное взаимодействие при разработке одного большого проекта.

Минусы:

  • Нужно создавать отдельный аккаунт для организации

  • Нужно объяснить как работать с ветками и следить, чтобы пушили в нужную ветку.

  • Нужно объяснять что такое релиз, как происходит версионирование.

  • Нужно объяснять как пишется и для чего нужна техдокументация.

Какие можно внести дополнения:

  • связать репозиторий с Kanban- или Scrum-сервисом, чтобы выдача заданий фиксировалась в карточках на досках

  • создавать не отдельные репозитории для каждого подпроекта, а использовать gitsubmodules

Подробнее..

Перевод Что нужно знать прежде чем работать в стартапе?

04.02.2021 16:05:13 | Автор: admin

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


Однако, это всего лишь слухи, и они не показывают всей картины. Да, в них есть доля правды, но если погрузиться в тему чуть глубже, то можно заметить не только минусы, но и плюсы. Не обязательно у компании должны быть проблемы, просто потому что она новая и маленькая. Справедливости ради, даже у крупных корпораций есть свои недостатки (и часто они абсолютно те же, что и у стартапов). Точно так же, у вас могут быть нелюбимые коллеги, или вам будет приходится работать и днем и ночью.
Итак, проблемы стартапов не являются уникальными. Это проблемы, с которыми сталкиваются все компании. Просто в других масштабах.
Где бы вы не решили работать если место вам подходит и вам комфортно вы будете хорошо проводить время. Если место не для вас, то это не значит, что компания плохая. Просто она вам не по душе. (Хотя стоит отметить, что есть и объективно плохие работодатели).

Как же выбрать хорошее место для себя? Об этом и поговорим в этой статье.

  1. Познакомьтесь с вашим CEO.

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

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

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

    Или, по крайней мере, не закроется ли в ближайшее время.

    Этот пункт статьи достаточно сомнителен, ибо истории известны примеры того, как уверенные в своем предсказании люди полностью ошибались. Тем не менее, стартапов которые прогорели гораздо больше, чем известных AirBnB и Apple.
    Лично я предполагаю, что любой стартап имеет неограниченный потенциал (если отдельно не указано иное). Следовательно постарайтесь определить, есть ли у этого стартапа потенциал для роста. Постоянно читайте о тенденциях рынка, связанных технологиях и изучайте интересы людей (потребителей).
    Если говорить более конкретно изучите, какие технологии использует стартап в своей работе и в чем его ценность для клиентов и/или общества. И опять же внимательно изучите веб-сайт. Если компания сама не может внятно и конкретно описать что она делает это сразу огромное нет, на вопрос о работе там.
  5. Не доверяйте сайтам со списком вакансий.

    Сайты, такие как Glassdoor и Monster.com отличные ресурсы. Однако у стартапов, обычно, слишком мало сотрудников, чтобы вы смогли найти действительно ценную информацию. И если даже вы найдете какой-то отзыв о работе, то скорее всего он был написан бывшим сотрудником, и там не будет никаких положительных вещей о компании.
    Кроме того, как уже было сказано выше, разные люди по разному относятся к одним и тем же вещам. Если место оказалось неподходящим для кого-то, далеко не факт, что оно не подойдет вам. Поэтому почитайте подобные сайты, но не воспринимайте их слишком серьезно.
  6. Обратите внимание на команду во время собеседования.

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

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

Как экономить стартапам?


У многих стартапов бюджет жестко ограничен. Специально для молодых и амбициозных компаний мы предлагаем множество SaaS продуктов бесплатно или почти бесплатно:

  • Бесплатные АТС и CRM
  • Телефонные номера в 100 странах мира, включая городские, мобильные и номера 8-800
  • Распознавание речи на 50+языков и речевая аналитика для контроля продаж и сотрудников
  • Коллтрекинг для анализа эффективности рекламных каналов
  • Интеграция с популярными CRM, ERP, Helpdesk-системами


P.S. Эта статья является переводом, она основана на личном опыте автора и может показаться чрезвычайно субъективной. Цель этого материала поделиться мнением и дать небольшой совет и пищу для размышлений.
Подробнее..

Почему проекты переписываются и почему это не удается

23.02.2021 04:22:12 | Автор: admin
Извечная тема можно или нельзя переписать большой, работающий продукт с активной пользовательской базой? Ответ, в целом, будет да, можно. Вопрос только как? Наблюдая в прошлом несколько таких попыток (как удачных, так и не очень), данная статья является авторским взглядом на эту проблему.

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


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


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


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


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


Кризис


Информация о критическом положении вещей медленно, но со все увеличивающейся частотой начинает поступать от разработчиков к менеджменту. Опять задержки, опять ошибки у клиентов и сломанная функциональность. И вот, на очередном митинге, посвященном очередной проблеме, кто-то решается поставить вопрос ребром что нам нужно сделать, чтобы вернуть наш процесс разработки в нормальное русло? Что нужно сделать, чтобы вернуть ему предсказуемость? Что требуется сделать для снижения количества дефектов и возвратов? Что нужно, чтобы вернуть нам доверие со стороны бизнеса и клиентов? Повисает тишина. Если внимательно прислушаться и приглядеться к лицам некоторых людей, то можно услышать, как их пульс, подгоняемый адреналином, учащается они готовились, и теперь время настало. Эти тщательно скрывающие свою радость люди инженеры.


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


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


  • Помните вот ту функциональность, которую просил клиент? Мы отказали из-за нашей текущей базы данных, которая так не умеет.
  • А вот из-за этой, когда-то принятой архитектуры, мы не в состоянии быстро написать реализацию этой задачи.
  • Код старый, там никогда не было тестов, потому их и теперь нет.
  • Фреймворк старый, таких теперь не делают.
  • Язык программирования старый, такие еще делают, но вообще это уже опасно для жизни на таком писать, и новички к нам не идут поэтому, ага.
  • Тут вообще какие-то скрипты для развертывания окружения, которые никто не понимает, а автор давно уволился.
  • Нам просто больно каждый день трогать такой код руками, а вы нам еще никогда не давали времени что-то с ним сделать хорошее, и вот сейчас уже совсем поздно.

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


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


Звук победных фанфар раздается в сознании инженера ровно в момент произнесения фразы сколько времени вам потребуется на переписывание?. Победа! Конечно, 100% времени никто не сможет выделить нужно поддерживать старое, может сделать какие-то небольшие изменения, и все же доделать вот то, что начато. Но это уже не имеет значения, как и общая оценка необходимых ресурсов, как и то, в каких пропорциях будет разделена работа между старым и новым 50/50, 60/40, треть и две трети. В этот момент случается один из важных и опасных фазовых переходов в сознании существующая система начинает считаться временной, соответственно, временными выглядят и неудобства по работе над ней.


Благая весть


Новости распространяются быстро, слишком быстро, да еще и с присущей слухам гиперболизацией благая весть летит по кубиклам, заглядывает в каждую переговорку, влетает на кухню и придает вашему кофе особый аромат. Переписываем! Мы договорились! Всё как мы и обсуждали! Радостный момент джентльмены уже заводят моторы и готовятся отправиться в новое прекрасное приключение. Настоящее приключение.


Если вы это слышите, либо же это вы произносите, то знайте ваш проект, ваша работа в большой опасности.


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


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


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


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


Сложности


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


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


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


Вы не знаете, не можете знать того, как пользователи взаимодействуют с продуктом. Как они обходят ограничения. Какая функциональность используется, а какая нет. Куда они нажимают, с помощью чего они работают с вашим публичным API. Изобретательность людей по ту сторону http-соединения поистине безгранична. Мой любимый пример клиент нашей платформы, по каким-то причинам не дождавшись того, чтобы определенные данные появились в offline-отчетах, с помощью кого-то написал Selenium-скрипты, которые вытаскивали нужные данные с UI, чтобы потом присовокупить их к отчетным. С этого момента разметка страницы стала не документированным, но публичным API.


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


Падение


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


  1. не справились со сложностью ведения точно такого же проекта, и не осознали этого
  2. не обладают всеобъемлющим знанием контекста

Может ли у них что-то получиться? В каких-то случаях да на короткой дистанции в пару месяцев это может и будет возможно. Другой вопрос как быстро технический долг накопится вновь, ведь люди вокруг все те же. Как об этом писал Джоель Спольски в своей статье Вещи, которые вы никогда не должны делать: Важно помнить, что если вы начинаете все с начала, то нет ни единого основания предполагать, что у вас получится сделать свою работу лучше, чем вы сделали ее в первый раз. А уж если мы говорим о длинных марафонских дистанциях, то тут вступают в игру осложняющие факторы, начиная от Эффекта второй системы Брукса, заканчивая простым фактом того, что переписывающим нужно бежать очень быстро, чтобы догонять постоянно удаляющуюся цель зачастую, в старую систему продолжают вносить изменения в то время, как пишется новая. Хватит ли ресурсов команды, чтобы вести разработку двух продуктов сразу?


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


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


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


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


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


Поток


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


Позитивный опыт, накопленный индустрией, говорит нам о том, что код довольно податливый материал. Тут показательна история Twitter, который был плавно, в несколько этапов, перенесен между технологиями, без простоев и вместе со всеми своими пользователями и их данными, причем незаметно для последних. Были заменены подсистемы поиска, рендеринг страниц, хранилище данных и другие компоненты. И вот платформа, начавшаяся как приложение Ruby on Rails, теперь работает в основном на JVM, по пути полностью сменив архитектуру. Пример более чем впечатляющий.


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


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


P.S.


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

Подробнее..

Конфликт семья, бизнес, геополитика

24.02.2021 14:21:40 | Автор: admin

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

Люди делятся на 2 категории: горизонталы и вертикалы - совсем как в боксе. Разница только в том, что драка идет не в ринге, а в наших головах каждый день и даже час.

При написании статьи я буду опираться на исследовательские работы бизнес-консультанта Ицхака Адизеса [1, 2, 3] и психотерапевтов Карла Густава Юнга [4], семьи Панченко [5, 6, 7, 8, 9].

Вертикалы - шкала обработки информации

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

Логика это способ обработки информации через причинно-следственнуюсвязь.Человек-логик всегда ищет причину и выводит следствие из нее.Поэтому он любитматематику. Он ищет закономерности и повторяемость. Если эти два условия выполняются, то можно делать выводы. Это мышление по цепочке - из А в Б, из Б вВи так до самого Я. Это образ следователя, который раскрывает преступление собирая улики и логически раскручивая всю цепочку событий. Как итог - закономерностьнайденаи преступник пойман. Это мышление схемами, алгоритмами, цифрами, структурами. Любят оцифровывать любые события,читать,прописыватьи жить поинструкциям- получают огромное удовольствие от этого. Их действия формируются понятиями пользы. Если полезно значит есть смысл делать. Длячувственно-эмоциональногочеловека, если приятно - есть смысл делать.

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

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

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

Логика и чувства это двапротивоположныхсостояния единого целого. Чем больше логики, тем меньше чувств и наоборот. Где много эмоций тамнапрочь отсутствует логика. При этом существует безграничное количество промежуточных состояний. Это похоже на палитру красок. Имея всеготри цвета: красный, синий и зеленый -можно создать безграничное количество цветов, оттенков и полутонов.Леонардо да Винчи, экспериментируя с красками,создал технику сфумато ишедевры искусстваэпохи Возрождения.При этом толщина слоя каждого мазка составляет около четверти миллиметра. Возможно, некоторые свои рисунки он делал с лупой в руках. Грамотно балансируя между логикой и эмоциями можно добиться больших высот.

Логик силенво внешнем объективном мире:финансах и технологиях, аэмпатво внутреннем субъективном:в переговорах и отношениях.

Горизонталы - шкала восприятия информации

Горизонтальная шкала также являетсядвухполюсной. На одном ее полюсесенсорика, на другом интуиция.По аналогии с земным шаром: на западе империи, престолонаследие и управление, а на востоке-духовность и религия.

Сенсорика это способ восприятия информации хорошо известный нам. Это 5 органов восприятия(сенсорные каналы):глаза, уши, нос, кожа, язык.Иногда говорят о шестом органе восприятия - вестибулярном аппарате. Он отвечает в организме за изменение положения и направление движения тела в пространстве.Что-то вроде гироскопа.

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

Другие организмы имеютдополнительныесенсорные каналы, к примеру, амеба. Она имеетповерхностные мембраны, воспринимающиехимические вещества внешнего мира. Эти мембранымогутизменятьее поведение.А есть организмы, у которыхне хватает органов восприятия. Летучие мыши и кроты, хоть и имею глаза, но фактически ими не пользуются. Слух, обоняние и осязание полностью компенсируют их.

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

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

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

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

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

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

Еслисенсорикиопираются на сенсорные каналы, тоинтуитына то, что никогда невидно илинеслышно, на то, что нельзя потрогать,укуситьили хотя бы уловитьзапах.ТакинтуитМенделеев увидел во сне свою таблицу.Циолковский разработал теорию космических цивилизаций задолго до появления практической возможности полета в космос.Хокингувидел излучения черных дыр, которые считались невозможными, но после были подтверждены практически.Эйнштейн разработалтеорию относительности, летая на воображаемых лучах фотонов. Так Карл Маркс создал теорию социализма задолго до ее воплощения. Некоторые изобретения Леонардо Да Винчи: парашют, бронированный танк, водолазный костюм -опередили время на 500 лет. Этот список можнопереложить на пергамент и не хватит ни деревьев, ни моей жизни, чтобы перечесть все фамилии.

Именно эти люди создаюту себя в голове диковинные миры:хоббитов,ХогвартсиВестерос(Играпрестолов).Часто в разговоре они могут резко прерваться, замереть и даже исчезнуть. В этот момент скорее всего их постигла новая идея и они пошли в свою внутреннюю лабораторию ее реализовывать. Уже готовят пробирки и реторты для проведения внутреннего эксперимента.

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

Сенсорикаи интуиция это два противоположныхсостояния единого целого. Чем больше инстинктов, тем меньше интуиции и наоборот. Где много фантазий,мечти розовых очков там напрочь отсутствует присутствие в этом мире. При этом существует безграничное количество промежуточных состояний.Это похоже на музыку. Имея в арсенале всего 7 нот, но варьируя частотой и амплитудой звуков, можно создать мириады звукосочетаний: от Лунной сонаты доheavymetal.

Сенсориксилен в достижении результата и действиях, аинтуитв идеях и креативе.Сенсорик- тактик,интуит- стратег.

Признаки вертикалов и горизонталов

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

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

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

Отношение ко времени

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

Хронос- это количественная характеристика: секунды, минуты, часы, дни, года, столетия и эпохи. У этого божества природные циклы разбиты на временные кусочки,порции. Им созданы часы и календарь - математическая модель времени. БлагодаряХроносулюди научились объективно оценивать время. Появилась опора - теперь можно договориться о не только о месте, но и времени встречи. Люди научились кооперироваться и ориентироваться во времени. Стало возможным менять физический мирколлективно. Но появилась иллюзия контроля и управления временем.

Кайрос- это ситуативное время, которое зависит от биологических ритмов конкретного человека. Это уже не объективная категория, а субъективная. Здесь важна качественная характеристика - не важно сколько лет ты прожил,новажно как.Кайроснаполняет или опустошает каждый миг. Классический пример - очередь. Время может течь бесконечно долго от утомления и ожиданий.Появляется ощущение, будто черти жарят тебя на сковороде.Но тоже количество времени может пролететь в один миг - настолько он был радостным и наполненным. Это и есть качество проведенного времени.Кайросбыстр, легок и едва уловим. Он олицетворяет удачный момент. У него нет волос на голове, кроме чуба на лбу. Тот, кто успел схватить его за чуб - поймал удачный момент. Вовремя увидел и поймалКайросазначитнаступил благоприятный момент для действий.

Греки почиталиКайроса, но со временем люди слили его сХроносоми метафора ситуативного времени исчезла.Онисотворили этих богов по образу и подобию своему.Древние греки видели различия между вертикалами игоризонталами.

Для вертикалов время это строгая количественная, а потому объективная характеристика. Они привязываются к меткам на часах и датам в календаре. Планируют свои действия. Если вертикал проснулся в 12 дня- этовремя обеда. Он будет есть полноценный обед. График работы с 8:00 до17:00 - он будет все это время на работе.Если он опоздает на пару минут, то будет чувствовать себя дискомфортно, винить себя. Пунктуальности они требуют и от других.Горизонталыжепостоянно вносят свои корректировки в их планы, что приводит к постоянным сдвигам и изменениям. Это жутко раздражает вертикалов.

Длягоризонталоввремя это качественная, поэтому субъективная характеристика. Они привязываются к своему внутреннему времени, меткам биологических часов. Никто не знает, когда зазвенит его будильник. Еслигоризонталпроснулся в 12 дня это время завтрака. Потому что после подъема всегда завтрак, даже если это 12 ночи. Хотя и в этом вопросе может быть непоследовательным - начать утро с ужина и закончить день завтраком.

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

Представим такую ситуацию. Вертикал договорилсясгоризонталом, что тот сделает задачу: найти людей для собеседования наhh.ru. За выходные надо сделать. С такой постановкой задачи будет конфликт, потому что ни в субботу, ни в воскресение к вечеру ничего не будет сделано. Горизонтал сядет ночью и к утрупонедельникав режиме угорелой белки все сделает. Вертикал контролирует по равным промежуткам времени: позвонит в субботу утром, в обед и вечер работа еще не начиналась. Позвонит в воскресение утром, в обед и вечер она все еще не начата. При этом утром не дозвонится, потому что горизонтал спит, в обед зарядку делать и завтракать, а вечером появятся срочные дела. Это жутко взбесит вертикала. Может быть другой вариант: горизонтал ночью делает, а у вертикала все распланировано и ночь - это законное личное время, на звонки и вопросы не будет отвечать.Будут конфликты, разговоры на повышенных тонах и разрывы в отношениях.А все из-за того, что восприятие времени разное. Они никогда не состыковываются в нем. Чаще всего кто-то идет против себя на уступки, что приводит уже ко внутренним конфликтам внутри людей.

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

Отношение к договоренностям

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

Горизонталыумеют договариваться. Но если рядом пролетаетКайрос, то они ловят его. Изменилась ситуация - изменились договоренности. Поэтому они любятпередоговариваться.Горизонталыгибкие и подвижные. С такими людьми всегда будешь в движении.

Два человека:горизонтали вертикал, - решили встретиться. Парень-вертикал приглашает девушку-горизонталана свидание. Договорились в следующую субботу встретиться в 18:00. Вертикал пришел в 17:59,хорошо одетый, выбритый, стройный и обязательно с цветами - так положено ходить на свидания. Девушка опоздала на час. Конечно, она писала, предупредила что опаздывает, извинялась и просила подождать.

Что думает вертикал? Холодно, сыро, ощущение будто его кинули.Время проводит бесполезно, тайм-менеджмент не соблюдается.Чувствует себя дураком. Назревает внутри недовольство от того, что девушка непунктуальна. У нее была целая неделя, чтобы спланировать все и прийти вовремя. Она могла раньше встать, закрыть все дела. На крайний случай отложить и доделать позже. И вообще она ненадежный человек, если даже вовремя прийти не может. Выкидывает или даритдругой девушки по пути цветы и прерывает общение.Даже если встреча произошла, то чаще всего дальнейшего общения не будет.Это работает и когда мужчина горизонтал, а женщина вертикал.

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

Отношение к переменам

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

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

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

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

Вертикалы любят работать, когда на работу к 8, с работы в 18. Заработная плата строго 9 числа, а аванс 24. И желательно стабильно одна и та же или больше. Но если больше, то надо понимать за что повышение, переработка или еще что. Важно, чтобы все было ясно, зафиксировано и запротоколировано.

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

Зона активного действия

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

Что такое зона активного действия? Это тот период и интенсивность, с которыми можно делать работу. Угоризонталаи вертикала они разные.Вертикал делает поступательно, монотонно и способен выполнять рутинную работу. Горизонтал же имеет склонность оставлять работу на последний моменти абсолютно не любит рутину.

Вертикалам комфортно выполнять длительную работу в одном темпе и желательно без перебоев. Если кто-то прибегает к нему с новой кипой бумаг это стресс,ему придется перекраивать свое расписание. Он работает с 08:00 до 17:00 с перерывом на обед. Все это время он равномерно сам распределяет своюнагрузку так, чтобы закончить кдедлайну. Любое вмешательство извне в его работу только понижает его работоспособность.

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

Горизонталамкомфортно выполнять работу в короткие сроки, в рваном темпе и желательно с микро-перерывами нато, чтобы пойматьКайрос. Поэтому им нужен жесткийдедлайн. Они начнут работать именно в ночь перед сдачей работы. Но за это время они горы свернут. Горизонтал сосредоточивает максимум энергии в короткое время мощнейший всплеск. И выполнят ту единицу объема, который вертикал делал неделю.Когда наступает стабильное состояние системы (горизонталы называют его застойным) они нацелены на сохранение существующего положения дел. А когда наступает нестабильное, мобилизационное состояние делают рывок и достигают новых результатов.Потомв застойное время закрепляются на нем и по новому кругу.Такая мобилизационная система свойственна русскому менеджменту[10].

Когдагоризонталаизолируют и даютоднуработу, то его работоспособность резко понижается. Ему нужен стресс, давление извне целии мотивация. График работы нужен свободный когда захотел пришел, когда захотел ушел. Может всю неделю не появляться на рабочем месте, но в последний деньза 10 человек выполнит работу.

Горизонталы не любят обязанности, но обожают ответственность. Это люди, которые работают на результат.Их нельзя контролировать и оценивать по ходу выполнения работы. Только после наступлениядедлайна.

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

Как размышляет вертикал? Так, 40 билетов делим на 5 дней это 8 билетов в день надо учить. Садится в первый день, выучил 8 билетов и идет отдыхать. Занимается другими делами. В следующий день еще 8 билетов выучил и так далее.

Как размышляет горизонтал? Так, до экзамена еще 5 дней займусь своими делами.За день до экзамена садится.Учит всю ночь 40 билетов. С красными, бессонными глазами садится перед экзаменатором.

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

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

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

Симметрия иассиметрия

Вертикалы во всем любят симметрию. Тело у них симметричное, ходят и сидят вертикально. Жесты и мимика отражаются симметрично. Полноценная улыбка, жесты обоими руками. Нет ни одного человека с симметричным лицом, но у вертикалов оно более симметричноотносительногоризонталов. Стоятровно,на двух ногах.

Одежду предпочитают ровную, симметричную. Рубашки, джинсы, брюки, пиджаки... - либо с двумякарманамилибо вообще без. Прическа у женщин симметричная - пробор делит голову на две ровные части. Юбка с прямым кроем спереди или сзади. В диване или кресле сидят с ровной спиной, не заваливаясь. Идут по улице по прямой траектории, не отклоняясь. Движенияглаз размеренные, без подмигиваний и хитринки. Украшения подчеркивают симметрию.

Горизонталы же предпочитаютасимметрию. Тело у них более скошено, ходят по кривой, извилистой траектории - будто подвыпили. Сидят развалившись на правый или левый бок. Жесты и мимикаполовинчаты:полуулыбка,полужест,полувзгляд, полунамек итд. Лицо и тело в целом более асимметричныпо отношениюк вертикалам. Стоятьпредпочитают,завалившись на одну из ног, а лучше подпирая стену.

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

Вертикалы всегда стремятся занять вертикальное положение, горизонталы - горизонтальное, всегда будет полулежа сидеть и даже стоят развалившись. Часто они разваливаются на парте в школена уроках. Вертикалы даже загораютстоя или сидя с ровной спиной[11].

Ритм

Прочитав предыдущие признаки, можно уже догадаться какой ритм присущ обоим. Вертикал делает все постепенно, планомерно, эволюционно. Если необходимо двигаться вперед и развиваться, то по линейной зависимости.Разница только в том, какой угол у линейного графика. У некоторых вертикалов линейная линия развития параллельна оси Х, то есть нет никакого развития. У других она параллельна осиУ, то есть огромные темпы движения.

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

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

На работе вертикал проходит каждую ступеньку до генерального директора. Ему будет стыдно, если он не заслуженно (как он может посчитать) перепрыгнул пару ступенек по карьерной лестнице. Горизонтал же сходу готов стать управляющим компанией. Тогда будет два пути: либо она быстро развалится, либо ее акции взлетят до небес. Ключевое понятие здесь быстро, импульсно. Будет скачок, но в какую сторону зависит от качеств человека.

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

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

Горизонтальный это самоорганизующийся бизнес по типу бирюзовых организаций [12].Не понятно, как работает без графиков, совещаний и тайм-менеджмента, но работает и приносит прибыль. Более того, Лалу пишет, что самоорганизующийся бизнес легче переносит кризисы наподобие того, что был в 2008 году.

Вертикальное государство то, в котороммонотонный, равномерныйритми высокая эффективность. Яркий пример США, Англия, Германия, Япония.США, к примеру,вводит новые санкции практически под одними и теми же предлогами угроза стабильности, расшатываниеstatusquo.

Горизонтальное государство то,которое шатает,оноразвивается импульсно иимеет высокуюрезультативность. Это конечно же Россия[10],Индия.Развитие происходит скачкообразно, мобилизационно. Горизонтальное ведение дел свойственно нашей стране. Достаточно вспомнить историю. В началеXVIIвека Смута, мощный патриотический подъем с последующими застойными годами. В началеXVIIIвека бурная деятельность ПетраIпривела к мощному всплеску и с последующим застоемк концу столетия. В началеXIXвека вторжение Наполеона, Россия стала жандармом Европы и Гражданская война и революции в началеXX. К концу века застойные времена Брежнева и развал Советского Союза. Что мы сейчас наблюдаем? Возрождение России в началеXXIвека. Не нужно бытьВангой, чтобыпрогнозировать застой к концу столетия.Складывается ощущение, будто России уготована судьба птицы Феникса каждый раз возрождаться из пепла.

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

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

Задачность

Вертикалыоднозадачны. Им требуется дать одну задачу на определенныйпромежуток времени. Допустим, написать главу (35 листов) в книгу за неделю. Они будут всю неделю по 5 листов в день писать. Затем приступят к следующейзадаче. Когда к ним приходят с требованием: а допиши предыдущую главу, поправь тут, поправь там,этотак жутко раздражает!Такие дергания и метания сбивают с толку. Только что договорились идти по одному плану, тутжепередоговариваемся. Исправил один пункт, и вдруг приходит письмо или сообщение о внесении корректировок. Выполненные пункты надо заново переделывать по прихоти сверху.

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

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

Онидоводят все свои деладо конца. Не бросают начатое на полпути в отличие отгоризонталов.Ставят одну цельи перебирают способыеедостижения. Инструментов может быть много, норезультат всегда один.

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

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

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

Выйдяиз точки Аможет неприйтив точку Б или опоздать. Попадясразув точкуКочень доволен собою и рад. А вотвертикалыими недовольны последовательность не была соблюдена.У них складывается ощущение, чтоих обманули, поступилинепосправедливости.Вообще горизонталы всегда ищут пути, чтобы из точки А сразу попасть в точку Я.

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

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

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

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

Многозадачность или параллелизм свойственен нашей стране.Одной из характерных черт русской модели управления является наличие параллельных структур.В Россиизаконодательствовсегдаостается лишь на бумаге, а в жизни параллельные управленческие структуры в лице партийных органов распоряжаются ресурсами предприятий, хотя формальных прав на это не имеют. А если вдруг какой-нибудь управленец-отраслевик воспротивится диктатуи встанет на защитузаконных прав своего предприятия, то никакой закон не сможет его защитить от расправы[10].Отсюда и молва людская идет, чтострогость российских законовкомпенсируетсянеобязательностью их исполнения. Наверное, каждый российский человек хоть раз задумывался:зачем издавать кучу законов, которые на практике никто не собирается исполнять?Более того, следить за исполнением?

Порядок и хаос

Порядок это епархия вертикалов. В доме такого человека всегда будет чисто. Генеральная уборка всегда в одно и то же время, раз в неделю. Чашки будут на одной полке, строго на одном расстоянии друг от друга, а ручки дружно в одну сторону смотреть. Рабочий стол аккуратен: папочки к папочкам, ручки к ручкам. Все пронумеровано и запротоколировано. Книги, журналы или брошюры расставлены закономерно: в алфавитном порядке, по размеру, датам, категориям и т. д. в зависимости от специфики работы.Порядок будет и в отношениях: с каждым человеком должно быть эмоционально стабильно. Если у кого-то выгорание, значит надо дать ему отдохнуть, чтобы вернуть в колею. Плохое настроение надо поднять его и вернуть в необходимое русло.Когда у всех все хорошо и поведение предсказуемо можно спокойно заниматься своими делами.

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

Хаос это епархиягоризонталов. В доме все не на своем месте. Это не говорит о том, что там грязно или не прибрано, но идеального, стерилизованного порядка там не будет.Кровать может не заправляться, а диван не складываться после сна. А зачем? все равно вечером раскладывать.Импульсивностьгоризонталовпосле застойного периода заставляет мобилизоваться и решить любую сложность быстро.Поэтому,когда квартира начинает захламляться, то в очередные выходные произойдет Великая генеральная уборка. Дело будет сделанокак можно быстрее иможно на время забыть о порядке и заняться поискамиКайроса.До того момента пока не придет очередноймобилизационныйимпульспо наведению порядка.

Хаос будет и в бизнесе: планы и графики выполняться не будут, а мобилизационные пинки раздаваться на право и на лево будут.Как выживает бизнес, когда всем наплевать на правила? Создаются параллельные структуры в обход инструкций, налогов и т. д. Это в какой-то степени авторитарная илидаже диктаторская позиция, но она приводит к крайне высокой результативности.

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

Революция и эволюция

Прогресс- этодвижение вперед, развитие от простого к сложному, от низшего к высшему. Прогресс может идти эволюционным (планомерным, постепенным) или революционным (рывкообразным) ритмом движения. Прогресс не остановим, вся жизнь идет от простого к сложному в течение всей истории жизни на Земле: от первой клетки до человеческого разума, создавшего интернет, музыку и теорию относительности. Это некоторый несгибаемый вектор развития, по которому невольно идет развитие планеты и человечества, в частности.Онможет быть научно-техническим (технологии, товарная экономика, бизнес), социально-гуманистический (развитие искусства,морали, нравственности, человеческая экономика[13]), духовно-философский (Платоновскиеэйдосы) исоциально-иерархический(внедрение, управление и устройство общества). Прогресс характеризуется развитием культуры. Если прогресс это невольноеоднонаправленноедвижение по векторуразвитияв будущее, то культура это приданое человечества, которое формируется по мере движения по этому вектору.

На протяжении всей истории человечества развитие шло эволюционным или революционным путем. Когда эволюция не справлялась и заходила в тупик, ей на помощь приходила революция и придавала мощный импульс. Так было и в истории России. Накопление большого количества ошибок или застой в развитии приводил к резким скачкам: от реформ ПетраIдо развала Советского Союза.

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

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

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

Марафонцы и спринтеры

Если запустить марафонца и спринтера, кто быстрее прибежит к финишу? Ответ зависит от дистанции, которую необходимо импреодолеть. Если это 100 метров, то очевидно, что спринтер. Он умеет быстро входить в повороты, быстро перебирать ногами и лучше переносит интенсивные нагрузки. Также и горизонтал. Ему нужна скорость. Как можно быстрее решить задачу, а лучше сразу 5, чтобы потом заняться своими делами.

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

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

Но марафонец долго разгоняется. Пока он выйдет на необходимый ритм, возможность может быть упущена. Он не умеет быстро реагировать. Резко сменить темп бега, значит подвергнуться риску не добежать. Топливо быстреесгорит и бензина может не хватитьна всю дистанцию.Спринтеру важно добежать как можно быстрее, поэтому онвкладывается на всю мощь радиэкономиидолейсекунд: ногу выбрасывать вперед быстро, бежать резко и прямоиз точки А сразу вЯ, любые углы скашивать. Марафонец не может себе это позволить, более того, скосить угол значит сменить темп: ямы, кочки, кусты и болота на пути надобудеткак-то проскочить.А это состояние неопределенности не застряну ли?Поэтому он предпочитает бежать проверенными тропами.

Стабилизация иразинтеграция

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

В отношениях должно быть тихо, спокойно, предсказуемо. Эмоциональный фон стабильный, финансовое благополучие контролируемо расти. Когда он попадает в любую структуру, то старается привести ее в контролируемоесостояние. Любое внешнее или внутреннее неожиданное воздействие погашать. Но если вертикал к нему привыкнет и нововведение окажется полезным, то очень осторожно, оглядываясь на других, будет внедрять его у себя. Обязательно закажет при этом кучу материалов со статистическими, аналитическими сводками, позовет риск-менеджера. Убедившись в безопасности, начнет реализовывать. Медленно и осторожно.

Психическая задачагоризонталов разбомбить, поломать, снести всю эту неповоротливую, медленную махину, чтобы отстроить новую. Они никогда ни с чем не соглашаются. Все время считают, что все не так и неправильно. Им не нужна куча бумаг, риск-менеджеры и тайм-менеджеры. Они с наскока начинают сразу делать, внедрять новые идеи. Длягоризонталовэто как эксперимент: ой, не получилось, попробуем по-другому.Они идут сразу к результату от А кЯ, минуя все промежуточные буквы алфавита. Если все указывает, что преступник найдет, но всей цепочки доказательств нет, он все равно будет наказан. Горизонталы не жалеют ни людских, ни финансовых, ни каких-либо других ресурсов. Сталин был вертикалом, но поступал абсолютно по горизонтальному: расстрелы, ссылки, раскулачивание и т. д.Ресурсов он не жалел ради достижения цели. Это оценили все, даже Черчилль: СталинпринялРоссиюссохой,аоставилсатомнойбомбой. Это был мощнейший скачок за кратчайшие сроки.

Вертикалов это поражает, они считают это ненормальным. Сами основы их жизней потрясаются. А как же права человека? Как же этические и моральные нормы? Где гуманизм? Дело в том, что постепенный, планомерный их ритм не позволяет замечать негативных изменений, которые вкрадываются в их жизнь. Работорговля, колонизация и высасывание ресурсов: деньги, нефть, золото - настолько медленно, тихо и безболезненно для общества встраиваются в общий ритм, что начинают считаться нормой.Если горизонтальный строй это политический тоталитаризм, то вертикальный это экономическая тирания.

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

Статичность и динамичность

Вертикалы не любят изменений. Им важенstatusquo.Если все стабильно, то не нужно ничего добавлять или убавлять. А если все-таки захотят что-то новое внести, то под контролем и так, чтобы можно было быстро откатить к первоначальным настройкам. У них цель одна, а путей ее достижения много: внедрение новых алгоритмов, показателей, тестов и т. д.

Горизонталы же обожают изменения. Для них это как свежий ветерок в знойную погоду под палящим солнцем. Они хотят движения. Что-то делать, куда-то бежать, путешествовать, достигать новых вершин в прямом и переносном смысле. Новая культура, города, страны, новая ответственность,профессия и т. д. Они в динамике и не хотят всю жизнь отдать одной работе. Угоризонталовцелеймного, а путь достижения один.

Планирование

Вертикалы стабилизируют этот мир. Для этого они придумали его величество План. В нем каждый шаг прописан. Все, что нужно двигаться по нему и не сворачивать. Часто можно услышать в мире бизнеса такую фразу: если процесс работает не трогай!. План написан и деньги приносит больше ничего не требуется делать.Хорошо планируют - распределяют во времени свои ресурсы: линейно.

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

Эффективность и результативность

Подобно тому, как марафонец эффективен на длинных дистанциях, спринтер результативен на коротких.

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

Вертикалам свойственно создавать эффективные, стабильные системы. Выстраивать правильные цепочки поставок, организовывать хранение, транспортировку и сбыт товара, вводить системы контроля, вести бухгалтерский учет, обрабатывать аналитические сводки. Но вся эта система может не работать только потому,чтонет клиентов. Некому поставлять и продавать. В краткосрочной перспективе за это отвечают горизонталы. Они дают импульс, запускают движение:передоговариваются, продают товар, организовывают потоки[3].

Вертикальное государство то, в котором налажены эффективные процессы, но совершенно необязательно, что это будет результативно.Яркий пример США, Англия, Германия, Япония.Экономическая и политическая системыСШАбуксуют. Деньги в реальный сектор экономики практически не вливаются, а проходятнасквозь фондовый рынок. При этом текущий Конгресс США является одним из старейших в истории, а предвыборные программы списываются у прошлых президентов. Боясь измененияstatusquo, они вводят новые санкциипо всему мирупрактически под одними и теми же предлогами угроза стабильности.

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

В вертикальных странах никогда не приживутся горизонтальные модели и наоборот.Это доказывают попытки западных партнеров построить в бизнес в России. Забавно видеть, как они с удивленным возгласом восклицают всегда одно и то же: почему в Европе и Америке мой бизнес приносит прибыль, а в России он убыточен?В России всегда был беспорядок и вряд лидажеразвитие искусственного интеллекта сможет что-то изменить.

Ошибки

Для того, чтобы упорядочить хаос вертикалы идут на все. Вводят статистику, тайм-менеджмент, риск-менеджмент,сетевые графики, аналитику, тесты. Все хотят свести к цифрам, которые можно сравнить и на основании их сделать выбор. Боязнь перемен, революций, расшатывания обстановки и любых других кардинальных изменений приводит порою кпараноидальнымрешениям. Количество бумаг, инструкций, указов растет с огромными скоростями, до тех пор, пока траты на бумагу и чернила не начинают превышать доходы компании. Этот этап называется бюрократия[1].

Самый мощный инструмент вертикалов это риск-менеджмент. Они его создали для борьбы сгоризонталами. Риск это влияние неопределенности на цели. Чем выше отклонение, тем больше риск. Боясь сделать ошибку, они вводят новые показатели, алгоритмы, модели, графики. Выдавливают до последней капли деньги из существующей системы. Пока источник не иссякнет, новый искать не будут. Перемен и состояние нестабильности, неопределенности боятся, как черти ладана.

Горизонталыжене боятся делать ошибок.Они вертикально слушают законы и горизонтально не исполняют.В России отдурных мер, принимаемых правительством, есть спасение:дурное исполнение.Они с наскока идут в бой, по ходу дела латая дыры. Очень похоже на тактику Наполеона. Кто знаком с его биографией, знает, что он отличался крайне быстрыми, пронзающими как кинжал,икрайне смелыми, масштабными атаками. Соперник не успевал реагировать, обдумать, построить план или стратегию. Резкое изменение делставило всех в ступор. Только в России и при Ватерлоо он оступился. Под Москвой всем стало очевидно, что стратегически Наполеон проиграл.

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

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

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

Заключение.

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

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

Этот процесс очень похож на изучение новой профессии, к примеру, фотографа. Сначала ничегоне знаешь об этой специальности. Начинаешь интересоваться,обращать внимание. С ростом желания увеличивается и количество прочитанных страниц и прослушанных подкастов по этой теме.Растет количество подписок на людей из этой области. Меняется окружение.Все более детальностановятся виднысубъективные нюансы. Рано или поздно начинаешь выделять закономерности.

Другой пример - музыка. Первые разы медведьна уши наступил: поешь с петушиным надрывом, в ноты не попадаешь. Время идет, навыки улучшаются, слухутоньшается. Ухо ужеспособно улавливать все более тонкие звуки, тона, нюансы. Голос становится красивее, мелодичнее, появляется свой собственный, уникальный стиль. Ивуаля вы уже выступаете на сценах лучших концертных залов мира!

Представим семью, в которой родители вертикалы, а дети горизонталы.Подъем будет ровно в 7:00 утра и ни минутой позже.Ребенок сопротивляется, он хочет спать, его внутренний будильник еще не прозвенел. Плачет, кричит, но его не слушают.В 13:00 обед накрыт, родители у стола, а детей нет. Они не хотят кушать -Кайросне прилетел.Увлеклись изучением бабочек, а может уже раздают команды другим детям.Матери приходится потом разогревать отдельно пищу и ворчать, что дети непослушные, расхлябанные - не могутсобраться вовремя.Отец не может положиться на сынапока тот придет, в гараже все будет починено.Родители часто в таких семьях насильно вгоняют в рамки детей. Поэтому втакой семье часто будет напряженная атмосфера.

Ачто, еслиродители горизонталы, а дети вертикалы?Чадо просыпается ровно в 07:00, ложится в 22:00.Сегодня родители проснулись рано, завтра поздно. Собрали его наспех и обязательно что-то забыли положить. Ему приходится все самому делать. В доме предметы постоянно будут менять свою локацию. Для него это стресс.Ребенок пришел к 13:00кушатьи ни минутой позже, а уже все съедено или еще не приготовлено- поел в 14:00. В следующий раз пришел в 14:00, а уже пусто. Его будет сильно расстраивать такая ситуация, ведь он не может опереться даже в бытовых вопросах на родителей.Договорятся вместе сделать домашнее задание, но у мамы или папы могут появиться срочные дела и договор отменен или перенесен. На кружки, уроки, прогулки вовремя подвозить его не будут: то слишком рано, то слишком поздно. Придется краснеть перед учительницей и объяснять, почему он непунктуальный.Все это для вертикального ребенка огромноепотрясение!

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

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

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

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

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

Список источников

  1. д. ИцхакАдизес.Идеальный руководитель. ООО АльпинаПаблишер, 2014 360с.

  2. д. ИцхакАдизес.Развитие лидеров. ООО Альпина Бизнес Букс, 2008 340с.

  3. д. ИцхакАдизес.Управление жизненным циклом корпорации. ООО Манн, Иванов и Фербер, 2014 700с.

  4. Карл Юнг Психологические типы, 1923 г.

  5. Панченко Т.Г., Панченко А. Л., Саньков В.Основыэниостиля.Институт психологической культуры и ментальной медицины,1995 г. 36с.

  6. Сычев К. В.,Панченко А. Л., Панченко Т. Г.Человековедениекак метод кадровой политики. СПб: Кислород,2001 г. 110с.

  7. Панченко Т. Г., Панченко А. Л.174 страницы проэниостиль.Ridero, 2019г. 74с.

  8. Панченко Т. Г., Панченко А. Л.Модулисовершенства, гармонии и успеха. - Алтай, 1993 г. 129с.

  9. Панченко А. Л.ШамликашвилиЦ. А., Панченко Е. А.Экосоциоментальнаямодель психотерапии. неопубликованная книга.

  10. Прохоров А. П. Русская модель управления. - ЗАО Журнал Эксперт, 376с.

  11. Вячеслав Богданов. Качество жизни. Типология на каждый день. Ridero,2020г.

  12. Фредерик Лалу. Открывая организации будущего. - ОООМанн, Иванов иФербер, 2016

  13. Дэвид Гребер. Долг: первые 5000 лет истории. - М.: Ад Маргинем Пресс, 2016. - 616с

Подробнее..

Проблема кросс-культурной, междисциплинарной коммуникации. Краткий обзор и некоторые идеи

14.03.2021 16:17:43 | Автор: admin

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

Рисунок 1. Одно из наиболее изящных решений задачи "семи красных линий", на мой взгляд.Рисунок 1. Одно из наиболее изящных решений задачи "семи красных линий", на мой взгляд.

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

Мешают ли выполнению профессиональных задач проблемы в коммуникации людей друг с другом также, как если бы это была любая другая сфера жизни? Безусловно. В числе заметных факторов, которые формируют когнитивные помехи, можно назвать эффект Даннинга-Крюгера, психологию социальной группы и межличностные отношения, пирамиду Маслоу (точнее, положение субъектов взаимодействия относительно своих потребностей), личный опыт и другие. При этом, многие факторы, такие как здоровье, эмоции, гендер и т.п., находятся дальше от психологии, так как более-менее здоровое общество или социальная группа по умолчанию должны воспитывать в себе понимание, что все люди разные и это нормально. Если общество такие вещи не понимает, то это уже не когнитивное искажение, а просто болезнь. Тем не менее, рассматривая профессиональные взаимодействия, анализируя опыт, любой профессионал сможет вспомнить множество ситуаций, когда, казалось бы, все поведенческие факторы были учтены, но это не помогло. Точнее, произошло то же самое, что и обычно стороны, которые должны были легко договориться между собой, не договорились, хотя очень этого хотели.

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

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

  1. Междисциплинарная коммуникация,

  2. Кросс-культурная коммуникация.

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

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

Рисунок 2. Моя любимая визуализация влияния точки зрения на интерпретацию объекта.Рисунок 2. Моя любимая визуализация влияния точки зрения на интерпретацию объекта.

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

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

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

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

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

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

Возможность 1. Баланс компетенций и ценностей

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

Возможность 2. Привлечение медиатора

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

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

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

Возможность 3. Инженерный подход

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

Рисунок 3. Схематичное отображение методологии "Инженерный подход", предлагаемой автором.Рисунок 3. Схематичное отображение методологии "Инженерный подход", предлагаемой автором.

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

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

Возможность 4. Распределённая иерархия с лидерами компетенций

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

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


Возможность 5. Единое информационное пространство

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

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

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

Возможность 6. Словарь терминов

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

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

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

Подробнее..

Пожарный не из Чикаго как тушить огонь в ИТ-проектах

15.04.2021 16:11:54 | Автор: admin

Привет, Хабр! Меня зовут Александр. 17 лет в КРОК. В основном занимаюсь разработкой и внедрением заказного ПО, хранилищ данных, решений Big Data для бизнеса и госсектора. Начинал консультантом по внедрению и последние 11 лет работаю менеджером крупных комплексных проектов. А еще я немного пожарный, потому что регулярно помогаю коллегам тушить проектный огонь.

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

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

Про коллаборацию заказчика и соисполнителей

В больших проектах всегда интересно, и часто они преподносят разные челленджи, но тем они интереснее. Мой первый крупный проект (это было внедрение ЕМИАС в поликлиниках Москвы) случился аккурат под новый 2011-12 год, когда у клиента началось активное внедрение новых сервисов в здравоохранении для граждан, сопровождаемое не менее активной информационной кампанией. И мы тоже несли ответственность за развиваемый клиентом бренд ЕМИАС. Огонь возник в условиях готовящейся инфраструктуры и интенсивно развивающегося ПО. Новая функциональность выходила чуть ли не каждую неделю, партнеры готовили СКС, мы доставляли АРМы врачам, устанавливали, подключали, обучали регистраторов заводить расписание, врачей работать с приемом пациентов, запускали и настраивали бизнес-процессы, связанные с внедрением новых сервисов. И все это на фоне ожиданий со стороны правительства Москвы и лозунгов в прессе, что вот новая функциональность, вот новые поликлиники подключили. Таким образом перед нами ставились весьма амбициозные цели и сверх амбициозные сроки.

Как справились с огнем? В этом проекте, который мы развиваем по сей день, очень помогают плотная коллаборация с командой на стороне заказчика и задушенная на корню бюрократия на стороне соисполнителей, обеспечивающих сервисы для функционирования ЕМИАС. Я вспомнил про этот сложный проект, чтобы отметить одну из основных лучших практик в масштабных проектах обязательное наличие квалифицированной команды, обладающей полномочиями оперативного принятия управленческих решений на стороне заказчика. Без этого подобные проекты обречены. Проблемы вроде не работает сетевой порт решались одним звонком коллегам от провайдера, а не отписками заведите обращение, подождите, пока оно пройдет многоступенчатую эскалацию и вообще у нас заказчик не КРОК вовсе обращайтесь через них. Такая слаженная, ориентированная на общий результат целой группы компаний работа, вот лучшая практика и один из важных для меня уроков после этого проекта.

Про коллаборацию заказчика и соисполнителей еще раз

Годы работы в проектах ЕМИАС преподносили нам очень разные вызовы в 2013 у нас была команда внедрения с 700+ консультантами во всех амбулаторно-поликлинических учреждениях Москвы. В 2018 нам надо было найти 100+ консультантов для внедрения лабораторного сервиса ЕМИАС это два месяца собеседований нон-стоп. Но оно того стоило!

Как справились с огнем? Тут, опять же, заказчик помогал в согласовании плана внедрения на стороне объектов внедрения с постепенным наращиванием оборотов и административным ресурсом с оповещением поликлиник, лабораторий. Это еще раз подтверждает тезис необходимости совместной мощной команды не только со стороны исполнителя, но и заказчика. В сложных проектах верно выстроенный процесс взаимодействия и коммуникаций (читай синергия команд обеих сторон процесса) путь к успеху. И вторая мораль этой истории не бояться огня. Глаза боятся (осознав, сколько нужно консультантов и в какой срок, задача казалась нерешаемой в принципе), а руки взяли и сделали! Хоть и собеседования проводили всем миром.

Про ток, или Как снять напряженность клиента

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

Как справились с огнем? Здесь была сильная команда со стороны заказчика, и в админ ресурсе не было проблем, но дело шло к проблемам. Мы вовремя круто перевернули ситуацию, когда применили гибкие подходы к разработке. Скоуп сложили в бэклог, расставили совместно с клиентом приоритеты, разбили на спринты (хотя они и были длиной в месяц, тут это было оправдано, поскольку проект шел 1,5 года). В течение спринта раз в две недели проводили статус, уточняли при необходимости постановки, расставляли вместе приоритеты. Плюс раз в месяц с релизом проводили демо и короткую ретроспективу совместно с заказчиком. Это позволило полностью перезагрузить проект, и он заиграл новыми красками. Заказчик начал понимать, что происходит, а потому успокоился, и мы успешно прибежали к финишу с победой.

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

Несколько похожая, но вместе с тем иная ситуация была у меня и в другом проекте, где мы для одного из банков делали Big Data систему для построения профиля клиента и оценки рисков при выдаче кредита. В момент подключения меня в проект была не первая фаза, а я не первым РП на стороне исполнителя. Ситуация была схожа с прошлым кейсом непрозрачный процесс разработки для заказчика усугублялась отсутствием четкого ТЗ, ибо такого рода систем в банке, да и на рынке, в то время по сути еще никто не делал. Были первые ласточки в банке Т и банке А, однако готовых решений (да еще на open source) не было. По сути строили с нуля, склеивая кусочный опыт в комплексное решение, попутно синхронизируясь с заказчиком. И еще требования бизнес-заказчиков ловко и резко менялись по ходу представления.

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

Как справились с огнем? Здесь применили проведение регулярных встреч (еженедельных) так называемый управляющий комитет проекта. На них присутствовали представители всех смежных отделов и РП разработки систем банка, с которыми нужно было интегрироваться. Вместе мы составили общий роадмап и реперные точки релизов, вместе же постоянно контролировали возможные сдвиги выпуска той или иной функциональности у нас и в системах клиента. Так мы успешно реализовали проект, подтвердили свой профессионализм заказчику и допродали развитие системы еще на 1,5 года.

Про не всемогущий agile

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

А от исполнителя нужно только локальное управление внутри задач и команды, приоритеты и контроль, состав спринтов. Работали по T&M, еженедельно отгружая таймшиты. При этом нам полностью доверили экспертизу и проектирование системы и ее архитектуры, но на входе дали лишь основную суть бизнес-задачи. Детальное исследование и постановка была тоже на нас. Главная проблема была в том, что кроме РП со стороны заказчика в его команде первые два месяца по сути никого не было. И осознал он (мы заметно раньше) эту проблему только через два месяца работы. То есть когда мы, во-первых, не дошли до ожидаемого им результата (напомню, управление на стороне заказчика) и, во-вторых, ему показалось, что выставленный счет слишком высок, несмотря на регулярные таймшиты, которые принимались и фиксированные ставки договор-то был по T&M. Пахло кризисом жанра. Ситуацию усугубляло еще и то, что со стороны заказчика, как и в прошлом кейсе, системы-источники для разрабатываемой системы были не готовы с нами интегрироваться, а заказчик отказывался принимать результаты работ без демо работоспособного решения.

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

Про опытных пожарных

Так исторически сложилось, что я начал помогать решать проблемные ситуации и в проектах коллег. И за последние несколько лет не было и года, чтобы я не помогал тушить по крайней мере один пожар, ну, или снижать градус жары. Тут бывали разные ситуации. Например, в одном проекте крупной торговой сети я не занимая место основного РП, помог усилить команду управления. В мои задачи входило: перезагрузить отношения с командой заказчика, пересогласовать план работ и успешно довести проект до завершения. Еще в одном проекте была как раз смена менеджера, в котором я поработал над реструктуризацией графика в угоду общей цели проекта. Пожара не было в итоге. Ну и вообще иногда полезен взгляд со стороны сам пользуюсь этой опцией в своих проектах. У нас в командах это практикуется.

Мало огня?

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

Этот кейс был особенно сложен еще и тем, что по ходу проекта (это более 1,5 лет) многие задачи делались от потребности заказчика в моменте, без оглядки на ТЗ. К концу проекта оказалось, что сделана гигантская работа, но не по ТЗ. Хотя многое реально потеряло актуальность за время проекта. А подписались-то мы под ТЗ. И особенности конкретного заказчика были таковы, что невыполненные требования ТЗ к принимаемой системе это путь под откос.

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

Противопожарные меры

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

Со стороны исполнителя важные и проблемные места, которые могут привести к пожару:

1. Отсутствие полной команды управления исполнителя. Для КРОК это два менеджера РП и технический менеджер ТМ, а для комплексных проектов с несколькими командами РП и несколько ТМ;

2. Проблемы коммуникаций не пускают к функциональным заказчикам;

3. Проблемы коммуникаций между смежными командами внутри исполнителя (тоже бывает не так уж редко), и, конечно, с командами заказчика;

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

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

Со стороны клиента:

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

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

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

Про самое важное в проекте для исполнителя про команду

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

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

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

Другим классным инструментом, которым в КРОК по мере возможности пользуюсь тимбилдинги. И это вовсе необязательно замороченное мероприятие типа командной сдачи норм ГТО (хотя и такое было, и это было огонь!). Тут можно и просто собрать команду в неформальной обстановке, пообщаться, поиграть в дженгу и киккер и просто снять таким образом напряжение зума, тимса, вебекса и бесконечных созвонов-созвонов-созвонов Это работает! Я проверил!

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

Вместо заключения

У меня не было цели описать чудесную пилюлю и раскрыть секретное заклинание о том, как починить любой проект. Универсального лекарства нет, проекты уникальны. Прямо тиражных решений в КРОК очень немного в основном мы строим сложные, часто уникальные системы для клиентов, глубоко кастомизируя их. За это нас ценят мы умеем склеить то, что раньше никто не клеил и построить даже кажущиеся безумными решения. Одно в моем опыте работы остается неизменным это отношения с людьми. РП зарабатывает авторитет не тогда, когда говорит и делает то, что хочет заказчик, а тогда, когда не пасует перед сложностями в согласовании реструктуризации плана проекта и трезво оценивает ситуацию, готов оперативно реагировать на вызовы в проекте, подключать нужные ресурсы. Поверьте, заказчик будет вас уважать, даже если вы нарисуете новый план со сдвигом сроков, но! все эти новые сроки выдержите. РП сказал = РП сделал вот главная сила и рабочее решение большинства сложных ситуаций.

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

Подробнее..

Практика создания единого шаблона проектов на базе Azure DevOps (TFS)

16.04.2021 08:17:32 | Автор: admin

В одной из прошлых статей мы писали, как всей компанией перешли на единый трекер на базе Azure DevOps (TFS). Это позволило нам создать единый свод правил для ведения проектов. Рассказываем, как наш проектный офис разработал логику, по которой сейчас работают все наши команды.

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

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

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

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

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

Дальше про то, по какой логике работает шаблон и какие настройки в него встроены по умолчанию.

Что входит в шаблон проекта True Engineering

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

На вершине пирамиды - Epic. Это бизнес-ценность, которую должна воплощать в себя функция продукта. С точки зрения разработки значимая часть функциональности, которую можно поставить за несколько итераций.

Здесь важным критерием является конечность эпика во времени, то есть достижимость конкретной цели. Хороший пример эпика Автоматизация тестирования на проекте.

Под ними Feature, эти элементы разрабатываются за 1-3 спринта). Одна Feature один бизнес-сценарий. Например, оформление командировок.

Ещё одним уровнем ниже PBI (Product Backlog Item, единица поставки), они представляют собой отдельный кейс в рамках сценария. Подготовка заявки на командировку, согласование поступающих заявок, загрузка чеков для авансового отчёта это PBI. Они разделяются на Task-и, атомарные единицы работы, которая назначается на исполнителя и не занимает больше 8 часов.

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

2. Механика конвейера разработки. Это огромная часть работы любого PM они контролируют, в каком состоянии находится каждая разрабатываемая фича, отслеживают, чтобы в нужный момент команда могла отправить код на тест, и так далее.

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

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

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

3. Поддержка планирования ресурсов и времени. Мы внедрили во всех командах три метрики для контроля трудозатрат:

  • Первоначальная оценка времени на разработку

  • Реально зарепорченное время

  • Остаток времени

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

Технические возможности шаблона в Azure DevOps

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

Плагин TFS Aggregator. Этот инструмент подключается к проекту и позволяет автоматические контролировать движение статусов Task-ов и по этим данным отслеживать состояние их родительских PBI. В результате мы можем написать единые правила для трекера заказчика и отправлять ему оповещения о статусах релизов, комментариев к задачам и т.д. Эта функция используется для автоматического сбора Release Notes, уведомления заказчикам о поставках фич, как мы рассказывали в материале про Release Notes.

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

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

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

Куда двигаемся дальше

Наша первоочередная цель это интеграция с порталом фича-флагов. Этот инструмент постепенно берут на вооружение всё больше наши команд, и мы хотим, чтобы состояние фич было видно в TFS.

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

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

Подробнее..

Recovery mode Когда люди не занимают первую строчку приоритетов руководителя, он становится ограниченным

14.05.2021 12:21:34 | Автор: admin
image

Непрофессиональное управление, нередко, загоняет руководителя (даже сильного, успешного и опытного) в состояние зависимости от сотрудников. А, происходит это примерно так:

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

В этот период, сотрудники для него являются приоритетом 1. Не потому, что это у него такой стиль управления. Нет! Он понимает, что именно от них будет зависеть его будущее. И если он хочет добиться успеха, он должен заработать их доверие и авторитет. Либо, что также не редкость, он просто боится быть не демократичным (как минимум, пока).

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

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

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

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

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

За проблемами идут ещё большие проблемы. Сотрудники начинают покидать компанию. И ладно бы уходили слабые и не важные. Но, уходят, либо крепкие середнячки, либо звёзды, на которых все держится. И ладно бы один, ну или два. Нет! Компанию покидают в короткий промежуток ряд экспертов. Босс начинает чувствовать запах жареного и возвращает людей в первый приоритет своего рейтинга, но уже поздно. Люди разочарованы, люди демотивированы, люди не верят и не поверят, что все будет хорошо.

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

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

P.S. Я ни в коем случае не говорю, что ласковое и аккуратное отношение с сотрудниками это плохо, и, что руководитель должен хамовато общаться сверху вниз, и сидеть с надменным видом. Ничуть! Плохо в этом то, что руководитель теряет один из ключевых своих инструментов власть. Он становится ограниченным, испуганным и нерешительным. А это не лучшие качества для руководителя.

Дальнейшее развитие истории оставляю вам на подумать

Почему руководители не ставят людей приоритетом 1 в списке своих задач?



Люди это самая нелюбимая часть работы руководителя (как бы странно это не звучало). Не зря есть шутка: в управлении было бы хорошо работать, если бы не люди.

Люди это всегда больше стресса, больше расхода энергии, больше усилий. Не проекты пугают руководителей по ночам, а люди, которые могут их не выполнить

С людьми сложно! У каждого из них свои тараканы, каждый требует уникальный подход

Люди, в отличии от машин, не стабильны. Сегодня они работают на 100%, а завтра что-то нет настроения...

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

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

Больше о менеджменте в telegram-канале: t.me/OS_management
Подписывайтесь!
Подробнее..

Recovery mode Последние дни жизни демотивированного сотрудника

21.05.2021 12:08:14 | Автор: admin

Под последними днями я, конечно же, имею в виду последние этапы сотрудничества демотивированного сотрудника с компанией.

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

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

Первый этап: Обида

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

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

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

Второй этап: Отсрочка

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

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

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

Сотрудник понимает, что дальше так продолжаться не может. Пора с этим кончать. И вот тут наступает та черта, перейдя которую его вернуть уже будет практически невозможно. Сотрудник принимает решение, что в долгосрочной перспективе он себя не видит в этой компании. Эта работа для него временная, он долго здесь работать не будет. От этого решения ему сразу становится легче. Он как-бы освобождается от бремени. Хоть он и чувствует отвращение к компании и источнику демотивации, но по крайней мере, он чувствует, что этим решением он освободился. Остаётся только определиться с датой увольнения.

И большинство сотрудников берут отсрочку. Мало кто готов взять и сразу уволиться. Кто-то ждет понедельника, кто-то решает уйти после отпуска, а кто-то планирует пересидеть более длительный срок. Зачем? Несмотря на то, как сильно обидели сотрудника, у него могут быть обязательства, которые не позволяют ему принимать горячие и необдуманные решения (ипотека, семья, обучение, ...).

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

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

Почему? Ответ простой. Какой смысл вкладываться в компанию, в которой ты работаешь временно?

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

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

P.S. Мой пример - не догма. Есть разные сотрудники и разные ситуации.

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

Второй пример, если сотрудник в хороших отношениях с руководителем и не хочет его подвести. Тогда он будет работать ради него на 100%.

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

И прочее...

Третий этап: Увольнение

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

В этот период ему уже крайне все равно. Он не боится прогулять, он не боится что-то не сделать, он не боится в рабочее время проводить собеседования (тем более сейчас этому способствует удаленная работа). Он может спокойно, даже не скрывая, посвятить свое время поиску. Он не боится последствий. Ведь, что может сделать с ним его босс? Уволить? Так он и так увольняется :)

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

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

Что видит руководитель?

Когда сотрудник принял решение об увольнении и начал работать не так, как нужно - его результаты стали хуже. Он стал менее лояльно коммуницировать, у него изменился внешний вид, он стал более серьезным. Так продолжается день, неделю, месяц. Руководитель, наблюдая за таким изменением, и не понимая истинной его причины, начинает отзеркаливать такое отношение (не специально, это происходит на автомате). Он удлиняет дистанцию, начинает более жестко коммуницировать, усиливает контроль, меньше вовлекает. Ведь как по другому, когда сотрудник себя так ведет? Почему я должен с ним сюсюкаться? - думает он. И, такая реакция вполне естественна. Согласитесь, очень сложно быть добрым и мягким с тем, кто не отвечает взаимностью.

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

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

Как правильно: испортилСЯ или испортиЛИ?

Мы закончили кейс словами руководителя: испортился и стал плохо работать. Насколько это оправданное заявление? Мне кажется не очень

Люди просто так не меняются. Если к вам пришел нормальный человек, который успешно прошел испытательный срок, который качественно отработал 6+ месяцев, который подтвердил свою экспертизу и профессионализм,... , и через какое-то время он пошел по наклонной - проблема не в нем, а в вас. Значит появился какой-то демотиватор, который стал раздражать сотрудника настолько, что это стало невыносимой преградой для его дальнейшей эффективной работы.

Почему руководитель предпочитает использовать именно слово испортился?

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

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

Но, все же, как мы узнали с кейса, изначально проблема была в том, что сотрудник был демотивирован каким-то фактором, и это, как следствие, привело к такому состоянию и такому результату. Не он испортился, а его испортили! Сразу на ум приходят слова русского классика М. Ю. Лермонтова: Я был готов любить весь мир, меня никто не понял: и я выучился ненавидеть.

Потери

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

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

Отсрочка, инициируемая руководителем

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

Насколько это правильно? Опять-таки, у меня по этому поводу есть сомнения...

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

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

Другие кейсы находите в telegram-канале:https://t.me/OS_management

Подписывайтесь! Далее будет...

Подробнее..

Фактор демотивации 1 Отсутствие стратегии в головах сотрудников

28.05.2021 08:05:31 | Автор: admin
image

Введение



Дорогие читатели, в моей картине мира существует 48 демотиваторов, которые влияют на работу сотрудников компании. И, так как каждый человек уникален, одни демотиваторы могут оказывать на него сильное влияние, другие среднее, а некоторые могут быть практически незаметными. Поэтому, нумерация демотиваторов никак не отображает их мощность и влияние на сотрудника. Это просто нумерация.
Cейчас вы ознакомитесь с демотиватором под номером 1 в моем списке. Через какое-то время я выложу второй, потом третий,. Когда вы ознакомитесь со всеми, каждый сам для себя сможет определить правильную приоритетность и выбрать, какой будет на первом месте, какой на втором и так далее.

Итак, начинаем серию. Приятного чтения!

Covid-19 Карантин Кризис Компании закрываются Бюджеты сокращаются...


Все это видят сотрудники. Они видят сокращения. Они видят, как компании начинают усиленно наблюдать за бюджетом. Они видят, как с рынка уходят крупные компании.
Что сотрудники чувствуют, глядя на все это? Они чувствуют опасность и страх. Они начинают сомневаться в своей компании. Компания может быть большой, известной, статусной, но это было вчера, а сейчас и впереди нестабильность. Кто его знает, как завтра все повернется? Вот, Иван Сергеевич вчера тоже работал в большой компании. А сегодня ищет новую работу так рассуждает сотрудник.


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


Люди боятся
С одной стороны, летит информация: массовые сокращения достигли x%, а с другой стороны: компании приостановили поиск новых кандидатов на y%. Они ощущают страх, они находятся в состоянии стресса. Вот-вот, и их позовет руководитель и сообщит о прекращении сотрудничества.


К чему это приводит?


Люди теряют задор и снижается продуктивность. Во-первых, это естественная реакция организма на состояние страха, стресса и давления. Сотрудник, особенно интеллектуально труда, не может эффективно работать в таком состоянии. Он быстро устает, у него меньше энергии, он не может творить. Он не может собрать мысли и сконцентрироваться. Во-вторых, а зачем напрягаться, если компания завтра пойдет на дно, если меня завтра уволят, если компания мне не заплатит? Если сотрудник и до этого был не очень вовлечен и раньше пытался увильнуть от работы, то сейчас у него для этого есть прекрасный повод и аргумент. Чем он с удовольствием и воспользуется.
И это все происходит во время кризиса!!! В то время, когда нужно мобилизоваться и увеличить эффективность! Вы понимаете всю абсурдность и печальность ситуации? Когда компании нужно увеличить свою эффективность, чтобы выжить люди уменьшают эффективность своей работы. Это усугубляет ситуацию и приводит к логичным последствиям.


Кто виноват в этой ситуации?


Начнем с сотрудников. Разве они виноваты? На чем строят они свои выводы? На том, что говорят руководители и как они об этом говоря. Но, проблема в том, что не говорят. Тогда, приходится пользоваться всем остальным: слухи, новости, друзья, свои умозаключения (мол, глядя на трещину в стене, мне кажется, что нам трындец), . Более рациональные попробуют логически рассуждать в разрезе компании и ее результатов, и попытаются вспомнить:


  • какие у нас были раньше результаты?
  • что раньше говорило руководство о положении компании?
  • всегда ли вовремя платили зарплаты?
  • были ли раньше проблемы?

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


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


Если бы сотрудник владел всей необходимой для адекватной оценки информацией, он бы, либо перестал боятся, либо осознанно боялся. А осознанный страх это совершенно другое состояние. Оно заставляет выходить на вопрос: Как это изменить? Как этого избежать? Как на это повлиять?.


image

.


Что делают руководители?


Они никак не коммуницируют с сотрудниками. Почему? Выделяю три популярные причины:


1) Мы сами ничего не знаем.


Руководители, вместо того, чтобы включаться и работать над антикризисными мерами ждут. Ждут, когда все рассосется само, когда все стабилизируется, когда закончится карантин. Ждуны!


Самые популярные фразочки:


  • Нас это не затронет.
    Фраза опирается, либо на безумную самоуверенность, либо на специфику деятельности. Мол, если мы работаем в IT, значит нам кризис не страшен. У нас все процессы настроены и готовы для удаленной работы. Нам нечего боятся!.
    Да, вы можете работать с клиентами удаленно. Но, нужны ли вы вашим клиентам? Кризис же это не только проблема процессов, но и проблема уменьшения потребительской составляющей. Прекрасно, что вы готовы предоставлять свои услуги в удаленном формате. Но, ваши клиенты для этого должны иметь деньги. Если их убьет этот кризис он убьет и вас.
  • Мы уже 2 кризиса пережили и этот переживем.
    То, что компания пережила несколько кризисов (хоть десять) не делает ее бессмертной. Кризисы, как и болезни, разные. Каждый новый кризис это новая болезнь, с новыми условиями, с новыми симптомами, с новыми побочными эффектами. Мы не знаем, какая комбинация этих условий сейчас будет работать против компании. И, как раз, возможно, именно эта комбинация станет роковой.
  • Давайте подождем месяцок-другой. Если ничего не изменится начнем действовать.
    Достаточно популярный выжидательный вариант. Чаще всего встречается в негибких компаниях, руководители которых понимают насколько сложно будет попытаться изменить движение этой махины. Решения в таких компаниях принимаются всегда запоздалые и сильно затянутые. Им проще выждать, чем это все перенастраивать.

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


2) Руководители не считают это важным.


Первый вариант: руководители просто не думают об этом. Раньше никогда подобная коммуникации не проводилась, нет такой практики. Да и времени сейчас нет на совещания: Работать нужно, а не совещаться!.
Работать нужно, но вместе с этим работа должна быть точной и эффективной. Люди должны понимать, какая ситуация сейчас, что их ждет завтра и куда мы бежим и почему. Это снимет страх и повысит точность выстрелов (правильных решений и действий).
Но, скажу больше. Состояние турбулентности, в котором находится компания во время кризиса, укорачивает период заряженности сотрудника. То есть, если вы провели мотивационную беседу с людьми, эффект такой мотивации будет в разы короче, чем в спокойное время. Поэтому, во время кризиса, время на коммуникацию должно выделяться в большем объеме, чем это было ранее! А если ранее не выделялось самое время начать.


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


3) Руководители боятся, что люди негативно отреагируют.


Попросту говоря, руководители боятся, что люди услышав какое-то непопулярные решения начнут сопротивляться в его реализации. Начнут бунтовать, саботировать и увольняться.
Могут и будут :) Никогда не будет ситуации, когда все сотрудники спокойно примут неприятные для них новости. Но, вопрос в масштабах сопротивления. Если вы вообще не выйдете к людям, они все равно все додумают сами и этот их вариант будет еще страшнее выглядеть. Поэтому, я считаю, что, если даже в стратегии есть плохие новости их все равно нужно озвучить публично. Это, во-первых, действие сильного человека и руководителя не бояться и говорить все, как есть. Во-вторых, у вас же все равно есть вариант выхода из этой плохой ситуации. Правда? А если так, то вы его также озвучите и люди увидят: Да, есть проблемы. Но, компания знает, как с ними бороться и что для этого нужно делать. И есть план И есть сроки. Это выглядит сильно!


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


Рассматриваю ли я эту компанию как ту, в которой я планирую долго работать?


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


К вам в компанию приходят разные люди. Одни с самого начала настроены на режим от работы кони дохнут, а другие ищут плацдарм для старта своей карьеры. Но, вот вопрос: увидят ли они в вашей компании те нужные характеристики плацдарма, которые убедят их разделить большой кусок своей карьеры именно с вами? А это все стратегия. Даже если ваша компания маленькая, ваша стратегия, которая имеет амбициозные и реальные цели, убедит с вами работать хороших специалистов.
P.S. Развитие компании с нуля часто является драйвером для амбициозных.


Рассмотрим еще один пример. Есть молодой амбициозный человек, который только что закончил Университет. Он хорошо учился, во время учебы подрабатывал и имеет неплохие софт скилы. Сейчас он выбирает для себя компанию, в которой начнет свою карьеру. Он понимает, что на высокую позицию ему пока претендовать рано, так как нет, ни опыта, ни знаний, да и годков ему маловато. Он это понимает и готов начать с нуля. И вот, он попадает в вашу компанию и начинает работать. Проходит два месяца, и он прекрасно понимает, насколько долго он с вами. Как он делает этот выбор? На основе стратегии компании! Он сопоставляет перспективы развития компании со своими планами на карьеру. Если стратегия никакая либо ее нет он не будет рассматривать компанию, как такую, в которой можно долго работать и расти.


Итоги


Если у сотрудников нет информации о состоянии компании и ее будущем, они будут испытывать страх и будут переживать за свое будущее. Это касается, как кризисного периода (о котором я детально рассказал), так и спокойного.


image

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


  • текущем состоянии компании;
  • успехах;
  • проблемах;
  • перспективах;
  • стратегии (изменениях в стратегии).

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


Лирическое отступление
Кризис 2020 я считаю полезным, в части того, как он повлиял на управление в компаниях. Компании пересмотрели свои бизнес-процессы, компании оптимизировались, компаниям пришлось разработать стратегию, компаниям пришлось пересмотреть отношение к бизнесу. Абсолютно все компании, которые остались на плаву, зашли в 2021 более подготовленными и более подтянутыми. Управленцы стали более профессиональны и более мудры.
Подобный опыт я приравниваю к выживанию в экстремальных условиях. Ведь, прохождение экстремальных испытаний, которые грозят ему смертью это опыт, который позволит ему будущем справляться с любыми трудностями. Опыт антикризисного управления. Он бесценен!


Продолжение серии и другие статьи о менеджменте находите в моем telegram-канале: https://t.me/OS_management
Подписывайтесь! Далее будет
.
.
.

Подробнее..

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

03.11.2020 18:06:31 | Автор: admin
Привет, Хабр! Представляю вашему вниманию перевод статьи Will Remote Compensation Be Tied To Location In The Future? автора Phil Haack.

image

На днях в Твиттере Дэвид Энсон спросил:
Если кто-то работает на 100% удаленно, почему его зарплата должна быть привязана к тому, в каком городе он находится? Они производят точно такую же работу, если они находятся в большом городе или в деревне. Корректировка стоимости жизни применяется, когда работа заставляет людей где-то работать; здесь это не актуально.
Это вызвало оживленную дискуссию.

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

Мое мнение основано на нескольких предположениях.

  1. Здесь мы говорим об информационных работниках, хотя я могу использовать слово разработчик в качестве замены информационному работнику, поскольку я знаю разработчиков.
  2. Информационные работники могут выполнять работу одинакового качества независимо от того, где они живут, если у них есть хороший доступ в Интернет.
  3. Удаленная работа станет более распространенной и даже доминирующей в будущем.

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

Причина этой тенденции к географическому равновесию компенсации описывается экономическим принципом, называемым законом одной цены (LOOP). Я вернусь к этому позже.

Как компании определяют размер компенсации


Начнем с важного вопроса. Как компании определяют компенсацию? Основано ли оно на моральном представлении о том, что человеку нужно или чего он заслуживает? Основано ли это на стоимости жизни? Или они бросают дротик в бумажки с зарплатой?

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

То, что может сойти с рук компании, зависит от ряда факторов, но наиболее важным из них является то, сколько платят другие работодатели. Другими словами, The Market.
Мысленный эксперимент может прояснить этот момент.

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

Представьте, что вы компания в городе, где средняя зарплата разработчика составляет 100 тысяч долларов в год. Вы решаете заплатить разработчикам 75 000 долларов. При прочих равных вам будет сложно нанять разработчиков. Хорошие разработчики будут стекаться в компании, которые платят 100 000 долларов и более. Это объясняет, почему рынок устанавливает более низкий предел оплаты труда. Компаниям не сойдет с рук платить слишком низкую рыночную ставку.

Теперь предположим, что вы решили проявить щедрость и заплатили 125 000 долларов. У вас не будет проблем с наймом разработчиков. Но есть и обратная сторона. Платя намного выше рыночной ставки, у вас быстрее закончится бюджет, и вы не сможете нанять столько разработчиков, сколько могли бы в противном случае. Это может привести к тому, что в вашей команде будет слишком мало разработчиков. Если бы вы платили ближе к рыночной ставке, вы могли бы нанять больше разработчиков.

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

Иногда компаниям приходит в голову блестящая идея вступить в сговор с целью удержания заработной платы на низком уровне. Это произошло несколько лет назад с некоторыми известными компаниями, и их поймали.
Apple и Google урегулировали массовый иск, связанный с утверждениями о том, что они вступили в сговор с двумя другими технологическими гигантами, чтобы поддерживать низкий уровень заработной платы в Кремниевой долине и избегать приема на работу из числа друг друга ...
Компании также используют асимметрию информации, чтобы поддерживать низкий уровень заработной платы. У компаний данные о зарплатах лучше, чем у отдельных сотрудников. Сотрудники часто не осознают, что их вознаграждение со временем не поспевает за рынком. Или что им платят меньше, чем их сверстникам.

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

Имейте в виду, что 50% это консервативное число на самом нижнем конце спектра. Это при условии, что ваша карьера продлится всего 10 лет. Чем дольше вы работаете, тем больше будет разница в вашей жизни.
Если компании отслеживают рынок, то разница между оставлением или уходом в течение десяти лет должна быть незначительной. Если бы они платили выше рыночной, то сотрудники были бы вознаграждены за свою лояльность. Вместо этого факты показывают, что компании наказывают за лояльность. Почему? Потому что им это может сойти с рук из-за асимметрии информации.

Как удаленная работа меняет рынок


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

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

Эти различия сохраняются из-за рыночных трений. Компания в Колумбусе может продолжать выплачивать зарплату Колумбу, потому что у местных разработчиков нет легкого доступа к лучшим вариантам. Там разработчику сложно переехать в Сан-Франциско с более высокой оплатой. Точно так же компаниям из Сан-Франциско очень сложно построить там дополнительный офис для доступа к более дешевым талантам. Заработная плата в этих городах соответствует уровню местного рынка.

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

Для компаний, использующих удаленную рабочую силу, рынок талантов выходит за пределы их нынешних географических границ. Это приводит к появлению на рынке талантов все меньше и меньше трений. Компания в Сан-Франциско, желающая иметь удаленных сотрудников, теперь не имеет проблем с наймом разработчика в Колумбусе. Им не нужно строить или сдавать в аренду офисные помещения в этом городе. Стоимость найма разработчика здесь ничтожно мала, чем в Сан-Франциско. Хотя стоимость компенсации совсем другая!

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

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

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

Представьте себе будущее, в котором удаленная работа станет доминирующим видом работы в Соединенных Штатах. Разработчики могут работать в любой компании в любой точке страны. Тем не менее, застройщики по-прежнему получают компенсацию в соответствии с местным рынком в городе, в котором они живут. В этом сценарии разработчики из Сан-Франциско зарабатывают 200 тысяч долларов, а разработчики из Огайо 100 тысяч долларов. Что будет со временем?

Что ж, умные компании в Сан-Франциско поймут, что переплачивают разработчикам. У них возникнет соблазн потеснить 125 тысяч долларов перед лучшими разработчиками Огайо и переманить их всех. Столкнувшись с этой конкуренцией, компании в Огайо должны будут начать повышать заработную плату, чтобы сохранить своих лучших сотрудников. В то же время заработная плата в SF начнет падать, поскольку разработчики SF конкурируют с разработчиками в Огайо и по всей стране. Общая тенденция заключается в том, что зарплаты разработчиков по всей стране будут приближаться к равновесию. Это следует закону одной цены.

Гаечный ключ на рынке


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

Нет.

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

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

Еще одно условие закона одной цены:
покупатели или продавцы не манипулируют ценами.

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

Расизм и сексизм также продолжают приводить к неравенству в оплате труда.

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

Это хорошо?


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

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

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

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

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

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

Также следует привести аргумент о справедливости. Если два разработчика предоставляют компании одинаковую ценность, не следует ли им получать одинаковую компенсацию? Как менеджер, я оказался в ситуации, когда у меня один сотрудник зарабатывал на 50% больше, чем другой, даже несмотря на то, что они были одного уровня и навыков просто потому, что один жил в городе уровня 1, а другой в городе уровня 3. Например, такая компания, как Microsoft, получает прибыль в размере 273 000 долларов на сотрудника. Эта прибыль волшебным образом уменьшается, если сотрудник переезжает из Сан-Франциско в Колумбус? Тогда зачем им компенсация?

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

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

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

Консилиум с Eltex разработка ПО

13.02.2021 06:17:09 | Автор: admin

Всем доброго времени суток!

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

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

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

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

Ранее мы уже были в гостях у компании, затрагивали тему технологии беспроводной передачи данных на примере Wi-Fi 6 (IEEE 802.11ax). Нам также удалось не только провести экскурсию по производству, но и застать руководство врасплох вопросами о бэкдорах)

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

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

Кратко о бизнес-процессах

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

Основные этапы разработки и производства

Рассмотрим этапы разработки и производства более подробно. Предприятие активно взаимодействует с заказчиками и анализирует ключевые тренды рынка, что позволяет своевременно выпускать конкурентоспособную продукцию отечественного производства. Идея разработки нового устройства формализуется в виде технических требований при участии архитектора и сотрудников коммерческого отдела и сервисного центра. На этапе проработки требований первостепенная цель - конкретизировать ключевые особенности аппаратной и программных частей, а также согласовать дорожную карту развития продукта. На следующем этапе при участии лаборатории Hardware подбирается электронно-компонентная база (ЭКБ), удовлетворяющая поставленным задачам. В качестве примера можно привести выбор центрального процессора: его характеристики должны соответствовать ожидаемой производительности, целевой себестоимости и предельному энергопотреблению. Ключевыми артефактами данного этапа являются принципиальная и структурная схема устройства. На основе этих схем рисуется топология, после чего заказывается плата. Тут важную роль играет отдел снабжения, который взаимодействует с поставщиками ЭКБ и обеспечивает бесперебойную поставку компонентов для производства устройств.

Этап запуска первых опытных образцов устройства обычно называется Bring-Up и характеризуется взаимодействием отдела разработки и лаборатории HW. Для запуска устройства нужен софт - это зона ответственности отдела разработки. За основу софта берется SDK ключевых ЭКБ устройства и готовится первичный софт, именуемый прошивкой, для возможности проверки основных электронных компонентов, таких как: светодиоды, phy, wi-fi радиомодули.

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

После первого этапа и корректировок в схеме заказывается предсерия устройств и готовятся производственные методики.

Одновременно с этим команды разработки и сервисного центра активно работают над софтом для устройства. После чего устройство подходит к этапу массового производства и активных продаж. Жизненный цикл устройства составляет 3-5 лет, и на всём протяжении жизни обеспечивается техподдержка, а также модернизация устройств.

Софт формируется в релизы - это совокупность работ, которые нужно выполнить к определенному сроку. Для этого используется баг трекер, где фиксируются основные задачи. Разработка релиза делится на несколько этапов: планирование, разработка, стабилизация и выпуск релиза, включающий проверки в эксплуатации. На выходе получается прошивка, которая в дальнейшем используется на производстве для выпуска партий устройств. Рассмотрим, из чего состоит типовая прошивка. Роль основной системы устройства играет одна из версий Linux, модернизированное ядро которой обычно идет в составе SDK производителя основных ЭКБ. Для запуска системы используется загрузчик. На каждое устройство и версию ПО соответствующим отделом разрабатывается и обновляется исчерпывающая многоязычная документация. Вся рабочая документация хранится в системах организации и хранения знаний: Confluence, Wiki.

Следует отметить, что для графического управления устройствами используется Web-интерфейс или софтовый контроллер. За разработку этих систем отвечает отдельная лаборатория.

Используемый стек технологий

Разнообразные языки программирования и технологии позволяют предприятию решать широкий диапазон комплексных задач: от написания модуля ядра, разработки высоконагруженных сервисов, развертывания их в Docker с использованием Kubernetes до создания Android/IOS приложений.

Ресурсы аппаратного обеспечения сетевых устройств зачастую ограничены. Эта особенность определяет стек технологий для создания встроенного программного обеспечения. Соответственно, на предприятии Eltex используется язык Си, как основной язык ядра операционной системы Linux. Широко используется С++, в некоторых лабораториях есть опыт написания модулей на Rust. Для решения узких задач пишутся вставки на ассемблере. В одной из лабораторий для написания высокопроизводительный приложений для телефонии используется язык Erlang. Для отладки кода используются следующие инструменты: отладчики (GDB); средства захвата и анализа сетевого трафика (wireshark); утилиты отладки использования памяти и трассировки системных вызовов (valgrind, strace); статические анализаторы кода (cppcheck, PVS-studio). Для сборки прошивок разворачивается Jenkins, сборки осуществляются в Docker контейнерах.

Обеспечением качества и поддержкой продуктов в эксплуатации занимается отдельный отдел - сервисный центр. Их главная задача - обеспечить выпуск ПО, удовлетворяющего внутренним критериям качества. Они пишут тесты различного назначения (функциональные, интеграционные) на bash и python. Создают инфраструктуру, обеспечивающую поддержку постоянного уровня качества. На каждом из этапов команда взаимодействует с разработчиками, обеспечивая контроль качества выпускаемого ПО: прорабатываются и выполняются тесты как по отдельным задачам, так и по крупным фичам, разрабатываются стенды и схемы интеграционных проверок, модернизируются старые и пишутся новые тесты. Регулярные автоматические тесты позволяют выявить ошибки на раннем этапе. В зависимости от направления и тестируемого продукта используются различные инструменты. Для автоматизации тестов задействуются следующие инструменты: pytest, selenoid, allure, яндекс танк, ansible. Используемые инструменты для логирования: graylog, elasticsearch, influxdb, telegraf, prometheus, grafana. Также стоит отметить, что для организации ci-cd применяется gitlab.

Невозможно представить сетевые устройства без сервисов управления и мониторинга. ПО данного типа может быть как в составе железа (WEB-интерфейс), так и распространяться в виде deb-пакетов или Docker контейнеров (контроллерные решения). Для внешних решений используются языки java, kotlin, go, python. При разработке встроенного WEB-интерфейса используются Angular/JS для фронтенда и lua/C++ для бэкенда.

В компании есть группа, которая пишет Andoid/Ios приложения для мобильных устройств на Java и Swift. Эта группа разрабатывает различные вспомогательные приложения для Media приставок, а также для проекта умного дома/офиса.

Заключение

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

Безусловно, без внимания остались и другие не менее интересные вопросы. Но не все сразу!) Подробнее с темой Вы можете ознакомиться в видеоконсилиуме.

Надеемся, материал был интересен и полезен. Если подобный формат понравится студентам и сообществу Хабра, то постараемся и дальше записывать интересные консилиумы.

Подробнее..

Самодиагностика команды разработки

20.05.2021 08:20:21 | Автор: admin

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

С точки зрения каждого члена команды, мы полагаем, что "каждый сам себе CEO", тем самым, это зона ответственности каждого индивида. С точки зрения продукта - у нас есть менеджмент, который собирает метрики, делится своим видением будущего и планирует дорожные карты. Но с точки зрения команды - у нас есть мы сами, продукт и нам со всем этим нужно что-то делать.

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

Опросы

Да, это очередные опросы, но в нашем случае они приносят пользу и каждую ретроспективу поднимаем вопрос, нужны ли нам они или уже нет. У нас спринты длятся 2 недели, поэтому у нас есть еженедельный опрос и опрос в конце спринта.

Еженедельный опрос

В конце каждой недели мы получаем опросник на 30 секунд с вопросами: как часто у вас не было сил выполнять работу? Получал ли удовольствие от задачи? Сколько часов переработал? На выходе мы строим график для всей команды в динамике за последние 6 недель и обсуждаем на ретроспективе.

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

Опрос в конце спринта

Тут всё просто, мы за пару часов до ретроспективы всей командой отвечаем на простой вопрос "Как вам спринт"? Тут мы уже преследуем цель разговорить команду. До введения этого опроса, ретроспектива начиналась с молчания и попыток скрам-мастера разговорить людей, что, как правило, заканчивалось "да обычный спринт, ничего такого". Сейчас же команда стала более разговорчивой, больше обсуждают проблем и кидают больше идей.

Опросы раздражают

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

Мотивация

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

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

Как минимум, воодушевление пришло когда люди узнали кастомеров, например, "О, это мой банк", "У этих 3-х компаний больше миллиона сотрудников", "У меня машина этой компании" или "Я читаю финансовые новости от них". Думаю, в компаниях, названия которых встречаются хотя бы раз в месяц дела обстоят лучше.

Боли (от выполнения ручной/неудобной работы)

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

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

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

  • Опять же посмотреть в Jira и рассмотреть что мы можем делать лишнего, или что уже не актуально и можно упразднить. Например, мы рассматривали релиз-тикеты и пытались понять какие моменты мы можем делать быстрее. Так мы обнаружили, что security scan кода занимал по 20-30 минут, мы подумали, что можно делать всё проще и в итоге сейчас это занимает около 5-10 минут.

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

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

  • Изучение будет происходить в паре/тройке. Так и интересней, и если кто-то уйдёт в отпуск - работа не встанет.

  • Пары/тройки будут меняться в будущем. Чтобы команда не дробилась на небольшие "кружки по интересам" и оставалась одной командой.

  • Внутри пары/тройки нет ограничений на источник обучения. Кому-то могут нравиться курсы с LinkedIn, кому-то с Udemy, а кто-то вообще нашёл крутой разбор темы на YouTube на своём родном языке.

Больше болтовни

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

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

Также мы заметили, что когда люди включают web-камеру - они более искренне и более разговорчивы. Если вся команда не разговорчива, мы просто используем Wheel Of Names и там уже рандомом выбираем кто будет говорить.

Фидбеки

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

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

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

  • Кастомеры задавали вопросы на одни и те же сообщения в логе. Суть в том, что в логе мы печатали что-то вроде "Module: service XXX call, RC = Y, RSN = ZZ". Т.к. это вообще не понятно никому, L2 выстраивали у себя сводную таблицу таких сообщений, чтобы отвечать кастомерам. Если какая-то новая комбинация - то это шло дальше в L3 (к разработчикам). Решением было простым: мы просто написали функцию которая по кодам печатает user-friendly сообщения с полным описанием причины проблемы.

  • Кастомеры находили уже пофикшенные баги. С каждым релизом мы не так много внимания уделяли описанию проблем. В итоге, когда пользователь встречал баг, он открывал описания выпущенных релизов и искал там свою проблему - разумеется он там ничего не находил и писал в саппорт. Ребятам из L2 приходилось лезть в нашу Jira и они пытались найти баги, похожие на кастомерские. Решение банально - мы стали лучше описывать баги с их симптомами в релизах. Кастомеры стали меньше писать в саппорт, т.к. находили свои баги в описаниях релизов, а если уж и открывалось, L2 на них почти всегда могли ответить самостоятельно и быстро.

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

Ежедневный отчёт

У нас каждый день скрам-мастер, в конце рабочего дня, в канале команды в слаке публикует суточный отчёт, который описывает текущие горящие темы, блоки команд, проблемы в команде/продукте и т.п. Этот отчёт полезен как для команды, так и для менеджмента. Во-первых, если кто-то из команды имеет проблемы и видит, что его проблема там не описана - он идёт к скрам-мастеру и отчёт обновляется. Во-вторых, все видят что происходит сейчас в команде, у менеджмента есть актуальный, обобщённый отчёт, и им не нужно дёргать людей, чтобы получать ответы на свои вопросы. С помощью этого отчёта мы пытаемся добиться прозрачности и выявлять блоки как можно раньше, чтобы избегать случаев "У нас уже месяц всё хорошо, но 4 недели назад случилась проблема и мы не успеваем".

Я хочу ещё раз подчеркнуть, что этот "отчёт" - был создан внутри команды для нас самих же и не занимает больше 5 минут в день для его поддержания.

Свои метрики

Внутри команды у нас есть свои метрики. Некоторые пересекаются с менеджерскими, некоторые уникальны.

Например, кастомерские проблемы идут в приоритет и нам, как команде, очень важно, чтобы оно в L3 находилось как можно меньше времени. Поэтому мы стараемся отвечать на проблему, либо находить реальную причину (например, баг) как можно быстрее. Менеджмент всего лишь следит, чтобы ответ был не дольше чем за 2/7 дней (в зависимости от важности проблемы - у них свои метрики).

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

Мы используем и другие метрики, включая самые очевидные: процент покрытия кода юнит-тестами, покрытие QA тестами функционала продукта, время жизни пулл-ревквеста или velocity команды.

Больше правил

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

Можно долго спорить и ругаться, например, что лучше: табы или пробелы, можно назначать митинги для их обсуждения, создавать новые чаты, ругаться в пулл-реквестах, а можно просто написать правило "только пробелы" и просто следовать ему. Кто-то будет недоволен, но теперь это правило, и его не обсуждают, ему просто следуют. Поэтому, рекомендую задокументировать всё, что связано с правилами написания кода. А ещё лучше, посоветовать команде почитать какой-нибудь Code Complete, чтобы разработчики (особенно начинающие) имели представление откуда эти правила берутся.

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

Также, правила должны подвергаться пересмотру. Например, в какой-то момент времени у нас случилось несколько кастомерских проблем из-за релиза, баги в котором могли быть замечены аж на трёх этапах: Разработка (code review), Просмотр билда разработчиками, и уже QA. На всех трёх этапах можно было предотвратить ошибку. Разумеется, после этого инцидента все этапы были ужесточены. В итоге то, что раньше могло занимать до 5 дней, стало занимать до 10 дней. Со временем все ужесточения были пересмотрены. Некоторые до сих пор остались, просто был изменён процесс чтобы действие занимало меньше времени, что-то было упразднено, а что-то наоборот добавилось.

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

Ответственность на всех

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

  • Плохие вещи случаются. Нельзя запланировать и предвидеть всё.

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

  • Очень просто спихнуть всю ответственность на кого-то одного и осудить его. Если такое происходит часто, то все понимают, что рано или поздно это случится с ними и уходит доверие, что приводит к росту издержек, снижению эффективности ... ну вы поняли.

  • Обвинения не решают проблем. Вообще никаких.

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

  • Женщину, которая в полной темноте переходила дорогу в неположенном месте?

  • Водителя автомобиля с автопилотом, который вряд ли сам среагировал бы?

  • Компанию, которая разрабатывает автопилот?

  • Разработчиков, кто писал код для автопилота?

  • QA кто выпустил этот код в прод?

Субъективно, тут виноваты все, либо никто. Но, очевидно, что виновные есть, т.к. в итоге женщина скончалась. Значит виноваты все.

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

Team Building

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

Заключение

Выбрав фреймворк как Scrum, Kanban, Lean и т.д. глупо надеяться что все проблемы разрешатся, все будут мотивированы, счастливы и довольны. Внутри команды не стоит надеяться, что кто-то другой решит ваши проблемы, особенно, если вы о них не говорите.

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

Подробнее..

Работа с вовлеченными сотрудниками как этого добиться? Часть 2

09.11.2020 12:16:47 | Автор: admin
В продолжении предыдущей статьи, расскажу о других мотиваторах для вовлеченных сотрудников.
Поощрение инициативы.
По данным Рамблера (news.rambler.ru/) треть россиян считают инициативу наказуемой.
Сотрудники не должны бояться высказывать свою точку зрения, проявляя инициативу, они показывают свое неравнодушие к Компании. Нужно дать им понять, что инициатива не только не наказуема, но и будет поощряться.
Интерес к работе
Каждый специалист должен чувствовать себя на своем месте, должен понимать свою роль в Команде, ее значение, и вклад, который может принести своим трудом. Как этого добиться?
В первую очередь, на этапе адаптации, нужно дать сотруднику максимально полное понимание целей и задач Компании. К чему мы идем, какая у нас миссия. На этапе формирования у специалиста мотивации, мы можем повысить его вовлеченность в задачи бизнеса, советуясь с ним, принимая его предложения, если они направлены на улучшение процессов и прочее. Сотрудник должен знать, что его мнение ценится, и, тогда он становиться вовлеченным.
Мотивационные беседы с сотрудниками.
Проводите мотивационные беседы честные разговоры со своими сотрудниками. Выясняйте, как каждый себя видит в этой компании, как оценивает свои возможности, как представляет свои точки роста, слабые и сильные стороны, куда бы он хотел двигаться, что попробовать в этой самой ситуации всеобщей неопределенности. Оптимально такие беседы проводить 4-7 раз в год, с каждым сотрудником.

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

Очень важно сосредоточиться именно на вовлеченных сотрудниках, сделать их максимально эффективными.

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

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

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

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru