SlideShare una empresa de Scribd logo
1 de 49
Паттерны построения
эффективного процесса
разработки


                          Асхат Уразбаев
                               ScrumTrek
                      http://scrumtrek.ru



         © ScrumTrek.ru, 2009
Асхат Уразбаев

       Agile Coach
       Тренер и консультант по Agile


       Совладелец компании ScrumTrek

       Основатель и координатор
         сообщества AgileRussia
Процесс


                                            Разработчики
        CEO


$
                PM

                                     Тестировщики
                      Аналитик
    Маркетинг


                     © ScrumTrek.ru, 2008
Коммуникации
Ответственность




             © ScrumTrek.ru, 2009
Дисфункция №1.
Проблема коммуникаций
 Заказчик не знает, как
  идет разработка
 Разработчики не
  понимают, зачем нужна
  система
 Тестировщики узнают о
  требованиях от
  программистов
 Аналитики не видят
  готовую систему

                © ScrumTrek.ru, 2009
Дисфункция №2.
  Ответственность !не равна=
  полномочиям
 Команда не соблюдает сроки
  разработки
      А оценкой работ занимается
       заказчик
 Менеджер проекта отвечает
  за продуктивность команды
      Но не может вводить и выводить
       людей из проекта
 Тест-менеджер отвечает за
  качество продукта
      Но не может отменить релиз
       продукта



                           © ScrumTrek.ru, 2009
Дисфункция №3
Отсутствие commit’а
 Заказчик работает quot;по-agile”
   Но не знает, что это такое
 Аналитик отвечает за управление
  требованиями
   Но не считает себя обязанным это
    делать




               © ScrumTrek.ru, 2009
Дисфункция №4. Отсутствие
средств/возможностей
 (Ответсвенный не может достичь
  цели/решить проблему из-за отсутствия
  средств/возможностей)
 В команде нет специалиста по
  пользовательским интерфейсам
 Нет нужного сервера или продукта
 Не ведется проектная документация




                © ScrumTrek.ru, 2009
Чеклист
   Role. Есть ли ответственный за решение проблемы?
   Commit. Он знает, что он ответственный? Знает ли он область
    своей ответственности?
   Openness. Все ли заинтересованные (ЗЛ) лица знают, кто
    ответственый?
   Rights. Имеет ли ответственный эксклюзивные права на
    принятие решений в его области ответственности?
 FUN. Получает ли ответственный      удовлетворение от решения
    проблемы?
   Means. Есть ли у него все необходимые средства для решения
    проблемы (навыки и знания, информация, инструменты)?
   Communication. Все ли ЗЛ информируются о том, как проблема
    решается?
   Feedback. Существует ли постоянная обратная связь по
    результатам работы?


                         © ScrumTrek.ru, 2009
«Классический» менеджер проекта:
управление ответственностью
   Role. Умеет делегировать
   Commit. Получает commit от ответственного
   Openness. Информирует заинтересованные лиц
   Rights. Передает эксклюзивные права на принятие
    решений в его области ответственности
 FUN. Побеспокоится о том, что ответственный получает
    удовлетворение от решения проблемы
   Means. И о том, что у него есть средства решения
    проблемы
   Communication. Создает quot;инструментquot; постоянной
    передачи информации ЗЛ
   Feedback. Осуществляет постоянную и мгновенную
    обратную связь по результатам работы

                      © ScrumTrek.ru, 2009
Дисфункция №5. Проблема
 взаимозависимости
 К пуговицам претензии
  есть?
   quot;Настоящие Программисты
    не тестируют!quot;
   quot;А у меня на машине все
    работает!quot;
   quot;Настоящий мужик свои
    проблемы решает сам!quot;


 Проблема общей
  ответственности

                    © ScrumTrek.ru, 2009
Команда
… небольшая группа людей с
дополняющими навыками, с общей
целью, стремящаяся улучшить свою
производительность и чуствующая
ответственность по отношению к друг
другу…
          Katzenbach, Smith, “The Wisdom of Team”



              © ScrumTrek.ru, 2009
Agile: ответственной может
быть команда!
 Общая цель
 Коллективное принятие
  решений
 Доверие
 Взаимная
  ответственость
 Прозрачность


             © ScrumTrek.ru, 2009
Хорошее решение




