100 лет без авралов или зачем
проекту креативный менеджер
Антон Непомнящих
Руководитель отдела управления проектами
ИСС Арт

www.issart.com
anton-nix.livejournal.com
anepomnyaschih@issart.com
Всѐ ещѐмного дефектов
        Очень много дефектов
            Нет дефектов



            Разработчики часто
                 меняют
            неизвестный им код



      Много             Все работают      Автоматизированное
  разработчиков           над всем           тестирование
                           кодом

                    Сложно распределять
                      ответственность
                      разработчиков по
                     модулям продукта

                         Неясно, что
                       разрабатываем
                           вцелом


                        Заказчик дает
                                              Заказчик –
                      атомарные задачи
                                               опытный
Body-shop
                                              системный
                                              архитектор
Любое внедрение дорого стоит и приводит к
  побочным эффектам.
Всѐ ещѐ много дефектов



            Разработчики часто
                 меняют
            неизвестный им код



      Много             Все работают      Автоматизированное
  разработчиков           над всем           тестирование
                           кодом

                    Сложно распределять
                      ответственность
                      разработчиков по
                     модулям продукта

                         Неясно, что
                       разрабатываем
                           вцелом


                        Заказчик дает
                                              Заказчик –
                      атомарные задачи
                                               опытный
Body-shop
                                              системный
                                              архитектор
Очень долго
                     комитить код




Тесты выполняются       Тесты должны
    долго (1 ч)       всегда проходить!




              Весь бэкенд      Несколько           Зависимости
             покрыт тестами    тестовых               между
                               серверов              тестами


          Автоматизированное
             тестирование                 Bamboo
Всѐ ещѐ долго
                                    комитить код




   Фронтенд
   тормозит?                           Тесты должны         Тесты выполняются
                                     всегда проходить!      быстрее (0-30 мин)




Фронтенд                     Весь бэкенд       Несколько          Зависимости
               Selenium
на ExtJS                    покрыт тестами     тестовых              между
                                               серверов             тестами


                          Автоматизированное
                             тестирование                Bamboo
Всѐ ещѐ много дефектов      Всѐ ещѐ долго
                                  Очень долго
                                  комитить код




                                     Тесты должны         Тесты выполняются
                                   всегда проходить!      быстрее (0-30 мин)




Фронтенд не                Весь бэкенд       Несколько          Зависимости
тестируется               покрыт тестами     тестовых              между
                                             серверов             тестами


                        Автоматизированное
                           тестирование                Bamboo
Количество дефектов после
внедрения юнит-тестов бэкенда
Не очень много дефектов
                                 Всѐ ещѐ много дефектов
                                  Очень много дефектов
                                                                    Долго комитить код

                                      Разработчики часто
                                           меняют
                                      неизвестный им код
             Сложность
              Легкость
             интеграции
                фич
                                Много             Все работают      Автоматизированное
                            разработчиков           почти над
                                                    над всем           тестирование
                                                   всем кодом
                                                      кодом

 Релизить можно          Фичи                                            Очень сложно
                                              Сложнораспределять
                                               Легче распределять         тестировать
 только целиком     разрабатываются
                                                 ответственность         фичи целиком
законченные фичи      параллельно
                                                разработчиков по
                                                модулям продукта

                                                    Ясно, что
                                                   Неясно, что              Ручное
              Фичи в                             разрабатываем           тестирование
  Merge-
            отдельных                                вцелом             отдельных фич
  plugin
              ветках

                                                  Заказчик дает
                                                атомарные задачи
                                                  бизнес-задачи
Не очень много дефектов
                                 Всѐ ещѐ много дефектов
                                  Очень много дефектов



                                      Разработчики часто
                                           меняют
                                      неизвестный им код
             Сложность
              Легкость
             интеграции
                фич
                                Много             Все работают         Автоматизированное
                            разработчиков           почти над
                                                    над всем              тестирование
                                                   всем кодом
                                                      кодом

 Релизить можно          Фичи                     Легче распределять
 только целиком     разрабатываются                 ответственность
законченные фичи      параллельно                  разработчиков по
                                                   модулям продукта


                                                      Ясно, что               Ручное
              Фичи в                               разрабатываем           тестирование
  Merge-
            отдельных                                  вцелом             отдельных фич
  plugin
              ветках
                                                   Заказчик дает
                                                   бизнес-задачи
