1 - itechjet

advertisement
Процесс непрерывного
улучшения в производстве ПО
Оксана Щирба
oschirba@gmail.com
29.05.2013
Почему возникла эта тема?
Product
Краткосрочная выгода
VS
Process
Долгосрочная выгода
Кайдзен
Кайдзен – японская философия или практика, которая фокусируется на
непрерывном
совершенствовании
процессов
производста,
разработки,
вспомогательных бизнес-процессов и управления, а также на всех аспектах жизни.
Принципы Кайдзен
Принцип непрерывного совершенствования. Без совершенствования не
должно проходить ни дня.
Всеобщий контроль качества. “Качество – все, что можно улучшить.” Масааки
Имаи.

Один из инструментов контроля качества – цикл Деминга или цикл PDCA
(Планируй – Делай – Проверяй – Воздействуй).
Вовлеченность персонала и открытое признание проблем. Там где нет
проблем, совершенствование невозможно.
Встраивание качества в процесс. “Качество должно встраиваться в процесс.
Проверка не создает качества.” Э. Деминг.
Стандартизация.
Межфункциональный менеджмент.
Устранение основной причины проблемы и предотвращение рецидивов.
Цикл Деминга
Планируй – Делай – Проверяй – Воздействуй
Использование Кайдзен в разработке ПО
Scrum - “гибкая” методология разработки, позволяющая в жёстко
фиксированные небольшие промежутки времени предоставлять
конечному пользователю работающее ПО с новыми возможностями.
Использует итерационный подход и кроссфункциональные команды.
Kanban - “гибкая” методология разработки, ориентированная на
уменьшение WIP (Work In Progress). Использует одноименный принцип
Кайдзен – Канбан.
DevOps – методология разработки, ориентированная на улучшение
взаимодействия между разработчиками и операционной ИТ-командой.
Использует принцип Встраивания качества в процесс.
Что нужно чтобы Кайдзен работал?
Каждый член команды отвечает за то, что он делает и как он это
делает.
Каждый член команды отвечает за общий результат проекта.
Открытое признание проблем.
Межфункциональное взаимодействие.
Возможная реализация Кайдзен
Проектная папка + проектная wiki, к которой имеет доступ вся проектная команда. В папке содержится вся
управленческая документация по проекту.
Описание текущих стандартов разработки. Wiki. Доступ у всей проектной команды.
Ежедневные межфункциональные 20-минутные встречи, на которых обсуждается что сделано за день, что
планируется сделать за следующий день, проблемы проекта и процесса, разрабатываются варианты решения.
Принятые решения публикуются в проектной wiki.
Еженедельные межфункциональные одночасовые встречи, на которых обсуждаются статус проекта, план на
следующую неделю, проблемы проекта и процесса, разрабатываются варианты решения. Принятые решения
публикуются в проектной wiki.
Ретроспективные межфункциональные встречи по результатам релиза, на которых обсуждаются все
примененные улучщения и принимается решение о добавлении этих улучшений в стандарт.
Отранжированный реестр проблем и рисков.
Система предложений.
Мотивационная схема, направленная на общий результат.
Встраивание качества в процесс:
основные принципы
Чем раньше вы обнаружите проблемы / ошибки, тем проще и
дешевле их исправить.
Каждое изменение в системе должно порождать обратную
связь. Обратная связь должна быть предоставлена как
можно быстрее.
Команда проекта должна оперативно получать и
обрабатывать обратную связь.
Встраивание качества в процесс:
основные инструменты
CI – Непрерывная интеграция (TeamCity, Bamboo, Jenkins, Hudson,
CruiseControl). Позволяет отловить ошибки интеграции на раннем этапе.
UT – Модульное тестирование. Позволяет выявлять регрессионные
ошибки.
Компонентное тестирование. Позволяет выявлять регрессионные
ошибки. (soapUI)
Автоматизированное UI – тестирование (Cucumber, JMeter, Selenium).
Автоматизированное тестирование нефункциональных требований.
(JMeter, Selenium - нагрузка, Xspider - безопасность)
Автоматизация процесса развертывания.
Вопросы
Литература
Кайдзен. Ключ к успеху японских компаний. Масааки Имаи.
Continuous Delivery. Reliable Software Releases through Build, Test and Deployment
Automation. J. Humble, D. Farley.
Download