Pull                         Push
            © ScrumTrek.ru, 2009
Чеклист тот же. Решение
принимает команда
   Role. Есть ли ответственный за решение проблемы?
   Commit. Он знает, что он ответственный? Знает ли он область
    своей ответственности?
   Openness. Все ли заинтересованные (ЗЛ) лица знают, кто
    ответственый?
   Rights. Имеет ли ответственный эксклюзивные права на
    принятие решений в его области ответственности?
 FUN. Получает ли ответственный      удовлетворение от решения
    проблемы?
   Means. Есть ли у него все необходимые средства для решения
    проблемы (навыки и знания, информация, инструменты)?
   Communication. Все ли ЗЛ информируются о том, как проблема
    решается?
   Feedback. Существует ли постоянная обратная связь по
    результатам работы?


                         © ScrumTrek.ru, 2009
Лечение «инфекций» в Agile
 Наладим обмен веществ
  информацией
   Короткие итерации, Daily
    Scrum, планирование, демонстрац
    ии и т.д.
 Повысим иммунитет
  самоорганизацию команды
   Коллективное принятие
    решений, прозрачность, Shared
    Vision, ретроспектива и т.д.



                  © ScrumTrek.ru, 2009
Средства
   Регламент
   Артефакты
   Визуальные чарты
   Инструменты
   Навыки и знания




              © ScrumTrek.ru, 2009
Регламент
 Обязательные для
  выполнения правила
 Примеры
   Проводить Code Review
    перед коммитом
   Daily Scrum начинается
    в 11-30 утра
   Scrum Master меняется
    каждую итерацию
              © ScrumTrek.ru, 2009
Артефакты
 Документ
  Word, Wiki, Sharepoint, text
   и т.д.
 Примеры
  Vision, SRS, Use Case
   Model, Architecture Notebook
   etc.
  Product Backlog, Iteration
   Plan и т.д.

               © ScrumTrek.ru, 2009
Визуальные чарты
   Средства коммуникации, выставленные на всеобщее обозрение
   Пример
       TaskBoard, BurnDown chart, Release Backlog etc.




                             © ScrumTrek.ru, 2009
Инструменты
 Программные продукты
 Пример
  Jira, Visual
   Studio, CruiseControl, FXCop, Resharper,
    IntelliJ IDEA etc.




              © ScrumTrek.ru, 2009
Навыки и знания
 Примеры
  Test Driven
   Development, Continuous
   Integration, Use Case Modeling
  Умение общаться с заказчиком
  Умение проектировать
   пользовательские интерфейсы
  Умение проектировать
   архитектуру систем


               © ScrumTrek.ru, 2009
Внешние
препятствия




              © ScrumTrek.ru, 2009
«Токсины»
 Внешние по отношению
  к команде
  ограничения, влияющие
  на эффективность
  обмена информацией
  или правильное
  разделение
  ответственности

            © ScrumTrek.ru, 2009
Примеры токсинов
 Эффективность коммуникации
     Распределенная разработка
     Языковой барьер
     Разница во времени
     Удаленный заказчик
     quot;Отдел тестированияquot;
 Разделение ответственности
   Персональное бонусирование
   quot;Пошареныеquot; члены проектной команды
   Проекты Fixed Price


                   © ScrumTrek.ru, 2009
Работа с токсинами
 Обмен информацией
   Лечение. Убрать токсин
   Купирование. Средства, облегчающие обмен
    информацией
      Документация (Wiki, Word, Sharepoint, Scrum Notes
       etc)
      Коммуникация (skype, videoconference, и т.д.)
      Личные контакты
       (командировки, видео, «тимбилдинг»)
 Разделение ответственности
   Лечение. Убрать токсин
   Купирование. Прокси - ответственный

                    © ScrumTrek.ru, 2009
Качество и
изменчивость




               © ScrumTrek.ru, 2009
Интересы БИЗНЕСА
 Придумываем БЫСТРО
 Разрабатываем СРАЗУ
 Выкладываем НЕМЕДЛЕННО




          © ScrumTrek.ru, 2008
© ScrumTrek.ru, 2008
Итог
Нет плана
Нет взаимодействия
Плохой код




         © ScrumTrek.ru, 2008
Интересы разработки

