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



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

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

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


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




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




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




75%        ???


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




75%      98%


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




75%    38%     ???


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




75%    38%     10%


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


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


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



   33%

   69%
мартюшев александр - необходимые навыки технического лидера в Agile проектах
Исправим позже? :)




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

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




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



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



   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()
Принимаем решение
Что еще может помочь
Итого:

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




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

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

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

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

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

More Related Content

PPT
лившиц владимир - независимое тестирование миф
Magneta AI
 
PDF
Проекты в срок и в рамках бюджета - ImproveIT на HappyDev
Stepan Volkov
 
PDF
Михаил Рахманов — Promises, или почему обещания надо выполнять
CocoaHeads
 
PPT
20100927 28 reqformalization-kuliamin
Computer Science Club
 
PPTX
(Не)Уставные отношения
Tatyana Belova
 
PDF
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Ontico
 
PPTX
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Alexander Gornik
 
лившиц владимир - независимое тестирование миф
Magneta AI
 
Проекты в срок и в рамках бюджета - ImproveIT на HappyDev
Stepan Volkov
 
Михаил Рахманов — Promises, или почему обещания надо выполнять
CocoaHeads
 
20100927 28 reqformalization-kuliamin
Computer Science Club
 
(Не)Уставные отношения
Tatyana Belova
 
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Ontico
 
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Alexander Gornik
 

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

PPT
лекция1
ap0f30z
 
PPT
PM Innovation 2013 - Управление непредсказуемым проектом
ITD Systems
 
PPTX
Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma...
Lviv Startup Club
 
PPT
Слайдкаст. Измерения в ИТ и ПО. Часть II
Sergiy Povolyashko
 
PPT
CCPM Vebinar 21 01 2010
Андрей Степенко
 
PDF
Gaperton - Software People 2012
Михаил Полыковский
 
PPTX
Дов Німрац “Що таке проблемний продукт і як з цим боротись?” Kharkiv Project ...
Lviv Startup Club
 
PDF
Грамотная работа с дефект-трекером
Alexey Lyanguzov
 
PDF
мартюшев почему юнит-тесты не работают. история большого проекта
Magneta AI
 
PPTX
мартюшев почему юнит-тесты не работают. история большого проекта
Magneta AI
 
PDF
Контекстное тестирование ПО
Alexey Lyanguzov
 
PPTX
My presentation for PM-Forum in Ukraine
Yevheniy Veselov, MBA, PMP
 
PDF
TaskProgress
Sergiy Potapov
 
PDF
Slid 3.0 Scrum для практиков на Vsts2008
Denis Petelin
 
PPT
20070414 Toc Pm
Андрей Степенко
 
PPT
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...
Nikita Nalyutin
 
PDF
7 retro
Nikita Filippov
 
PPT
Проблемы локальных аутсорсинговых проектов
Сергей Бережной
 
PPTX
Управление и руководство в процессном подходе. Тренинг-семинар.
Ратнер Александр
 
PPT
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
Sergiy Povolyashko
 
лекция1
ap0f30z
 
PM Innovation 2013 - Управление непредсказуемым проектом
ITD Systems
 
Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma...
Lviv Startup Club
 
Слайдкаст. Измерения в ИТ и ПО. Часть II
Sergiy Povolyashko
 
CCPM Vebinar 21 01 2010
Андрей Степенко
 
Gaperton - Software People 2012
Михаил Полыковский
 
Дов Німрац “Що таке проблемний продукт і як з цим боротись?” Kharkiv Project ...
Lviv Startup Club
 
Грамотная работа с дефект-трекером
Alexey Lyanguzov
 
мартюшев почему юнит-тесты не работают. история большого проекта
Magneta AI
 
мартюшев почему юнит-тесты не работают. история большого проекта
Magneta AI
 
Контекстное тестирование ПО
Alexey Lyanguzov
 
My presentation for PM-Forum in Ukraine
Yevheniy Veselov, MBA, PMP
 
TaskProgress
Sergiy Potapov
 
Slid 3.0 Scrum для практиков на Vsts2008
Denis Petelin
 
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...
Nikita Nalyutin
 
Проблемы локальных аутсорсинговых проектов
Сергей Бережной
 
Управление и руководство в процессном подходе. Тренинг-семинар.
Ратнер Александр
 
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
Sergiy Povolyashko
 
Ad

More from Magneta AI (20)

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

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