SlideShare a Scribd company logo
1 of 94
Необходимые
навыки
технического
лидера в Agile
проектах
Александр Мартюшев
«АСКОН»
agile.fellow@gmail.com
АСКОН
Agile
«Тяжелый»
 процесс
«Тяжелый» процесс
- Утвержденные требования
- Спецификации
- Технические задания
- Детальные долгосрочные планы
«Тяжелый» процесс
- Утвержденные требования
- Спецификации
- Технические задания
- Детальные долгосрочные планы



                        Изменение
                        требований
«Тяжёлые» последствия

          «Это невозможно»
          «Это очень долго»
          «Вам это не нужно»
          «Мы лучше знаем
           что вам нужно»
«Тяжёлые» последствия

          Специалист
             по тому,
           почему это
         нельзя сделать
Agile + изменения
       =
Agile
Требования изменяются быстрее


  Код протухает быстрее
Когда править?




                 t
Исправим позже?




                  t
Психология
Эксперименты




75%        ???


85%        ???
Посчитаем




75%      98%


85%      99%
Эксперименты




75%    38%     ???


85%    35%
Эксперименты




75%    38%     10%


85%    35%
Неуверенность
                              Сомнения
Неопределенность
Теория разбитых окон
Эксперименты


 Рисовать на стенах
  запрещено!
Эксперименты


 Рисовать на стенах
  запрещено!
Эксперименты



   33%

   69%
Исправим позже? :)




                 t
Итого:

Не откладывайте проблемы
Проблема




                     Да                                Нет
                                    Есть решение?                   Помощь



                          Долго                 Данных недостаточно
        Как долго?



   N часов                                                          Отложи

                                  Решаем с PO



Исправь сейчас                                                   Все должны
                                                               знать о проблеме
                            Внеплановая задача               (технический беклог)
Проблема




                     Да                                Нет
                                    Есть решение?                   Помощь



                          Долго                 Данных недостаточно
        Как долго?



   N часов                                                          Отложи

                                  Решаем с PO



Исправь сейчас                                                   Все должны
                                                               знать о проблеме
                            Внеплановая задача               (технический беклог)
Итого:

Не откладывайте проблемы
План действий
Что выбрать?
Простота
S.O.L.I.D

Single Responsibility
Open-Close
Liskov Substitution
Interface Segregation
Dependency Inversion
S.O.L.I.D

        Принцип персональной
           ответственности

  Приложение,    Rectangle
 выполняющее                           GUI
геометрические    +draw()          приложение
  вычисления      +area()



                   GUI
S.O.L.I.D

       Принцип персональной
          ответственности
  Приложение,        GUI
 выполняющее     приложение
геометрические
  вычисления




  Geometric       Rectangle
  Rectangle                          GUI
                   +draw()
   +area()
S.O.L.I.D
Принцип открытия-закрытия

  Client           Server




                 <<interface>>
  Client
                 ClientInterface




                     Server
S.O.L.I.D
     Принцип открытия-закрытия
      Policy                       Employee

+ PolicyFunction()
- ServiceFuntion()
                              EmployeeType




 Implementation
                      Programmer              Manager
- ServiceFunction()

                                   Salesman
S.O.L.I.D
Принцип подстановки Лисков

 Rectangle      void g(Rectngle r)
+ GetHeight()   {
+ GetWidth()      r.SetWidth(5);
+ SetHeight()     r.SetHeight(4);
+ SetWidth()      assert(r.Area() == 20);
                }


   Square
S.O.L.I.D
Принцип инверсии зависимостей

                      Lamp
    Button          + TurnOn()
                    + TurnOff()
S.O.L.I.D
Принцип инверсии зависимостей

   Switchable          Lamp
   + TurnOn()        + TurnOn()
   + TurnOff()       + TurnOff()




     Button
S.O.L.I.D
Принцип инверсии зависимостей

   Policy



            Mechanism




                         Utility
S.O.L.I.D
Принцип инверсии зависимостей
                <<interface>>
    Policy
                PolicyServices




                <<interface>>
  Mechanism
              MechanismServices




    Utility