Придумываем ДОЛГО
Разрабатываем
 ТЩАТЕЛЬНО
Выкладываем НЕ СКОРО


          © ScrumTrek.ru, 2008
© ScrumTrek.ru, 2008
Итог
 Тщательное планирование
 Тяжелые инженерные
  решения
 Слабая связь с рынком




          © ScrumTrek.ru, 2008
Примеры дисфункций
 Объем документации
   Требования плавают в течении итерации
   Никто не помнит почему мы приняли такие
    странные решения
   Очень много переделок, которые можно было
    избежать
 Качество кода
   Долгий полный цикл тестирования
   Много «наведенных» дефектов
   Время на исправление дефекта невозможно
    оценить


                  © ScrumTrek.ru, 2009
Проблема баланса интересов
разработки и бизнеса
 Проблема
  осознается, когда
  уже поздно что
  либо принимать
 В этой области
  quot;здравый смыслquot;
  работает плохо


             © ScrumTrek.ru, 2009
Физическая форма
 Проблемы объема
  жира документации
 Проблемы качества
  мышечной массы
  кода




            © ScrumTrek.ru, 2009
Паттерны решения проблемы
 Принципы: решение принимается
  заранее (раз и навсегда)
 Принципы качества
   Scrum
     We do not compromise quality!
     Continuous Testing
   Extreme Programming
     Keep It Simple
     You Ain’t Gonna Need It


                  © ScrumTrek.ru, 2009
Инструменты управления
качеством в agile
 Технологический долг
 Definition Of Done
 Test Driven Development
 Continuous Integration
 Pair Programming



            © ScrumTrek.ru, 2009
Коммуникации в проекте




          © ScrumTrek.ru, 2009
Набор физической формы
 Как правило, длительный
  процесс
 Нужно планировать работу
  над формой
 Обязательно осознавать свои
  возможности
 Процесс набора должен быть
  облегчен по максимуму




                © ScrumTrek.ru, 2009
Управление
продуктом




             © ScrumTrek.ru, 2009
Цель улучшения процессов
 разработки в проекте
 Эффективное достижение бизнес целей
  проекта




              © ScrumTrek.ru, 2009
Эффективность

Эффективность

      =
  соблюдение
  ограничений


          © ScrumTrek.ru, 2009
Явные ограничения
 Разработка с
  использованием
  технологий Microsoft
 Использование «нашего»
  фреймворка
 Обойтись существующей
  командой
 Уложиться в бюджет




                © ScrumTrek.ru, 2009
Неявные, но подразумеваемые
ограничения
 Соблюдение УК РФ
 Отсутствие несчастных случаев
 Заказчик должен быть доволен




              © ScrumTrek.ru, 2009
НЕявные и НЕподразумеваемые
 ограничения
 Архитектура должна
  быть «крутая»
 Менеджер должен
  получить
  повышение после
  проекта
 Наш отдел должен
  получить всю славу


               © ScrumTrek.ru, 2009
«Неврологические»
дисфункции
 Бизнес-цель неясна
 Бизнес-цель
  недостижима
 Бизнес-цель
  отсутствует
 Ограничения
  эффективности
  несовместны


             © ScrumTrek.ru, 2009
Развитие идеи
 Сделать каталог процессных
  дисфункций
 Собрать best practices лечения
 Подробности тут:
http://blog.scrumtrek.ru



             © ScrumTrek.ru, 2009
Конец

Будьте здоровы! 
Вопросы?




        © ScrumTrek.ru, 2009

Más contenido relacionado

La actualidad más candente

Выученная беспомощность в организациях, Стачка 2017
Выученная беспомощность в организациях, Стачка 2017Выученная беспомощность в организациях, Стачка 2017
Выученная беспомощность в организациях, Стачка 2017Sergey Baranov
 
090518_unix-ensembl
090518_unix-ensembl090518_unix-ensembl
090518_unix-ensemblocha_kaneko
 
ブランド、プロフィット、コスト、デザインを追及するコンテンツ管理とは(Oracle OpenWorld Tokyo 2009)
ブランド、プロフィット、コスト、デザインを追及するコンテンツ管理とは(Oracle OpenWorld Tokyo 2009)ブランド、プロフィット、コスト、デザインを追及するコンテンツ管理とは(Oracle OpenWorld Tokyo 2009)
ブランド、プロフィット、コスト、デザインを追及するコンテンツ管理とは(Oracle OpenWorld Tokyo 2009)Makoto Shimizu
 