Не очень много дефектов
                                      Всѐ ещѐ много дефектов
            Merge-
            plugin
                                        Разработчики часто
                                             меняют
                                        неизвестный им код
                    Фичи в
                  отдельных
                    ветках
                                   Много            Все работают         Автоматизированное
                               разработчиков          почти над             тестирование
                                                     всем кодом
              Простои
           разработчиков?                           Легче распределять
                                                      ответственность
                                                     разработчиков по
                                                     модулям продукта
    Полное
                        Полное
интеграционное
                    тестирование –                       Ясно, что              Ручное
и регрессионное
                   долгая процедура                   разрабатываем          тестирование
 тестирование
                                                          вцелом            отдельных фич

                                                      Заказчик дает
                                                      бизнес-задачи
Не очень много дефектов
                                      Всѐ ещѐ много дефектов
            Merge-
            plugin
                                        Разработчики часто
                                             меняют
                                        неизвестный им код
                    Фичи в
                  отдельных
                    ветках
                                   Много            Все работают         Автоматизированное
                               разработчиков          почти над             тестирование
                                                     всем кодом
              Простои
           разработчиков?                           Легче распределять
                                                      ответственность
                                                     разработчиков по
                                                     модулям продукта
    Полное                            Релизная
                        Полное
интеграционное                          ветка
                    тестирование –                       Ясно, что              Ручное
и регрессионное
                   долгая процедура                   разрабатываем          тестирование
 тестирование
                                                          вцелом            отдельных фич

                                                      Заказчик дает
                                                      бизнес-задачи
Не очень много дефектов
                                          Мало дефектов
            Merge-
            plugin
                                        Разработчики часто
                                             меняют
                                        неизвестный им код
                    Фичи в
                  отдельных
                    ветках
                                   Много            Все работают         Автоматизированное
                               разработчиков          почти над             тестирование
                                                     всем кодом
                   Тестирование
Периодические
                   параллельно с                    Легче распределять
   релизы
                    разработкой                       ответственность
                                                     разработчиков по
                                                     модулям продукта
    Полное                            Релизная
                        Полное
интеграционное                          ветка
                    тестирование –                       Ясно, что              Ручное
и регрессионное
                   долгая процедура                   разрабатываем          тестирование
 тестирование
                                                          вцелом            отдельных фич

                                                      Заказчик дает
                                                      бизнес-задачи
График количества дефектов
Любое внедрение требует времени для
  того, чтобы его результаты проявились.




Любое внедрение требует дополнительных
  усилий от всех участников процесса.
Не очень много дефектов
                                          Мало дефектов
            Merge-                                                        Code
            plugin                                                       review
                                        Разработчики часто
                                             меняют                       Daily
                                        неизвестный им код               meetings
                    Фичи в
                  отдельных
                    ветках
                                   Много            Все работают         Автоматизированное
                               разработчиков          почти над             тестирование
                                                     всем кодом
                   Тестирование
Периодические
                   параллельно с                    Легче распределять
   релизы
                    разработкой                       ответственность
                                                     разработчиков по
                                                     модулям продукта
    Полное                            Релизная
                        Полное
интеграционное                          ветка
                    тестирование –                       Ясно, что               Ручное
и регрессионное
                   долгая процедура                   разрабатываем           тестирование
 тестирование
                                                          вцелом             отдельных фич

                                                      Заказчик дает
                                                      бизнес-задачи
График количества дефектов
Всѐ ещѐ много дефектов
                                          Мало дефектов
            Merge-                                                        Code
            plugin                                                       review
                                        Разработчики редко
                                                     часто
                                             меняют                       Daily
                                        неизвестный им код               meetings
                    Фичи в
                  отдельных
                    ветках
                                   Много           Все работают          Автоматизированное
                               разработчиков       над отдельной
                                                     почти над              тестирование
                                                   областью кода
                                                    всем кодом
                   Тестирование
Периодические
                   параллельно с                    Легче распределять
                                                       Распределили
   релизы
                    разработкой                       ответственность
                                                     разработчиков по
                                                     модулям продукта       Наставничество
    Полное                            Релизная                              и специализация
                        Полное
интеграционное                          ветка
                    тестирование –                       Ясно, что               Ручное
и регрессионное
                   долгая процедура                   разрабатываем           тестирование
 тестирование
                                                          вцелом             отдельных фич

                                                     Заказчик дает
                                                     бизнес-задачи
График количества дефектов
Исправляйте корневые причины проблемы, а не
  ее симптомы.