S.O.L.I.D
Принцип разделения
   интерфейсов

 Modem           Dialer
 + send()
 + recv()
  + dial()      Termimal
+ hangup()


                  PPP
S.O.L.I.D
        Принцип разделения
           интерфейсов
            <<interface>>
                                       Dialer
               IDialer
               + dial()
             + hangup()
Modem
                                      Termimal
            <<interface>>
              IChannel
              + send()
                                       PPP
              + recv()
Принимаем решение
Что еще может помочь
Итого:

Не откладывайте проблемы
План действий
Критерии выбора решения
Как разгребать?
Сперва все разобрать...
… а потом собрать?
Рефакторинг




Реальность            Цель
Рефакторинг
Рефакторинг
Итого:

Не откладывайте проблемы
План действий
Критерии выбора решения
Рефакторинг
Проблема
Автоматизируйте
Автоматизируйте
Автоматизируйте
Время
Время
Время
Время
Прошлый век?
Прошлый век?
Итого:

Не откладывайте проблемы
План действий
Критерии выбора решения
Рефакторинг
Автоматизируйте тестирование
С ног на голову
Взрыв мозга
Цикл TDD
Тесты   SUT
Тесты   SUT
Тесты   SUT
Тесты   SUT
С         Interface
        е
        р
Тесты
        в   SUT   Interface

        и
        с
                  Interface
С   Interface
        е
Тесты
        р
            Interface
        в
        и
        с
            Interface
Итого:

Не откладывайте проблемы
План действий
Критерии выбора решения
Рефакторинг
Автоматизируйте тестирование
Освойте TDD
Александр Мартюшев
agile.fellow@gmail.com

More Related Content

Similar to мартюшев александр - необходимые навыки технического лидера в Agile проектах

лекция1
лекция1лекция1
лекция1ap0f30z
 
PM Innovation 2013 - Управление непредсказуемым проектом
PM Innovation 2013 - Управление непредсказуемым проектомPM Innovation 2013 - Управление непредсказуемым проектом
PM Innovation 2013 - Управление непредсказуемым проектомITD Systems
 
Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma...
Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma...Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma...
Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma...Lviv Startup Club
 
Слайдкаст. Измерения в ИТ и ПО. Часть II
Слайдкаст. Измерения в ИТ и ПО. Часть IIСлайдкаст. Измерения в ИТ и ПО. Часть II
Слайдкаст. Измерения в ИТ и ПО. Часть IISergiy Povolyashko
 
Дов Німрац “Що таке проблемний продукт і як з цим боротись?” Kharkiv Project ...
Дов Німрац “Що таке проблемний продукт і як з цим боротись?” Kharkiv Project ...Дов Німрац “Що таке проблемний продукт і як з цим боротись?” Kharkiv Project ...
Дов Німрац “Що таке проблемний продукт і як з цим боротись?” Kharkiv Project ...Lviv Startup Club
 
Грамотная работа с дефект-трекером
Грамотная работа с дефект-трекеромГрамотная работа с дефект-трекером
Грамотная работа с дефект-трекеромAlexey Lyanguzov
 
мартюшев почему юнит-тесты не работают. история большого проекта
мартюшев   почему юнит-тесты не работают. история большого проектамартюшев   почему юнит-тесты не работают. история большого проекта
мартюшев почему юнит-тесты не работают. история большого проектаMagneta AI
 
мартюшев почему юнит-тесты не работают. история большого проекта
мартюшев   почему юнит-тесты не работают. история большого проектамартюшев   почему юнит-тесты не работают. история большого проекта
мартюшев почему юнит-тесты не работают. история большого проектаMagneta AI
 
Контекстное тестирование ПО
Контекстное тестирование ПОКонтекстное тестирование ПО
Контекстное тестирование ПОAlexey Lyanguzov
 
Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008Denis Petelin
 
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...Nikita Nalyutin
 
Проблемы локальных аутсорсинговых проектов
Проблемы локальных аутсорсинговых проектовПроблемы локальных аутсорсинговых проектов
Проблемы локальных аутсорсинговых проектовСергей Бережной
 