исследование поведения потребителей на р недвижим
исследование поведения потребителей на р недвижимисследование поведения потребителей на р недвижим
исследование поведения потребителей на р недвижимIgor Savchuk
 
павел худяков работа с макетом
павел худяков работа с макетомпавел худяков работа с макетом
павел худяков работа с макетомYandex
 
Questions RéPonses Uk
Questions RéPonses UkQuestions RéPonses Uk
Questions RéPonses Ukastrelin
 
090525-homology search(ensembl, local)
090525-homology search(ensembl, local)090525-homology search(ensembl, local)
090525-homology search(ensembl, local)ocha_kaneko
 
02 Citrus Systems S Pb
02 Citrus Systems S Pb02 Citrus Systems S Pb
02 Citrus Systems S PbLiudmila Li
 
Elina kuzyutkina-hitrosti-i-tryuki-v-ispolzovanii-zabbix
Elina kuzyutkina-hitrosti-i-tryuki-v-ispolzovanii-zabbixElina kuzyutkina-hitrosti-i-tryuki-v-ispolzovanii-zabbix
Elina kuzyutkina-hitrosti-i-tryuki-v-ispolzovanii-zabbixMichael Ganschuk
 
Sergey Kh Citrus Systems 2009
Sergey Kh Citrus Systems 2009Sergey Kh Citrus Systems 2009
Sergey Kh Citrus Systems 2009Liudmila Li
 
Zepter Tuttoluxo Manual
Zepter Tuttoluxo ManualZepter Tuttoluxo Manual
Zepter Tuttoluxo ManualNatalia Zepter
 
Adobe Flash CS3 Professional для Windows и Macintosh
Adobe Flash CS3 Professional для Windows и MacintoshAdobe Flash CS3 Professional для Windows и Macintosh
Adobe Flash CS3 Professional для Windows и MacintoshStAlKeRoV
 
ProMedia about Ambient Media
ProMedia about Ambient MediaProMedia about Ambient Media
ProMedia about Ambient MediaIvan Diyachenko
 
Продвижение портала новостроек. Как SEO помогает стать лидером рынка?
Продвижение портала новостроек. Как SEO помогает стать лидером рынка?Продвижение портала новостроек. Как SEO помогает стать лидером рынка?
Продвижение портала новостроек. Как SEO помогает стать лидером рынка?collaborator.pro
 
исчезнут ли российские эпс
исчезнут ли российские эпсисчезнут ли российские эпс
исчезнут ли российские эпсTimur AITOV
 

La actualidad más candente (20)

Выученная беспомощность в организациях, Стачка 2017
Выученная беспомощность в организациях, Стачка 2017Выученная беспомощность в организациях, Стачка 2017
Выученная беспомощность в организациях, Стачка 2017
 
090518_unix-ensembl
090518_unix-ensembl090518_unix-ensembl
090518_unix-ensembl
 
ブランド、プロフィット、コスト、デザインを追及するコンテンツ管理とは(Oracle OpenWorld Tokyo 2009)
ブランド、プロフィット、コスト、デザインを追及するコンテンツ管理とは(Oracle OpenWorld Tokyo 2009)ブランド、プロフィット、コスト、デザインを追及するコンテンツ管理とは(Oracle OpenWorld Tokyo 2009)
ブランド、プロフィット、コスト、デザインを追及するコンテンツ管理とは(Oracle OpenWorld Tokyo 2009)
 
исследование поведения потребителей на р недвижим
исследование поведения потребителей на р недвижимисследование поведения потребителей на р недвижим
исследование поведения потребителей на р недвижим
 
павел худяков работа с макетом
павел худяков работа с макетомпавел худяков работа с макетом
павел худяков работа с макетом
 
Questions RéPonses Uk
Questions RéPonses UkQuestions RéPonses Uk
Questions RéPonses Uk
 
090525-homology search(ensembl, local)
090525-homology search(ensembl, local)090525-homology search(ensembl, local)
090525-homology search(ensembl, local)
 
02 Citrus Systems S Pb
02 Citrus Systems S Pb02 Citrus Systems S Pb
02 Citrus Systems S Pb
 