Всѐ ещѐмало дефектов
                                       Очень много дефектов
                                          Мало дефектов
            Merge-                                                        Code
            plugin                                                       review
                                        Разработчики редко
                                                     часто
                                             меняют                       Daily
                                        неизвестный им код               meetings
                    Фичи в
                  отдельных
                    ветках
                                   Много           Все работают          Автоматизированное
                               разработчиков       над отдельной
                                                     почти над              тестирование
                                                   областью кода
                                                    всем кодом
                   Тестирование
Периодические
                   параллельно с                    Легче распределять
                                                       Распределили
   релизы
                    разработкой                       ответственность
                                                     разработчиков по
                                                     модулям продукта       Наставничество
    Полное                            Релизная                              и специализация
                        Полное
интеграционное                          ветка
                    тестирование –                      Ясно, что                Ручное
и регрессионное
                   долгая процедура                  разрабатываем            тестирование
 тестирование
                                                         вцелом              отдельных фич

                                                     Заказчик дает
                                                     бизнес-задачи
График количества дефектов
1. Любое внедрение дорого стоит и приводит к побочным
   эффектам.

2. Любое внедрение требует времени для того, чтобы его
   результаты проявились.

3. Любое внедрение требует дополнительных усилий от
   всех участников процесса.

4. Исправляйте корневые причины проблемы, а не ее
   симптомы.
Спасибо за внимание!


Антон Непомнящих
Руководитель отдела управления проектами
ИСС Арт

www.issart.com
anton-nix.livejournal.com
anepomnyaschih@issart.com