Управление и руководство в процессном подходе. Тренинг-семинар.
Управление и руководство в процессном подходе. Тренинг-семинар.Управление и руководство в процессном подходе. Тренинг-семинар.
Управление и руководство в процессном подходе. Тренинг-семинар.Ратнер Александр
 
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. UkraineProcess Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. UkraineSergiy Povolyashko
 

Similar to мартюшев александр - необходимые навыки технического лидера в Agile проектах (20)

лекция1
лекция1лекция1
лекция1
 
PM Innovation 2013 - Управление непредсказуемым проектом
PM Innovation 2013 - Управление непредсказуемым проектомPM Innovation 2013 - Управление непредсказуемым проектом
PM Innovation 2013 - Управление непредсказуемым проектом
 
Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma...
Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma...Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma...
Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma...
 
Слайдкаст. Измерения в ИТ и ПО. Часть II
Слайдкаст. Измерения в ИТ и ПО. Часть IIСлайдкаст. Измерения в ИТ и ПО. Часть II
Слайдкаст. Измерения в ИТ и ПО. Часть II
 
CCPM Vebinar 21 01 2010
CCPM Vebinar 21 01 2010CCPM Vebinar 21 01 2010
CCPM Vebinar 21 01 2010
 
Gaperton - Software People 2012
Gaperton - Software People 2012Gaperton - Software People 2012
Gaperton - Software People 2012
 
Дов Німрац “Що таке проблемний продукт і як з цим боротись?” Kharkiv Project ...
Дов Німрац “Що таке проблемний продукт і як з цим боротись?” Kharkiv Project ...Дов Німрац “Що таке проблемний продукт і як з цим боротись?” Kharkiv Project ...
Дов Німрац “Що таке проблемний продукт і як з цим боротись?” Kharkiv Project ...
 
Грамотная работа с дефект-трекером
Грамотная работа с дефект-трекеромГрамотная работа с дефект-трекером
Грамотная работа с дефект-трекером
 
мартюшев почему юнит-тесты не работают. история большого проекта
мартюшев   почему юнит-тесты не работают. история большого проектамартюшев   почему юнит-тесты не работают. история большого проекта
мартюшев почему юнит-тесты не работают. история большого проекта
 
мартюшев почему юнит-тесты не работают. история большого проекта
мартюшев   почему юнит-тесты не работают. история большого проектамартюшев   почему юнит-тесты не работают. история большого проекта
мартюшев почему юнит-тесты не работают. история большого проекта
 
Контекстное тестирование ПО
Контекстное тестирование ПОКонтекстное тестирование ПО
Контекстное тестирование ПО
 
My presentation for PM-Forum in Ukraine
My presentation for PM-Forum in UkraineMy presentation for PM-Forum in Ukraine
My presentation for PM-Forum in Ukraine
 
TaskProgress
TaskProgressTaskProgress
TaskProgress
 
Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008
 
20070414 Toc Pm
20070414 Toc Pm20070414 Toc Pm
20070414 Toc Pm
 
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...
 
7 retro
7 retro7 retro
7 retro
 
Проблемы локальных аутсорсинговых проектов
Проблемы локальных аутсорсинговых проектовПроблемы локальных аутсорсинговых проектов
Проблемы локальных аутсорсинговых проектов
 
Управление и руководство в процессном подходе. Тренинг-семинар.
Управление и руководство в процессном подходе. Тренинг-семинар.Управление и руководство в процессном подходе. Тренинг-семинар.
Управление и руководство в процессном подходе. Тренинг-семинар.
 
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. UkraineProcess Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
 

More from Magneta AI

From outsource to productsource!
From outsource to productsource!From outsource to productsource!
From outsource to productsource!Magneta AI
 
BDD test structure
BDD test structureBDD test structure
BDD test structureMagneta AI
 
AgileCamp15. Процессный трек
AgileCamp15. Процессный трекAgileCamp15. Процессный трек
AgileCamp15. Процессный трекMagneta AI
 