Elina kuzyutkina-hitrosti-i-tryuki-v-ispolzovanii-zabbix
Elina kuzyutkina-hitrosti-i-tryuki-v-ispolzovanii-zabbixElina kuzyutkina-hitrosti-i-tryuki-v-ispolzovanii-zabbix
Elina kuzyutkina-hitrosti-i-tryuki-v-ispolzovanii-zabbix
 
проект Intway Sport
проект Intway Sportпроект Intway Sport
проект Intway Sport
 
Sergey Kh Citrus Systems 2009
Sergey Kh Citrus Systems 2009Sergey Kh Citrus Systems 2009
Sergey Kh Citrus Systems 2009
 
Mass Clients Online (с) Mikhail Lubich
Mass Clients Online (с) Mikhail LubichMass Clients Online (с) Mikhail Lubich
Mass Clients Online (с) Mikhail Lubich
 
Mixing Agile Rup
Mixing Agile RupMixing Agile Rup
Mixing Agile Rup
 
Zepter Tuttoluxo Manual
Zepter Tuttoluxo ManualZepter Tuttoluxo Manual
Zepter Tuttoluxo Manual
 
Problogging
ProbloggingProblogging
Problogging
 
Adobe Flash CS3 Professional для Windows и Macintosh
Adobe Flash CS3 Professional для Windows и MacintoshAdobe Flash CS3 Professional для Windows и Macintosh
Adobe Flash CS3 Professional для Windows и Macintosh
 
priorbank ecommerce
priorbank ecommercepriorbank ecommerce
priorbank ecommerce
 
ProMedia about Ambient Media
ProMedia about Ambient MediaProMedia about Ambient Media
ProMedia about Ambient Media
 
Продвижение портала новостроек. Как SEO помогает стать лидером рынка?
Продвижение портала новостроек. Как SEO помогает стать лидером рынка?Продвижение портала новостроек. Как SEO помогает стать лидером рынка?
Продвижение портала новостроек. Как SEO помогает стать лидером рынка?
 
исчезнут ли российские эпс
исчезнут ли российские эпсисчезнут ли российские эпс
исчезнут ли российские эпс
 

Más de SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 