Антон Непомнящих - 100 лет без авралов или зачем проекту креативный менеджер | HappyDev'12

  • 1.
    100 лет безавралов или зачем проекту креативный менеджер Антон Непомнящих Руководитель отдела управления проектами ИСС Арт www.issart.com anton-nix.livejournal.com anepomnyaschih@issart.com
  • 2.
    Всѐ ещѐмного дефектов Очень много дефектов Нет дефектов Разработчики часто меняют неизвестный им код Много Все работают Автоматизированное разработчиков над всем тестирование кодом Сложно распределять ответственность разработчиков по модулям продукта Неясно, что разрабатываем вцелом Заказчик дает Заказчик – атомарные задачи опытный Body-shop системный архитектор
  • 3.
    Любое внедрение дорогостоит и приводит к побочным эффектам.
  • 4.
    Всѐ ещѐ многодефектов Разработчики часто меняют неизвестный им код Много Все работают Автоматизированное разработчиков над всем тестирование кодом Сложно распределять ответственность разработчиков по модулям продукта Неясно, что разрабатываем вцелом Заказчик дает Заказчик – атомарные задачи опытный Body-shop системный архитектор
  • 5.
    Очень долго комитить код Тесты выполняются Тесты должны долго (1 ч) всегда проходить! Весь бэкенд Несколько Зависимости покрыт тестами тестовых между серверов тестами Автоматизированное тестирование Bamboo
  • 6.
    Всѐ ещѐ долго комитить код Фронтенд тормозит? Тесты должны Тесты выполняются всегда проходить! быстрее (0-30 мин) Фронтенд Весь бэкенд Несколько Зависимости Selenium на ExtJS покрыт тестами тестовых между серверов тестами Автоматизированное тестирование Bamboo
  • 7.
    Всѐ ещѐ многодефектов Всѐ ещѐ долго Очень долго комитить код Тесты должны Тесты выполняются всегда проходить! быстрее (0-30 мин) Фронтенд не Весь бэкенд Несколько Зависимости тестируется покрыт тестами тестовых между серверов тестами Автоматизированное тестирование Bamboo
  • 8.
  • 9.
    Не очень многодефектов Всѐ ещѐ много дефектов Очень много дефектов Долго комитить код Разработчики часто меняют неизвестный им код Сложность Легкость интеграции фич Много Все работают Автоматизированное разработчиков почти над над всем тестирование всем кодом кодом Релизить можно Фичи Очень сложно Сложнораспределять Легче распределять тестировать только целиком разрабатываются ответственность фичи целиком законченные фичи параллельно разработчиков по модулям продукта Ясно, что Неясно, что Ручное Фичи в разрабатываем тестирование Merge- отдельных вцелом отдельных фич plugin ветках Заказчик дает атомарные задачи бизнес-задачи
  • 10.
    Не очень многодефектов Всѐ ещѐ много дефектов Очень много дефектов Разработчики часто меняют неизвестный им код Сложность Легкость интеграции фич Много Все работают Автоматизированное разработчиков почти над над всем тестирование всем кодом кодом Релизить можно Фичи Легче распределять только целиком разрабатываются ответственность законченные фичи параллельно разработчиков по модулям продукта Ясно, что Ручное Фичи в разрабатываем тестирование Merge- отдельных вцелом отдельных фич plugin ветках Заказчик дает бизнес-задачи
  • 11.
    Не очень многодефектов Всѐ ещѐ много дефектов Merge- plugin Разработчики часто меняют неизвестный им код Фичи в отдельных ветках Много Все работают Автоматизированное разработчиков почти над тестирование всем кодом Простои разработчиков? Легче распределять ответственность разработчиков по модулям продукта Полное Полное интеграционное тестирование – Ясно, что Ручное и регрессионное долгая процедура разрабатываем тестирование тестирование вцелом отдельных фич Заказчик дает бизнес-задачи
  • 12.
    Не очень многодефектов Всѐ ещѐ много дефектов Merge- plugin Разработчики часто меняют неизвестный им код Фичи в отдельных ветках Много Все работают Автоматизированное разработчиков почти над тестирование всем кодом Простои разработчиков? Легче распределять ответственность разработчиков по модулям продукта Полное Релизная Полное интеграционное ветка тестирование – Ясно, что Ручное и регрессионное долгая процедура разрабатываем тестирование тестирование вцелом отдельных фич Заказчик дает бизнес-задачи
  • 13.
    Не очень многодефектов Мало дефектов Merge- plugin Разработчики часто меняют неизвестный им код Фичи в отдельных ветках Много Все работают Автоматизированное разработчиков почти над тестирование всем кодом Тестирование Периодические параллельно с Легче распределять релизы разработкой ответственность разработчиков по модулям продукта Полное Релизная Полное интеграционное ветка тестирование – Ясно, что Ручное и регрессионное долгая процедура разрабатываем тестирование тестирование вцелом отдельных фич Заказчик дает бизнес-задачи
  • 14.
  • 15.
    Любое внедрение требуетвремени для того, чтобы его результаты проявились. Любое внедрение требует дополнительных усилий от всех участников процесса.
  • 16.
    Не очень многодефектов Мало дефектов Merge- Code plugin review Разработчики часто меняют Daily неизвестный им код meetings Фичи в отдельных ветках Много Все работают Автоматизированное разработчиков почти над тестирование всем кодом Тестирование Периодические параллельно с Легче распределять релизы разработкой ответственность разработчиков по модулям продукта Полное Релизная Полное интеграционное ветка тестирование – Ясно, что Ручное и регрессионное долгая процедура разрабатываем тестирование тестирование вцелом отдельных фич Заказчик дает бизнес-задачи
  • 17.
  • 18.
    Всѐ ещѐ многодефектов Мало дефектов Merge- Code plugin review Разработчики редко часто меняют Daily неизвестный им код meetings Фичи в отдельных ветках Много Все работают Автоматизированное разработчиков над отдельной почти над тестирование областью кода всем кодом Тестирование Периодические параллельно с Легче распределять Распределили релизы разработкой ответственность разработчиков по модулям продукта Наставничество Полное Релизная и специализация Полное интеграционное ветка тестирование – Ясно, что Ручное и регрессионное долгая процедура разрабатываем тестирование тестирование вцелом отдельных фич Заказчик дает бизнес-задачи
  • 19.
  • 20.
    Исправляйте корневые причиныпроблемы, а не ее симптомы.
  • 21.
    Всѐ ещѐмало дефектов Очень много дефектов Мало дефектов Merge- Code plugin review Разработчики редко часто меняют Daily неизвестный им код meetings Фичи в отдельных ветках Много Все работают Автоматизированное разработчиков над отдельной почти над тестирование областью кода всем кодом Тестирование Периодические параллельно с Легче распределять Распределили релизы разработкой ответственность разработчиков по модулям продукта Наставничество Полное Релизная и специализация Полное интеграционное ветка тестирование – Ясно, что Ручное и регрессионное долгая процедура разрабатываем тестирование тестирование вцелом отдельных фич Заказчик дает бизнес-задачи
  • 22.
  • 23.
    1. Любое внедрениедорого стоит и приводит к побочным эффектам. 2. Любое внедрение требует времени для того, чтобы его результаты проявились. 3. Любое внедрение требует дополнительных усилий от всех участников процесса. 4. Исправляйте корневые причины проблемы, а не ее симптомы.
  • 24.
    Спасибо за внимание! АнтонНепомнящих Руководитель отдела управления проектами ИСС Арт www.issart.com anton-nix.livejournal.com anepomnyaschih@issart.com