Как создать концепцию продукта в виде Lean Canvas
Как создать концепцию продукта в виде Lean CanvasКак создать концепцию продукта в виде Lean Canvas
Как создать концепцию продукта в виде Lean CanvasMagneta AI
 
Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективыMagneta AI
 
зотин Scrum, kanban, что дальше. история nokia
зотин   Scrum, kanban, что дальше. история nokiaзотин   Scrum, kanban, что дальше. история nokia
зотин Scrum, kanban, что дальше. история nokiaMagneta AI
 
абраменко как сделать нужный людям продукт
абраменко   как сделать нужный людям продуктабраменко   как сделать нужный людям продукт
абраменко как сделать нужный людям продуктMagneta AI
 
павлов все, что вы хотели знать о юнит тестах, но боялись спросить
павлов   все, что вы хотели знать о юнит тестах, но боялись спроситьпавлов   все, что вы хотели знать о юнит тестах, но боялись спросить
павлов все, что вы хотели знать о юнит тестах, но боялись спроситьMagneta AI
 
тучин как внедрить Agile, чтобы никто не заметил
тучин   как внедрить Agile, чтобы никто не заметилтучин   как внедрить Agile, чтобы никто не заметил
тучин как внедрить Agile, чтобы никто не заметилMagneta AI
 
