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

Magneta AI
Magneta AICEO at Magneta.ai
Необходимые
навыки
технического
лидера в 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
1 of 94

Recommended

лившиц владимир - независимое тестирование миф by
лившиц владимир - независимое тестирование мифлившиц владимир - независимое тестирование миф
лившиц владимир - независимое тестирование мифMagneta AI
623 views18 slides
Проекты в срок и в рамках бюджета - ImproveIT на HappyDev by
Проекты в срок и в рамках бюджета - ImproveIT на HappyDevПроекты в срок и в рамках бюджета - ImproveIT на HappyDev
Проекты в срок и в рамках бюджета - ImproveIT на HappyDevStepan Volkov
460 views31 slides
Михаил Рахманов — Promises, или почему обещания надо выполнять by
Михаил Рахманов — Promises, или почему обещания надо выполнятьМихаил Рахманов — Promises, или почему обещания надо выполнять
Михаил Рахманов — Promises, или почему обещания надо выполнятьCocoaHeads
244 views40 slides
20100927 28 reqformalization-kuliamin by
20100927 28 reqformalization-kuliamin20100927 28 reqformalization-kuliamin
20100927 28 reqformalization-kuliaminComputer Science Club
525 views72 slides
(Не)Уставные отношения by
(Не)Уставные отношения(Не)Уставные отношения
(Не)Уставные отношенияTatyana Belova
1.3K views22 slides
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС) by
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)Ontico
249 views62 slides

More Related Content

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

лекция1 by
лекция1лекция1
лекция1ap0f30z
144 views12 slides
PM Innovation 2013 - Управление непредсказуемым проектом by
PM Innovation 2013 - Управление непредсказуемым проектомPM Innovation 2013 - Управление непредсказуемым проектом
PM Innovation 2013 - Управление непредсказуемым проектомITD Systems
8.5K views35 slides
Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma... by
Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma...Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma...
Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma...Lviv Startup Club
237 views26 slides
Слайдкаст. Измерения в ИТ и ПО. Часть II by
Слайдкаст. Измерения в ИТ и ПО. Часть IIСлайдкаст. Измерения в ИТ и ПО. Часть II
Слайдкаст. Измерения в ИТ и ПО. Часть IISergiy Povolyashko
2K views23 slides
CCPM Vebinar 21 01 2010 by
CCPM Vebinar 21 01 2010CCPM Vebinar 21 01 2010
CCPM Vebinar 21 01 2010Андрей Степенко
1K views86 slides
Gaperton - Software People 2012 by
Gaperton - Software People 2012Gaperton - Software People 2012
Gaperton - Software People 2012Михаил Полыковский
683 views36 slides

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

