Search
Write a publication
Pull to refresh
1
0
Send message

Очень странные дела: когда процессы в команде и правда помогают

Reading time13 min
Views11K

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

Этой статьёй я хочу ещё раз напомнить, как инструменты командного взаимодействия решают проблемы качественной разработки, что ответственность за качество лежит на всей команде и что agile-понятия «Прозрачность» и «Предсказуемость» часто теряются на фоне клепания тасок в Jira. Несмотря на свою очевидность, Agile-практики применяются не везде, где могли бы приносить пользу, либо применяются с ошибками и антипаттернами, противоречащими самой культуре Agile. Я расскажу, с какими сложностями столкнулся на разных этапах распространения этой культуры и что делал, чтобы их преодолеть.

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

Читать далее

CMI5, или Жизнь после SCORM

Reading time8 min
Views4.9K


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

Scope в управлении проектами

Reading time6 min
Views37K

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

Читать далее

6 Современных шаблонов проектирования архитектуры в области ПО

Reading time7 min
Views31K
Привет, Хабр! Представляю вашему вниманию перевод статьи "Modern-Day Architecture Design Patterns for Software Professionals" автора Tanmay Deshpande.

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

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

Вот список шаблонов, которые я буду обсуждать в этой статье:

  1. Circuit Breaker
  2. Command and Query Responsibility Segregation (CQRS)
  3. Event Sourcing
  4. Sidecar
  5. Backend-for-Frontend
  6. Strangler

Итак, давайте начнем.
Читать дальше →

Спокойный сон и крепкие нервы. Резервное копирование для Kubernetes. Часть 1

Reading time14 min
Views6.9K

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

Читать далее

Почему Trunk Based Development – лучшая модель ветвления. Андрей Александров

Reading time10 min
Views112K


В State Of DevOps 2018 от DORA мы видим, что Нigh Performing компании используют Trunk Based Development. Разберемся, почему именно ее, какие ее преимущества и недостатки имеет эта модель.

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

Третья космическая скорость IT, или как мы в Первой грузовой компании тестируем гипотезы

Reading time7 min
Views2.2K

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

Меня зовут Анастасия Борознова, я начальник управления инновационных технологий ПГК, выпускница НИЯУ МИФИ и Бизнес-школы Сколково. В статье расскажу о том, как можно снизить неопределенность и риски на старте реализации цифровых продуктов, повысить мотивацию сотрудников к генерации идей по внедрению изменений и существенно увеличить скорость тестирования этих идей при помощи Proof-of-concept подхода - быстрой разработки прототипов.

Поехали!

3 Амиго — способ коммуникации, для создания качественного продукта

Reading time11 min
Views98K

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


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


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



Вы также наверняка знакомы со спорами на тему "баг это или фича". Клиенты обнаружили недоработки, и product owner приходит в команду с замечаниями. А тестировщик с разработчиком защищаются, объясняя это тем, что в изначальной постановке и речи не было о реализации этой фичи. И такие моменты потом заводятся в backlog.


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

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

Управление трафиком в Kubernetes-кластере с Calico

Reading time10 min
Views13K


Практически каждый инженер, практикующий DevOps, в какой-то момент сталкивается с задачей настройки правил доступа для своих проектов. В данной статье мы рассмотрим примеры настройки сетевых политик Kubernetes-кластера, в котором используется плагин Calico и осветим некоторые интересные моменты. Предполагаем, что у вас уже имеется кластер k8s, где в качестве сетевого плагина используется Calico.

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

Руководство по Kubernetes, часть 2: создание кластера и работа с ним

Reading time22 min
Views117K
В прошлый раз мы рассмотрели два подхода к работе с микросервисами. В частности, один из них подразумевает применение контейнеров Docker, в которых можно выполнять код микросервисов и вспомогательных программ. Сегодня же мы, используя уже имеющиеся у нас образы контейнеров, займёмся работой с Kubernetes.


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

Альтернатива курсам: программа обучения для project-менеджера

Reading time6 min
Views46K

