Рубрика «agile» - 54

Я работаю программистом более 5 лет (web), и хотел бы поделиться методикой, которая экономит силы, время и помогает автоматизировать процесс проектирования.

Методика основана на объектно-ориентированном проектировании, но несколько необычна. Зато имеет очевидные плюсы:
— в идеале, программирование по CORE сводится к описанию задачи (код близок к бизнес-логике)
— чётко разделяет систему на слабосвязанные компоненты
— легко автоматизируема, позволяет генерировать осмысленный код

Почему методика называется CORE и как это расшифровывается? Отчасти потому, что у меня тяга к красивым названиям. По буквам:
Context — контекст вычислений (что инициировало вычисления)
Object — объект, который производит вычисления
Request — действие, которое нужно совершить, чтобы объект смог продолжить вычисления
Event — событие, которое происходит с объектом

Плюсы по сравнению со стандартными способами разработки:
— ускорение стадии проектирования за счёт формализованной схемы проектирования
— ускорение стадии разработки за счёт умной генерации кода
— автоматизация создания юнит-тестов
— неглючная реализация бизнес-логики практически любой сложности
— простая поддержка кода
— простота совместного владения кодом

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

Читать полностью »

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

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

Чтобы расширить свой кругозор, а также получить ответ на свои внутренние вопросы, добро пожаловать под кат…
Читать полностью »

Анализируя 2012 год (перед концом света, уа!) я понимаю, что шесть недель простоя, которые мне выпали в марте из-за травмы колена дали мне очень-очень много.

Во-первых, я отлично отдохнул.

Во-вторых, я смог наконец-то сделать то, что уже не мог сделать много лет. А именно найти время для низкоприоритетной и совсем некритичной задачи — выучить ruby on rails.

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

Может все дело в колене?

Читать полностью »

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

Всем привет!

Просим любить и жаловать:Джефф Cheezy Морган Джефф Морган, он же Cheezy (@chzy). Джефф дал нам подробное интервью о его новой книге «Cucumber & Cheese» и лучших методах тестирования, поэтому… довольно предисловий — читайте и знакомьтесь!

1. Здравствуйте, Джефф (Cheezy)! Спасибо, что нашли время поговорить с нами. Вы довольно известная личность, например, в мире Agile и ATDD. Но не могли бы Вы рассказать немного о себе для тех, кто еще Вас не знает?

Моя страсть – написание программ, чем я и занимаюсь почти тридцать лет. Восемь с лишним лет назад я решил покинуть «корпоративную машину» и основал компанию, которая впоследствии стала известна под названием LeanDog. С тех пор я путешествую по Соединенным Штатам и Канаде и помогаю группам разработчиков работать эффективнее, внедряя методики Agile и Lean.
Читать полностью »

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

6 Способов убить Agile
Читать полностью »

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

Какие же задачи можно решать с помощью RealTimeBoard ?
Читать полностью »

Около полугода назад мне в руки попала книга Чарли Пелерина How NASA builds teams. В книге описывались социальные проблемы крупных технологических проектов, которые стоили миллионов долларов космической промышленности США.

В книге Чарли я подчерпнула ряд идей об измерении социального контекста проекта. И провела некоторые наблюдения с командами гибкой разработки. Думаю, лучше всего систему NASA 4-D лучше применять для тематической командной ретроспективы.

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

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

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

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

Чуть лучше дело обстоит в продуктовой разработке, особенно в стартапах, где генерация требований равномерно распределена по всему жизненному циклу работы над продуктом. Благодаря принципам Lean StartUp: построить -> измерить -> изучить, продуктовые команды работают более короткими циклами. На входе каждой итерации — новая порция требований для «эксперимента», в формулирование которых часто вовлечена вся команда.

В заказной разработке я наблюдаю 3 типа проблем, связанных с ожиданием готовых требований от клиента:

  1. “Бизнес” не умеет формулировать хорошие требования, потому что не понимает процесса разработки и технологических возможностей. Спецификация содержит представление заказчика о решении проблемы, докопаться до сути которой по документу сложно.
  2. “Бизнесу” не хватает времени на проработку требований. Часть вариантов использования системы, не продуманная заранее, вбрасывается в ходе разработки. Чем меньше практик, поддерживающих итеративный процесс (CI, автоматизированное тестирование, ограничение по количеству фич в работе), тем сложнее вносить изменения в требования.
  3. “Бизнес” и “разработка” говорят на разном языке. Как следствие — ложное понимание требований, не проясненные предположения, вытекающие из них 'сюрпризы' в момент демонстрации. Несуществующую систему сложно описать на бумаге. Отсюда вытекают проблемы, которые можно обобщить словами заказчика: “Я не знаю точно чего хочу, но точно знаю чего не хочу”.

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

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

Ниже — обзор продуктовых техник, которые могут в этом помочь.
Читать полностью »

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

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

Способность Владельца Продукта (роль Product Owner в терминологии SCRUM) воплощать видение продукта в своих словах и действиях, нельзя переоценить, когда мы говорим о командной разработке. Такая способность помогает команде работать сфокусированно (focus — одна из ценностей процесса SCRUM).

Фокус внимания меняет наше восприятие. Что бы лучше понять о чем это, попробуйте небольшой эксперимент. На протяжении дня держите в фокусе какую-то простую вещь, например, красный цвет. Обращайте внимание на все красное на улице и в офисе, думайте о красном в душе и лифте, найдите пару интересных фактов о самом цвете, или красных вещах. Уже к концу дня вы начнете воспринимать красный по-другому. Мужчины могут с удивлением обнаружить, что у красного есть оттенкиJ А на следующий день, вам могут приходить в голову “красные” мысли.

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

Ниже — 5 идей для Владельцев продукта о том, как усилить внутреннюю мотивацию и командную работу через видение.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js