лекция1 by ap0f30z
лекция1лекция1
лекция1
ap0f30z144 views
PM Innovation 2013 - Управление непредсказуемым проектом by ITD Systems
PM Innovation 2013 - Управление непредсказуемым проектомPM Innovation 2013 - Управление непредсказуемым проектом
PM Innovation 2013 - Управление непредсказуемым проектом
ITD Systems8.5K views
Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma... by Lviv Startup Club
Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma...Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma...
Дов Німрац "“Що таке проблемний продукт і як з цим боротись?" Lviv Project Ma...
Lviv Startup Club237 views
Слайдкаст. Измерения в ИТ и ПО. Часть II by Sergiy Povolyashko
Слайдкаст. Измерения в ИТ и ПО. Часть IIСлайдкаст. Измерения в ИТ и ПО. Часть II
Слайдкаст. Измерения в ИТ и ПО. Часть II
Дов Німрац “Що таке проблемний продукт і як з цим боротись?” Kharkiv Project ... by Lviv Startup Club
Дов Німрац “Що таке проблемний продукт і як з цим боротись?” Kharkiv Project ...Дов Німрац “Що таке проблемний продукт і як з цим боротись?” Kharkiv Project ...
Дов Німрац “Що таке проблемний продукт і як з цим боротись?” Kharkiv Project ...
Грамотная работа с дефект-трекером by Alexey Lyanguzov
Грамотная работа с дефект-трекеромГрамотная работа с дефект-трекером
Грамотная работа с дефект-трекером
Alexey Lyanguzov1.2K views
мартюшев почему юнит-тесты не работают. история большого проекта by Magneta AI
мартюшев   почему юнит-тесты не работают. история большого проектамартюшев   почему юнит-тесты не работают. история большого проекта
мартюшев почему юнит-тесты не работают. история большого проекта
Magneta AI858 views
мартюшев почему юнит-тесты не работают. история большого проекта by Magneta AI
мартюшев   почему юнит-тесты не работают. история большого проектамартюшев   почему юнит-тесты не работают. история большого проекта
мартюшев почему юнит-тесты не работают. история большого проекта
Magneta AI238 views
Контекстное тестирование ПО by Alexey Lyanguzov
Контекстное тестирование ПОКонтекстное тестирование ПО
Контекстное тестирование ПО
Alexey Lyanguzov1K views
Slid 3.0 Scrum для практиков на Vsts2008 by Denis Petelin
Slid 3.0 Scrum для практиков на Vsts2008Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008
Denis Petelin650 views
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн... by Nikita Nalyutin
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...
Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия вн...
Nikita Nalyutin703 views
Управление и руководство в процессном подходе. Тренинг-семинар. by Ратнер Александр
Управление и руководство в процессном подходе. Тренинг-семинар.Управление и руководство в процессном подходе. Тренинг-семинар.
Управление и руководство в процессном подходе. Тренинг-семинар.
Process Quality, QA and QC. QA Club. Kharkov. Ukraine by Sergiy Povolyashko
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
Sergiy Povolyashko1.5K views

More from Magneta AI

From outsource to productsource! by
From outsource to productsource!From outsource to productsource!
From outsource to productsource!Magneta AI
684 views30 slides
BDD test structure by
BDD test structureBDD test structure
BDD test structureMagneta AI
745 views8 slides
AgileCamp15. Процессный трек by
AgileCamp15. Процессный трекAgileCamp15. Процессный трек
AgileCamp15. Процессный трекMagneta AI
950 views54 slides
Как создать концепцию продукта в виде Lean Canvas by
Как создать концепцию продукта в виде Lean CanvasКак создать концепцию продукта в виде Lean Canvas
Как создать концепцию продукта в виде Lean CanvasMagneta AI
2.3K views34 slides
Эффективные ретроспективы by
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективыMagneta AI
2.9K views49 slides
зотин Scrum, kanban, что дальше. история nokia by
зотин   Scrum, kanban, что дальше. история nokiaзотин   Scrum, kanban, что дальше. история nokia
зотин Scrum, kanban, что дальше. история nokiaMagneta AI
1.3K views49 slides

More from Magneta AI(20)