Эта статья — программа обучения для наших менеджеров на испытательном сроке. У нее есть одна особенность. Все, кто прошел её, стали Junior Project Manager (PM).

Читать далее

Заметки о (не)эффективности

Reading time13 min
Views12K

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

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

Читать далее

«Красная» корпоративная культура — главная проблема российского бизнеса (Часть 1)

Reading time6 min
Views106K


«— Скажите, пожалуйста, куда мне отсюда идти? — А куда ты хочешь попасть? — ответил Кот. — Мне все равно… — сказала Алиса. — Тогда все равно, куда и идти, — заметил Кот.» (С) «Алиса в стране чудес»

Низкая производительность труда в России


Думаю, что те из вас, кто был в Греции, ни за что не согласятся, что греки работают лучше россиян. Тем не менее, по исследованиям Организации экономического сотрудничества и развития (ОСЭР) Россия со своим показателем производительности труда на уровне $26,5 в час уступает всем странам ОЭСР (по сути все развитые страны), включая Грецию, кроме Мексики, где он составляет $21,6. Средний для ОЭСР показатель — $54,8, а у лидеров — Ирландии и Люксембурга — на уровне $99 в час.
Читать дальше →

Уточняем описание функций системы с помощью диаграммы Sequence

Reading time3 min
Views66K

Уточняем описание функций системы с помощью диаграммы Sequence (продолжение "Белки")


В данной статье рассмотрим, как можно детализировать (уточнить) описание автоматизируемой функции с помощью UML Sequence Diagram — диаграммы последовательности.


В данном примере я использую среду Enterprise Architect от австралийской компании Sparx Systems [1].
Полную спецификацию UML см. здесь [2].


Для начала поясню, что мы будем детализировать.
В 1-ой части статьи "От моделирования процессов к проектированию автоматизированной системы" мы моделировали процессы «сказочной» предметной области — строчки про белку из "Сказки о царе Салтане" А.С.Пушкина. И начали мы с диаграммы Activity. Потом во 2-ой части мы разработали функциональную модель с помощью диаграммы Use-case, на Рисунке 1 представлен фрагмент.



Рисунок 1. Связь требования и функции

Теперь мы хотим уточнить информацию о выполнении данной автоматизируемой функции:


  • с какими компонентами интерфейса будет взаимодействовать наш пользователь;
  • какие управляющие компоненты нам понадобятся;
  • что мы будем хранить;
  • какими сообщениями будут обмениваться пользователь и компоненты системы для выполнения функции.
Читать дальше →

Что такое Web 3.0, и почему он всем стал нужен

Reading time11 min
Views216K

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

Читать далее

Главная ложь SCRUM. Откуда берётся карго-культ

Reading time9 min
Views51K

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

Читать далее

Об оценке и управлении разработкой программных продуктов

Reading time13 min
Views16K
image

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

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

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

В статье я расскажу о том, как менялось мое отношение к оценке задач и как сейчас оцениваются проекты в нашей компании. А начну я с того, как оценивать не надо. Если про то как «не надо» вы уже знаете, переходите сразу ко второй части статьи.
Читать дальше →

Управленческие инструменты: 4 принципа конструктивного общения или почему мы живем в режиме подвига?

Reading time7 min
Views75K
Слышали ли вы когда-нибудь в свой адрес упреки в неконструктивности? Может быть, сами кого-то упрекали? Как вы понимаете, что вот это конкретное обсуждение не конструктивно, а вот это конструктивно?

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

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


Здесь не будет полюбившихся нам матриц 2 на 2, но пару схем мы разберем.
Читать дальше →

График платежей с напоминалкой в Telegram с помощью Google Sheets & JavaScript

Reading time4 min
Views16K

Меня заинтересовал челлендж: в течение 26 недель откладывать N+100 руб, где N - сумма, вложенная на прошлой неделе. Я решил откладывать деньги по средам, составил такую табличку в Google Sheets

Читать далее

Information

Rating
Does not participate
Registered
Activity