Más de SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Паттерны построения эффективного процесса разработки

  • 1. Паттерны построения эффективного процесса разработки Асхат Уразбаев ScrumTrek http://scrumtrek.ru © ScrumTrek.ru, 2009
  • 2. Асхат Уразбаев Agile Coach Тренер и консультант по Agile Совладелец компании ScrumTrek Основатель и координатор сообщества AgileRussia
  • 3. Процесс Разработчики CEO $ PM Тестировщики Аналитик Маркетинг © ScrumTrek.ru, 2008
  • 5. Дисфункция №1. Проблема коммуникаций  Заказчик не знает, как идет разработка  Разработчики не понимают, зачем нужна система  Тестировщики узнают о требованиях от программистов  Аналитики не видят готовую систему © ScrumTrek.ru, 2009
  • 6. Дисфункция №2. Ответственность !не равна= полномочиям  Команда не соблюдает сроки разработки  А оценкой работ занимается заказчик  Менеджер проекта отвечает за продуктивность команды  Но не может вводить и выводить людей из проекта  Тест-менеджер отвечает за качество продукта  Но не может отменить релиз продукта © ScrumTrek.ru, 2009
  • 7. Дисфункция №3 Отсутствие commit’а  Заказчик работает quot;по-agile”  Но не знает, что это такое  Аналитик отвечает за управление требованиями  Но не считает себя обязанным это делать © ScrumTrek.ru, 2009
  • 8. Дисфункция №4. Отсутствие средств/возможностей  (Ответсвенный не может достичь цели/решить проблему из-за отсутствия средств/возможностей)  В команде нет специалиста по пользовательским интерфейсам  Нет нужного сервера или продукта  Не ведется проектная документация © ScrumTrek.ru, 2009
  • 9. Чеклист  Role. Есть ли ответственный за решение проблемы?  Commit. Он знает, что он ответственный? Знает ли он область своей ответственности?  Openness. Все ли заинтересованные (ЗЛ) лица знают, кто ответственый?  Rights. Имеет ли ответственный эксклюзивные права на принятие решений в его области ответственности?  FUN. Получает ли ответственный удовлетворение от решения проблемы?  Means. Есть ли у него все необходимые средства для решения проблемы (навыки и знания, информация, инструменты)?  Communication. Все ли ЗЛ информируются о том, как проблема решается?  Feedback. Существует ли постоянная обратная связь по результатам работы? © ScrumTrek.ru, 2009
  • 10. «Классический» менеджер проекта: управление ответственностью  Role. Умеет делегировать  Commit. Получает commit от ответственного  Openness. Информирует заинтересованные лиц  Rights. Передает эксклюзивные права на принятие решений в его области ответственности  FUN. Побеспокоится о том, что ответственный получает удовлетворение от решения проблемы  Means. И о том, что у него есть средства решения проблемы  Communication. Создает quot;инструментquot; постоянной передачи информации ЗЛ  Feedback. Осуществляет постоянную и мгновенную обратную связь по результатам работы © ScrumTrek.ru, 2009
  • 11. Дисфункция №5. Проблема взаимозависимости  К пуговицам претензии есть?  quot;Настоящие Программисты не тестируют!quot;  quot;А у меня на машине все работает!quot;  quot;Настоящий мужик свои проблемы решает сам!quot;  Проблема общей ответственности © ScrumTrek.ru, 2009
  • 12. Команда … небольшая группа людей с дополняющими навыками, с общей целью, стремящаяся улучшить свою производительность и чуствующая ответственность по отношению к друг другу… Katzenbach, Smith, “The Wisdom of Team” © ScrumTrek.ru, 2009
  • 13. Agile: ответственной может быть команда!  Общая цель  Коллективное принятие решений  Доверие  Взаимная ответственость  Прозрачность © ScrumTrek.ru, 2009
  • 14. Хорошее решение Pull Push © ScrumTrek.ru, 2009
  • 15. Чеклист тот же. Решение принимает команда  Role. Есть ли ответственный за решение проблемы?  Commit. Он знает, что он ответственный? Знает ли он область своей ответственности?  Openness. Все ли заинтересованные (ЗЛ) лица знают, кто ответственый?  Rights. Имеет ли ответственный эксклюзивные права на принятие решений в его области ответственности?  FUN. Получает ли ответственный удовлетворение от решения проблемы?  Means. Есть ли у него все необходимые средства для решения проблемы (навыки и знания, информация, инструменты)?  Communication. Все ли ЗЛ информируются о том, как проблема решается?  Feedback. Существует ли постоянная обратная связь по результатам работы? © ScrumTrek.ru, 2009
  • 16. Лечение «инфекций» в Agile  Наладим обмен веществ информацией  Короткие итерации, Daily Scrum, планирование, демонстрац ии и т.д.  Повысим иммунитет самоорганизацию команды  Коллективное принятие решений, прозрачность, Shared Vision, ретроспектива и т.д. © ScrumTrek.ru, 2009
  • 17. Средства  Регламент  Артефакты  Визуальные чарты  Инструменты  Навыки и знания © ScrumTrek.ru, 2009
  • 18. Регламент  Обязательные для выполнения правила  Примеры  Проводить Code Review перед коммитом  Daily Scrum начинается в 11-30 утра  Scrum Master меняется каждую итерацию © ScrumTrek.ru, 2009
  • 19. Артефакты  Документ  Word, Wiki, Sharepoint, text и т.д.  Примеры  Vision, SRS, Use Case Model, Architecture Notebook etc.  Product Backlog, Iteration Plan и т.д. © ScrumTrek.ru, 2009
  • 20. Визуальные чарты  Средства коммуникации, выставленные на всеобщее обозрение  Пример  TaskBoard, BurnDown chart, Release Backlog etc. © ScrumTrek.ru, 2009
  • 21. Инструменты  Программные продукты  Пример  Jira, Visual Studio, CruiseControl, FXCop, Resharper, IntelliJ IDEA etc. © ScrumTrek.ru, 2009
  • 22. Навыки и знания  Примеры  Test Driven Development, Continuous Integration, Use Case Modeling  Умение общаться с заказчиком  Умение проектировать пользовательские интерфейсы  Умение проектировать архитектуру систем © ScrumTrek.ru, 2009
  • 23. Внешние препятствия © ScrumTrek.ru, 2009
  • 24. «Токсины»  Внешние по отношению к команде ограничения, влияющие на эффективность обмена информацией или правильное разделение ответственности © ScrumTrek.ru, 2009
  • 25. Примеры токсинов  Эффективность коммуникации  Распределенная разработка  Языковой барьер  Разница во времени  Удаленный заказчик  quot;Отдел тестированияquot;  Разделение ответственности  Персональное бонусирование  quot;Пошареныеquot; члены проектной команды  Проекты Fixed Price © ScrumTrek.ru, 2009
  • 26. Работа с токсинами  Обмен информацией  Лечение. Убрать токсин  Купирование. Средства, облегчающие обмен информацией  Документация (Wiki, Word, Sharepoint, Scrum Notes etc)  Коммуникация (skype, videoconference, и т.д.)  Личные контакты (командировки, видео, «тимбилдинг»)  Разделение ответственности  Лечение. Убрать токсин  Купирование. Прокси - ответственный © ScrumTrek.ru, 2009
  • 28. Интересы БИЗНЕСА  Придумываем БЫСТРО  Разрабатываем СРАЗУ  Выкладываем НЕМЕДЛЕННО © ScrumTrek.ru, 2008
  • 31. Интересы разработки Придумываем ДОЛГО Разрабатываем ТЩАТЕЛЬНО Выкладываем НЕ СКОРО © ScrumTrek.ru, 2008
  • 33. Итог  Тщательное планирование  Тяжелые инженерные решения  Слабая связь с рынком © ScrumTrek.ru, 2008
  • 34. Примеры дисфункций  Объем документации  Требования плавают в течении итерации  Никто не помнит почему мы приняли такие странные решения  Очень много переделок, которые можно было избежать  Качество кода  Долгий полный цикл тестирования  Много «наведенных» дефектов  Время на исправление дефекта невозможно оценить © ScrumTrek.ru, 2009
  • 35. Проблема баланса интересов разработки и бизнеса  Проблема осознается, когда уже поздно что либо принимать  В этой области quot;здравый смыслquot; работает плохо © ScrumTrek.ru, 2009
  • 36. Физическая форма  Проблемы объема жира документации  Проблемы качества мышечной массы кода © ScrumTrek.ru, 2009
  • 37. Паттерны решения проблемы  Принципы: решение принимается заранее (раз и навсегда)  Принципы качества  Scrum  We do not compromise quality!  Continuous Testing  Extreme Programming  Keep It Simple  You Ain’t Gonna Need It © ScrumTrek.ru, 2009
  • 38. Инструменты управления качеством в agile  Технологический долг  Definition Of Done  Test Driven Development  Continuous Integration  Pair Programming © ScrumTrek.ru, 2009
  • 40. Набор физической формы  Как правило, длительный процесс  Нужно планировать работу над формой  Обязательно осознавать свои возможности  Процесс набора должен быть облегчен по максимуму © ScrumTrek.ru, 2009
  • 42. Цель улучшения процессов разработки в проекте  Эффективное достижение бизнес целей проекта © ScrumTrek.ru, 2009
  • 43. Эффективность Эффективность = соблюдение ограничений © ScrumTrek.ru, 2009
  • 44. Явные ограничения  Разработка с использованием технологий Microsoft  Использование «нашего» фреймворка  Обойтись существующей командой  Уложиться в бюджет © ScrumTrek.ru, 2009
  • 45. Неявные, но подразумеваемые ограничения  Соблюдение УК РФ  Отсутствие несчастных случаев  Заказчик должен быть доволен © ScrumTrek.ru, 2009
  • 46. НЕявные и НЕподразумеваемые ограничения  Архитектура должна быть «крутая»  Менеджер должен получить повышение после проекта  Наш отдел должен получить всю славу © ScrumTrek.ru, 2009
  • 47. «Неврологические» дисфункции  Бизнес-цель неясна  Бизнес-цель недостижима  Бизнес-цель отсутствует  Ограничения эффективности несовместны © ScrumTrek.ru, 2009
  • 48. Развитие идеи  Сделать каталог процессных дисфункций  Собрать best practices лечения  Подробности тут: http://blog.scrumtrek.ru © ScrumTrek.ru, 2009