From outsource to productsource! by Magneta AI
From outsource to productsource!From outsource to productsource!
From outsource to productsource!
Magneta AI684 views
BDD test structure by Magneta AI
BDD test structureBDD test structure
BDD test structure
Magneta AI745 views
AgileCamp15. Процессный трек by Magneta AI
AgileCamp15. Процессный трекAgileCamp15. Процессный трек
AgileCamp15. Процессный трек
Magneta AI950 views
Как создать концепцию продукта в виде Lean Canvas by Magneta AI
Как создать концепцию продукта в виде Lean CanvasКак создать концепцию продукта в виде Lean Canvas
Как создать концепцию продукта в виде Lean Canvas
Magneta AI2.3K views
Эффективные ретроспективы by Magneta AI
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективы
Magneta AI2.9K views
зотин Scrum, kanban, что дальше. история nokia by Magneta AI
зотин   Scrum, kanban, что дальше. история nokiaзотин   Scrum, kanban, что дальше. история nokia
зотин Scrum, kanban, что дальше. история nokia
Magneta AI1.3K views
абраменко как сделать нужный людям продукт by Magneta AI
абраменко   как сделать нужный людям продуктабраменко   как сделать нужный людям продукт
абраменко как сделать нужный людям продукт
Magneta AI785 views
павлов все, что вы хотели знать о юнит тестах, но боялись спросить by Magneta AI
павлов   все, что вы хотели знать о юнит тестах, но боялись спроситьпавлов   все, что вы хотели знать о юнит тестах, но боялись спросить
павлов все, что вы хотели знать о юнит тестах, но боялись спросить
Magneta AI655 views
тучин как внедрить Agile, чтобы никто не заметил by Magneta AI
тучин   как внедрить Agile, чтобы никто не заметилтучин   как внедрить Agile, чтобы никто не заметил
тучин как внедрить Agile, чтобы никто не заметил
Magneta AI902 views
ткаченко качество без этапа тестирования by Magneta AI
ткаченко   качество без этапа тестированияткаченко   качество без этапа тестирования
ткаченко качество без этапа тестирования
Magneta AI822 views
сенькова разное ретро для разных команд (как провести ретро для новичков, с... by Magneta AI
сенькова   разное ретро для разных команд (как провести ретро для новичков, с...сенькова   разное ретро для разных команд (как провести ретро для новичков, с...
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
Magneta AI687 views
мациевский путь самурая. уволить нельзя оставить by Magneta AI
мациевский   путь самурая. уволить нельзя оставитьмациевский   путь самурая. уволить нельзя оставить
мациевский путь самурая. уволить нельзя оставить
Magneta AI709 views
лустин статические анализаторы систем 1с ad2015 by Magneta AI
лустин   статические анализаторы систем 1с ad2015лустин   статические анализаторы систем 1с ad2015
лустин статические анализаторы систем 1с ad2015
Magneta AI1.9K views
лосев контрольные карты шухарта в анализе деятельности Scrum команд by Magneta AI
лосев   контрольные карты шухарта в анализе деятельности Scrum командлосев   контрольные карты шухарта в анализе деятельности Scrum команд
лосев контрольные карты шухарта в анализе деятельности Scrum команд
Magneta AI922 views
корецкий как мы улучшили экспертную оценку проектов by Magneta AI
корецкий   как мы улучшили экспертную оценку проектовкорецкий   как мы улучшили экспертную оценку проектов
корецкий как мы улучшили экспертную оценку проектов
Magneta AI588 views
зиновьева повышение эффективности команды. ретроспектива как инструмент by Magneta AI
зиновьева   повышение эффективности команды. ретроспектива как инструментзиновьева   повышение эффективности команды. ретроспектива как инструмент
зиновьева повышение эффективности команды. ретроспектива как инструмент
Magneta AI799 views
виноградова внедрение изменений без длинных документов, долгих согласований... by Magneta AI
виноградова   внедрение изменений без длинных документов, долгих согласований...виноградова   внедрение изменений без длинных документов, долгих согласований...
виноградова внедрение изменений без длинных документов, долгих согласований...
Magneta AI566 views
верещак. построение культуры Dev ops. v0.5 copy by Magneta AI
верещак. построение  культуры Dev ops. v0.5 copyверещак. построение  культуры Dev ops. v0.5 copy
верещак. построение культуры Dev ops. v0.5 copy
Magneta AI723 views
бородин об эмпирической разработке by Magneta AI
бородин   об эмпирической разработкебородин   об эмпирической разработке
бородин об эмпирической разработке
Magneta AI529 views
богуславский Agile days непрерывное качество в непрерывной разработке by Magneta AI
богуславский   Agile days непрерывное качество в непрерывной разработкебогуславский   Agile days непрерывное качество в непрерывной разработке
богуславский Agile days непрерывное качество в непрерывной разработке
Magneta AI537 views

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