120 likes | 276 Views
Процесс непрерывного у лучшения в производстве ПО. Оксана Щирба oschirba@gmail.com 29.05.2013. Почему возникла эта тема?. Process. Product. VS. Краткосрочная выгода. Долгосрочная выгода. Кайдзен.
E N D
Процесснепрерывного улучшениявпроизводствеПО Оксана Щирба oschirba@gmail.com 29.05.2013
Почему возникла эта тема? Process Product VS Краткосрочная выгода Долгосрочная выгода
Кайдзен Кайдзен – японская философия или практика, которая фокусируется на непрерывномсовершенствовании процессов производста, разработки, вспомогательных бизнес-процессов и управления, а также на всех аспектах жизни.
ПринципыКайдзен • Принцип непрерывного совершенствования. Без совершенствования не должно проходить ни дня. • Всеобщий контроль качества. “Качество – все, что можно улучшить.” МасаакиИмаи. • Один из инструментов контроля качества – цикл Деминга или цикл 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.