ткаченко качество без этапа тестирования
ткаченко   качество без этапа тестированияткаченко   качество без этапа тестирования
ткаченко качество без этапа тестированияMagneta AI
 
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
сенькова   разное ретро для разных команд (как провести ретро для новичков, с...сенькова   разное ретро для разных команд (как провести ретро для новичков, с...
сенькова разное ретро для разных команд (как провести ретро для новичков, с...Magneta AI
 
мациевский путь самурая. уволить нельзя оставить
мациевский   путь самурая. уволить нельзя оставитьмациевский   путь самурая. уволить нельзя оставить
мациевский путь самурая. уволить нельзя оставитьMagneta AI
 
лустин статические анализаторы систем 1с ad2015
лустин   статические анализаторы систем 1с ad2015лустин   статические анализаторы систем 1с ad2015
лустин статические анализаторы систем 1с ad2015Magneta AI
 
лосев контрольные карты шухарта в анализе деятельности Scrum команд
лосев   контрольные карты шухарта в анализе деятельности Scrum командлосев   контрольные карты шухарта в анализе деятельности Scrum команд
лосев контрольные карты шухарта в анализе деятельности Scrum командMagneta AI
 
корецкий как мы улучшили экспертную оценку проектов
корецкий   как мы улучшили экспертную оценку проектовкорецкий   как мы улучшили экспертную оценку проектов
корецкий как мы улучшили экспертную оценку проектовMagneta AI
 
зиновьева повышение эффективности команды. ретроспектива как инструмент
зиновьева   повышение эффективности команды. ретроспектива как инструментзиновьева   повышение эффективности команды. ретроспектива как инструмент
зиновьева повышение эффективности команды. ретроспектива как инструментMagneta AI
 
виноградова внедрение изменений без длинных документов, долгих согласований...
виноградова   внедрение изменений без длинных документов, долгих согласований...виноградова   внедрение изменений без длинных документов, долгих согласований...
виноградова внедрение изменений без длинных документов, долгих согласований...Magneta AI
 
верещак. построение культуры Dev ops. v0.5 copy
верещак. построение  культуры Dev ops. v0.5 copyверещак. построение  культуры Dev ops. v0.5 copy
верещак. построение культуры Dev ops. v0.5 copyMagneta AI
 
бородин об эмпирической разработке
бородин   об эмпирической разработкебородин   об эмпирической разработке
бородин об эмпирической разработкеMagneta AI
 
богуславский Agile days непрерывное качество в непрерывной разработке
богуславский   Agile days непрерывное качество в непрерывной разработкебогуславский   Agile days непрерывное качество в непрерывной разработке
богуславский Agile days непрерывное качество в непрерывной разработкеMagneta AI
 

More from Magneta AI (20)

From outsource to productsource!
From outsource to productsource!From outsource to productsource!
From outsource to productsource!
 
BDD test structure
BDD test structureBDD test structure
BDD test structure
 
AgileCamp15. Процессный трек
AgileCamp15. Процессный трекAgileCamp15. Процессный трек
AgileCamp15. Процессный трек
 
Как создать концепцию продукта в виде Lean Canvas
Как создать концепцию продукта в виде Lean CanvasКак создать концепцию продукта в виде Lean Canvas
Как создать концепцию продукта в виде Lean Canvas
 
Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективы
 
зотин Scrum, kanban, что дальше. история nokia
зотин   Scrum, kanban, что дальше. история nokiaзотин   Scrum, kanban, что дальше. история nokia
зотин Scrum, kanban, что дальше. история nokia
 
абраменко как сделать нужный людям продукт
абраменко   как сделать нужный людям продуктабраменко   как сделать нужный людям продукт
абраменко как сделать нужный людям продукт
 
павлов все, что вы хотели знать о юнит тестах, но боялись спросить
павлов   все, что вы хотели знать о юнит тестах, но боялись спроситьпавлов   все, что вы хотели знать о юнит тестах, но боялись спросить
павлов все, что вы хотели знать о юнит тестах, но боялись спросить
 
тучин как внедрить Agile, чтобы никто не заметил
тучин   как внедрить Agile, чтобы никто не заметилтучин   как внедрить Agile, чтобы никто не заметил
тучин как внедрить Agile, чтобы никто не заметил
 
ткаченко качество без этапа тестирования
ткаченко   качество без этапа тестированияткаченко   качество без этапа тестирования
ткаченко качество без этапа тестирования
 
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
сенькова   разное ретро для разных команд (как провести ретро для новичков, с...сенькова   разное ретро для разных команд (как провести ретро для новичков, с...
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
 
мациевский путь самурая. уволить нельзя оставить
мациевский   путь самурая. уволить нельзя оставитьмациевский   путь самурая. уволить нельзя оставить
мациевский путь самурая. уволить нельзя оставить
 
лустин статические анализаторы систем 1с ad2015
лустин   статические анализаторы систем 1с ad2015лустин   статические анализаторы систем 1с ad2015
лустин статические анализаторы систем 1с ad2015
 
лосев контрольные карты шухарта в анализе деятельности Scrum команд
лосев   контрольные карты шухарта в анализе деятельности Scrum командлосев   контрольные карты шухарта в анализе деятельности Scrum команд
лосев контрольные карты шухарта в анализе деятельности Scrum команд
 
корецкий как мы улучшили экспертную оценку проектов
корецкий   как мы улучшили экспертную оценку проектовкорецкий   как мы улучшили экспертную оценку проектов
корецкий как мы улучшили экспертную оценку проектов
 
зиновьева повышение эффективности команды. ретроспектива как инструмент
зиновьева   повышение эффективности команды. ретроспектива как инструментзиновьева   повышение эффективности команды. ретроспектива как инструмент
зиновьева повышение эффективности команды. ретроспектива как инструмент
 
виноградова внедрение изменений без длинных документов, долгих согласований...
виноградова   внедрение изменений без длинных документов, долгих согласований...виноградова   внедрение изменений без длинных документов, долгих согласований...
виноградова внедрение изменений без длинных документов, долгих согласований...
 
верещак. построение культуры Dev ops. v0.5 copy
верещак. построение  культуры Dev ops. v0.5 copyверещак. построение  культуры Dev ops. v0.5 copy
верещак. построение культуры Dev ops. v0.5 copy
 
бородин об эмпирической разработке
бородин   об эмпирической разработкебородин   об эмпирической разработке
бородин об эмпирической разработке
 
богуславский Agile days непрерывное качество в непрерывной разработке
богуславский   Agile days непрерывное качество в непрерывной разработкебогуславский   Agile days непрерывное качество в непрерывной разработке
богуславский Agile days непрерывное качество в непрерывной разработке
 

мартюшев александр - необходимые навыки технического лидера в Agile проектах