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

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

А что, если я скажу, что не все проекты одинаковые, и некоторые из них не то что можно, а даже нужно тщательно выращивать из прототипа? Об этом я рассказывал на конференции Unite'12, а сейчас расскажу вам.Читать полностью »

imageПривет!, я бы хотел рассказать о новом сообществе Russian Software Craftsmanship Community. Сразу хочу сказать, если вы приверженец подхода Programming, Motherfucker, то этот пост явно вызовет у вас неодобрени и может даже волны ненависти. Если же вам интересно, что такое Software Craftsmanship, как писать полезный код и быть инженером в рамках гибких методологий или у вас есть давно мучающая вас проблема, то вам сюда.
Читать полностью »

Экстремальное программирование: Pair Programming

Парное программирование является одной из практик XP. Эта практика воплощает экстремальную (преувеличенную) идею Code Review. Если ревью позволяет улучшить качество кода, то давайте делать его постоянно, во время рефакторинга и написания нового кода.

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

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

    Я бы хотел обсудить неприятную для многих тему, а именно — ваши иллюзии. Иллюзии и убеждения относительно того комплексного процесса, который называется разработка программного обеспечения. Давайте сразу определимся, что такое иллюзия в данном контексте — это такое убеждение человека, не подкрепленное четкими научными доказательствами.
    Разработка ПО пронизана такими убеждениями на всех уровнях, начиная от выбора языка программирования, переходя на технологию проектирования, и заканчивая технологией управления проектами. Интерпретация результатов результатов успешного проекта, если вы решите проверить какую-то методику на его примере, тоже может ввести вас в заблуждение, если вы не будете настроены максимально скептично. В этом цикле статей я попытаюсь дать вам несколько отправных точек для анализа эффективности той или иной методики разработки. В какой-то мере все, что будет написано далее является просто развернутым описанием основной идеи сайта programming-motherfucker.com.

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

Конференция Agile Testing Days в Постдаме (Германия) в НоябреС 19 по 22 ноября в Постдаме, недалеко от Берлина, пройдет конференция Agile Testing Days. Пока что есть возможность пройти по ранней регистрации и сэкономить 400 евро за три дня конференции плюс однодневный тренинг по выбору. Тренинги ведут Lisa Crispin, Gojko Adzic, Ola Ellnestam, Scott W. Ambler, Lasse Koskela и многие другие известные специалисты в области тестирования! Кстати, записываться на все дни не обязательно — можно выбрать именно те, которые будет интересны.

И так как мне удалось договориться с организаторами конференции, то я с удовольствием делюсь промокодом еще на 5% скидку: RUSSIA_005
Читать полностью »

Провела полдня на баскетбольной площадке. Хорошая разминка, и, как говорят американцы “thought-provoking”. Хочу поделиться некоторыми наблюдениями — общими, на мой взгляд, для командного спорта и командной разработки.

Наблюдение 1: СЛАБАЯ КОМАНДА

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

Забавный паттерн: думать “я — в слабой команде”, вместо “мы — слабая команда”. Причем, независимо от собственного уровня игры. Казалось бы, и то и другое — формулировка факта, но есть нюанс. Попробовала повторить про себя по несколько раз, понаблюдать ощущения:
Читать полностью »

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

  • Сегодня, 4 сентября RubyMine 4.5.3 улучшил поддержку Sass и LESS;

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

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

  1. Учёт потраченных человеко-часов с разбивкой по задачам
  2. Учёт реализуемого функционала (backlog/requirements) и общая оценка стоимости работ
  3. Творческая работа без списка функционала и контроля ресурсов

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

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

Обсуждать и противопоставлять мы будем первые два подхода, потому что про третий я рассуждать не могу. Мне приходилось работать в разных компаниях и в разных проектах, на разных технологиях и в разных управленческих схемах…
И самые интересные, технологически сложные и продвинутые, самые необычные проекты делались именно по третьему подходу. Именно про эти проекты я рассказывал на собеседованиях, именно в них создавались принципиально новые продукты, а не всякая надоевшая обыденность типа база данных→бизнес-логика→бизнес-процессы→клиентские представления→отчёты. Работой в этих проектах я горжусь, вспоминаю с ностальгией, не стесняюсь сказать «вот эти архитектурные решения принял я», и именно про эти проекты обычно слушают с большим интересом. Но с другой стороны, именно эти проекты были очень дорогими и экономически сомнительными. Сейчас никакие аргументы за или против таких проектов я приводить не готов, поэтому рассмотрим только два подхода:
Читать полностью »

Я читал про BDD, и понял одну вещь: BDD это блаблабла блабла бла. Нету у него нормального определения. Вот, например, написано:

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

Все понятно? Мне — ничего. Поэтому я расскажу, что мы делаем и зачем, из того, что может иметь отношение к BDD.
Читать полностью »

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

Мой взгляд на Scrum

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


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