ݺߣ

ݺߣShare a Scribd company logo
Software Quality Assurance Days
10-я Международная конференция
2-3 декабря 2011, Москва




Аналитик и Тестировщик
в одном лице – путь к качеству

Докладчик:
Максим Цепков (M.Tsepkov@custis.ru)
www.custis.ru
О чем этот доклад?
   Процесс разработки и разделение ролей:
    •   Классика – водопад, разделение ролей – оттуда.
    •   IT-отрасль меняется, меняются и модели.

   Есть альтернатива – модель аналитика-заказчика:
    •   В команде – аналитики-тестировщики и разработчики.
    •   Делимся опытом успешного использования.




              Смотрим на опыт других
              и вырабатываем свой подход.


                                                             2/21
Визуальное представление ролей
   Для эффективного обсуждения                               Диаграммы –
                                                                фишка
    нужно графическое представление.
   Это оказалось удобно делать на схеме V-модели.




http://en.wikipedia.org/wiki/V-Model_(software_development)           3/21
Процесс разработки и роли




                            4/21
Agile – мировой тренд
                                          Это просто факт
   Наблюдаемые признаки:
    • Признание и использование Agile в ведущих IT-компаниях
        и в inhouse-разработке.
    •   Явное упоминание Agile в базовых документах (SWEBOK, PMBOK).
    •   Россия – в русле мирового развития.

   Мечта о едином, эталонном процессе похоронена.
    • Даже в варианте «возьмите только нужное» (PMBOK).
   Делаем процесс, адекватный проекту и компании!
    • SCRUM/Canban/XP – лишь распространенные комбинации.
    • Комбинируем известные успешные практики, придумываем свои.
    • Фокус на эффективные коммуникации и автономность команды.

                                                                 5/21
Водопад ушел – роли остались
                  Бизнес-аналитик                  Каждой стадии –
                                                    своя роль.
 Requirements                                      Роли выполняются
                         Системный аналитик
                                                    разными людьми
                                                    или командами.
           Design
                                                   Передача работы –
                                                    через артефакты
                 Implementation                     на отдельных языках.

Разработчик
                          Verification                     А где заказчик?
     Тестировщик
                                  Maintenance
                                                    Модель водопада –
                Внедренец                           http://en.wikipedia.org/wiki/
                                                    Waterfall_model

                                                                              6/21
Роли водопада на V-модели
 Коммуникации – лишь с соседями.
 Длинный цикл общения ведет к потере информации.
                                  Заказчик
                Concept                               Maintenance


  Бизнес-        Requirements
                                                   System            Внедренцы
  аналитики           and
                                                  Verification
                  Architecture


    Системные             Detailed          Integration
                          Design             and Test            Тестировщики
    аналитики
                                 Implementation


                            Разработчики
                                                                            7/21
Изменение видения проекта…
                                                                           Что хотели
        Старый известный образ...

                                                                            5
                                        Заказчик

                        Concept                       Maintenance

1       Бизнес-         Requirements                                  Внедренцы
                                                    System
        аналитики            and
                                                   Verification
                         Architecture

            Системные             Detailed     Integration
                                                                  Тестировщики
            аналитики             Design        and Test

        2                            Implementation                          4

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



                                                                                  8/21
Что предлагает Agile?
   Кросс-функциональная команда разработчиков.
   Взаимодействие с заказчиком через Product Owner’а.

                              Заказчик

              Concept                       Maintenance   Конструкция SCRUM,
    Product                                                в других методах –
    Owner
              Requirements
                                          System               аналогично
                   and
                                         Verification
               Architecture

                        Detailed     Integration
                        Design        and Test

                           Implementation

                            Команда
                          Разработчики
                                                                        9/21
Плюсы и минусы
 Эффективные коммуникации.
 Возможность быстрой обратной связи.
 Большая нагрузка на Product Owner’а.
 Расширение зоны ответственности Заказчика.
 Слишком разнообразная работа членов команды.
                        Заказчик
            Concept                     Maintenance
  Product
  Owner     Requirements             System             Подходит далеко
                 and
             Architecture
                                   Verification       не для всех проектов.
                  Detailed      Integration
                  Design         and Test
                       Implementation


                        Команда                                        10/21
                      Разработчики
Ищем хорошие варианты

                        В духе Agile




                                       11/21
Специализация внутри команды
 Кросс-функциональная команда не означает полной
  взаимозаменяемости, возможна специализация.
 Снижается нагрузка на Product Owner’а.
 Большое число ролей затрудняет коммуникации.
 Неравномерная нагрузка на роли в ходе проекта.

                         Заказчик
             Concept                     Maintenance
                         Product
             Requirements Owner       System
 Аналитики       and                Verification   Тестировщики
             Architecture

                   Detailed      Integration
                   Design         and Test
                        Implementation


                       Разработчики                               12/21
Есть проекты, где аналитики мало
 Команда разработчиков и тестировщиков –
  распространенный вариант.
 Две роли – не много, но достаточно.
 Не подходит, когда аналитической работы много.

                          Заказчик
              Concept                     Maintenance

    Product   Requirements             System
    Owner          and               Verification   Тестировщики
               Architecture

                    Detailed      Integration
                    Design         and Test
                         Implementation


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

                                                                   13/21
Модель внутреннего заказчика
 Аналитики получают требования заказчика
  и формулируют задачу разработчикам.
 Они же принимают результат разработки
  и передают его заказчику.
                                                                Новое – хорошо
                       Заказчик                                 забытое старое.
           Concept                     Maintenance
                       Product
           Requirements Owner
                and
                                    System        Аналитики-
                                  Verification
            Architecture                         тестировщики
                  Detailed     Integration
                  Design        and Test

                      Implementation


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

                                                                          14/21
Область применения модели
 Для проектов с полным набором активностей.
 CUSTIS – заказная разработка: обследование,
  постановка, разработка, внедрение, развитие.
 Для продуктовой разработки тоже применима.
 Модель распространена в мире
  Пауль Тернер на Req-Labs.




                                                 15/21
Преимущества модели
 Автономность команды разработки.
 Эффективные коммуникации внутри и с заказчиком.
 Быстрая реакция на требования заказчика
  (скорость поставки часто важнее качества продукта).
 Прием результата разработки аналитиком повышает
  соответствие системы ожиданиям заказчика.
 Две роли в команде – возможность дублирования.
 Равномерная нагрузка на роли в ходе проекта.

         Все вместе дает высокое качество услуги
         для заказчика.

                                                   16/21
Почему аналитика, тестирование,
внедрение – схожая активность?
    Представить работу пользователя с системой:
    • Бизнес-сценарии – основа требований и тестов.   Это все – общие
    • Основные активности пользователей, эргономика.    активности.
    • Сложные случаи – для проектирования и проверки.
    Общение с Заказчиками и Пользователями:
    • Выяснение их работы и ее особенностей.
    • Уточнение при альтернативных           В аналитике
        и спорных моментах.                            и тестировании
    •   Объяснение работы системы.                     есть место
    •   Консультации по сложным случаям.               и сенсорикам,
                                                       и интуитам.
   Взаимодействие с разработчиками.
                                                                17/21
Опыт CUSTIS – типовая команда*
 Соотношение разработчиков и аналитиков – 2:1.
 6–7 (4–11) человек: 4 разработчика, 2 аналитика
  и руководитель проекта (Product Owner).
 Члены команды могут заменять друг друга с учетом
  специализации. У руководителя тоже есть зам.
 Применение DDD дает единый язык общения.
 Часть разработчиков и аналитиков – начинающие,
  они растут и набирают опыт.
 По мере роста опытные сотрудники уходят
  в новые проекты, а новички – приходят.
* Для сложных проектов, развивающихся 3–10 лет после внедрения.
                                                                  18/21
Рост новичков в команде
  Активность аналитика начинается с тестирования:
     освоение системы и бизнес-области.
    Активность разработчика начинается с реализации по
     проработанным постановкам.
    Постепенно области расширяются…
                               Заказчик

                    Concept                    Maintenance

                    Requirements
      Аналитики-         and
                                            System
                                          Verification       Начинающий
     тестировщики    Architecture
                                                             аналитик-
                          Detailed     Integration           тестировщик
                          Design        and Test
Начинающий
                              Implementation
разработчик


                              Разработчики                            19/21
Подводя итоги
Общее:
 Создавайте разделение ролей исходя из проекта.
 Для визуализации хорошо использовать V-модель.
 Эффективные коммуникации – необходимы.
Частное:
 Аналитик, тестировщик и специалист по внедрению
  и сопровождению в одном лице – эффективно.
 Скорость поставки доработки часто важнее,
  чем ее качество.


                                               20/21
Спасибо!
Вопросы?


Максим Цепков
M.Tsepkov@custis.ru

More Related Content

What's hot (20)

Внедрение CASE-технологий
Внедрение CASE-технологийВнедрение CASE-технологий
Внедрение CASE-технологий
Отшельник
Разделение ответственности в заказной разработке
Разделение ответственности в заказной разработкеРазделение ответственности в заказной разработке
Разделение ответственности в заказной разработке
CUSTIS
Вебинар Microsoft ALM (11.12.2012)
Вебинар Microsoft ALM (11.12.2012)Вебинар Microsoft ALM (11.12.2012)
Вебинар Microsoft ALM (11.12.2012)
Dmitry Melikov
Внедрение юзабилити практик в процесс разработки ПО в соответствии с СMMI - д...
Внедрение юзабилити практик в процесс разработки ПО в соответствии с СMMI - д...Внедрение юзабилити практик в процесс разработки ПО в соответствии с СMMI - д...
Внедрение юзабилити практик в процесс разработки ПО в соответствии с СMMI - д...
Julia Kryuchkova
Модельно-ориентированная инженерия в MATLAB и Simulink
Модельно-ориентированная инженерия в MATLAB и SimulinkМодельно-ориентированная инженерия в MATLAB и Simulink
Модельно-ориентированная инженерия в MATLAB и Simulink
Alexander Efremov
Управление разработкой продукта
Управление разработкой продуктаУправление разработкой продукта
Управление разработкой продукта
Alexey Filimonov
Инжиниринг требований
Инжиниринг требованийИнжиниринг требований
Инжиниринг требований
SQALab
плакаты конькова ивана12[1].02.14
плакаты конькова ивана12[1].02.14плакаты конькова ивана12[1].02.14
плакаты конькова ивана12[1].02.14
IKonkov
Agile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииAgile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революции
CUSTIS
Способы создания качественного программного продукта
Способы создания качественного программного продуктаСпособы создания качественного программного продукта
Способы создания качественного программного продукта
Ingria. Technopark St. Petersburg
Управление разработкой продукта
Управление разработкой продуктаУправление разработкой продукта
Управление разработкой продукта
Alexey Filimonov
вгу презентация
вгу презентациявгу презентация
вгу презентация
Alexander Efremov
Системная архитектура вместо требований
Системная архитектура вместо требованийСистемная архитектура вместо требований
Системная архитектура вместо требований
Михаил Заборов
Requirement management
Requirement managementRequirement management
Requirement management
Softmart
Внедрение CASE-технологий
Внедрение CASE-технологийВнедрение CASE-технологий
Внедрение CASE-технологий
Отшельник
Разделение ответственности в заказной разработке
Разделение ответственности в заказной разработкеРазделение ответственности в заказной разработке
Разделение ответственности в заказной разработке
CUSTIS
Вебинар Microsoft ALM (11.12.2012)
Вебинар Microsoft ALM (11.12.2012)Вебинар Microsoft ALM (11.12.2012)
Вебинар Microsoft ALM (11.12.2012)
Dmitry Melikov
Внедрение юзабилити практик в процесс разработки ПО в соответствии с СMMI - д...
Внедрение юзабилити практик в процесс разработки ПО в соответствии с СMMI - д...Внедрение юзабилити практик в процесс разработки ПО в соответствии с СMMI - д...
Внедрение юзабилити практик в процесс разработки ПО в соответствии с СMMI - д...
Julia Kryuchkova
Модельно-ориентированная инженерия в MATLAB и Simulink
Модельно-ориентированная инженерия в MATLAB и SimulinkМодельно-ориентированная инженерия в MATLAB и Simulink
Модельно-ориентированная инженерия в MATLAB и Simulink
Alexander Efremov
Управление разработкой продукта
Управление разработкой продуктаУправление разработкой продукта
Управление разработкой продукта
Alexey Filimonov
Инжиниринг требований
Инжиниринг требованийИнжиниринг требований
Инжиниринг требований
SQALab
плакаты конькова ивана12[1].02.14
плакаты конькова ивана12[1].02.14плакаты конькова ивана12[1].02.14
плакаты конькова ивана12[1].02.14
IKonkov
Agile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииAgile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революции
CUSTIS
Способы создания качественного программного продукта
Способы создания качественного программного продуктаСпособы создания качественного программного продукта
Способы создания качественного программного продукта
Ingria. Technopark St. Petersburg
Управление разработкой продукта
Управление разработкой продуктаУправление разработкой продукта
Управление разработкой продукта
Alexey Filimonov
Системная архитектура вместо требований
Системная архитектура вместо требованийСистемная архитектура вместо требований
Системная архитектура вместо требований
Михаил Заборов
Requirement management
Requirement managementRequirement management
Requirement management
Softmart

Similar to Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Days-2011) (20)

Roles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovRoles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkov
Maxim Tsepkov
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
RIF-Technology
Responsibilities in software development tsepkov analyst days 2015
Responsibilities in software development tsepkov analyst days 2015Responsibilities in software development tsepkov analyst days 2015
Responsibilities in software development tsepkov analyst days 2015
Maxim Tsepkov
Разработка по с использованием Tfs 2012
Разработка по с использованием Tfs 2012Разработка по с использованием Tfs 2012
Разработка по с использованием Tfs 2012
Александр Шамрай
Внедрение практик юзабилити в процесс разработки ПО в соответствии с СMMI
Внедрение практик юзабилити в процесс разработки ПО в соответствии с СMMIВнедрение практик юзабилити в процесс разработки ПО в соответствии с СMMI
Внедрение практик юзабилити в процесс разработки ПО в соответствии с СMMI
Dmitry Pavlov
Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017
Maxim Tsepkov
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
CUSTIS
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
SQALab
Req Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требованийReq Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требований
Alexander Kalouguine
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологий
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологийСпецифика работы бизнес-аналитика в зависимости от типов проектов и методологий
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологий
SQALab
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
CUSTIS
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектах
Maxim Tsepkov
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектах
SQALab
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
Yury Vetrov
Software development lifecycle
Software development lifecycleSoftware development lifecycle
Software development lifecycle
QA Guards
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUAREТехники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
SQALab
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
Омские ИТ-субботники
Архитектура в Agile проекте
Архитектура в Agile проектеАрхитектура в Agile проекте
Архитектура в Agile проекте
LuxoftTraining
Успешный проект внедрения Docsvision вертекс юнайтед
Успешный проект внедрения Docsvision вертекс юнайтедУспешный проект внедрения Docsvision вертекс юнайтед
Успешный проект внедрения Docsvision вертекс юнайтед
Docsvision
Совершенствование процессов управления проектами
Совершенствование процессов управления проектамиСовершенствование процессов управления проектами
Совершенствование процессов управления проектами
Тереза Богуш
Roles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovRoles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkov
Maxim Tsepkov
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
RIF-Technology
Responsibilities in software development tsepkov analyst days 2015
Responsibilities in software development tsepkov analyst days 2015Responsibilities in software development tsepkov analyst days 2015
Responsibilities in software development tsepkov analyst days 2015
Maxim Tsepkov
Разработка по с использованием Tfs 2012
Разработка по с использованием Tfs 2012Разработка по с использованием Tfs 2012
Разработка по с использованием Tfs 2012
Александр Шамрай
Внедрение практик юзабилити в процесс разработки ПО в соответствии с СMMI
Внедрение практик юзабилити в процесс разработки ПО в соответствии с СMMIВнедрение практик юзабилити в процесс разработки ПО в соответствии с СMMI
Внедрение практик юзабилити в процесс разработки ПО в соответствии с СMMI
Dmitry Pavlov
Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017
Maxim Tsepkov
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
CUSTIS
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
SQALab
Req Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требованийReq Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требований
Alexander Kalouguine
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологий
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологийСпецифика работы бизнес-аналитика в зависимости от типов проектов и методологий
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологий
SQALab
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
CUSTIS
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектах
Maxim Tsepkov
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектах
SQALab
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
Yury Vetrov
Software development lifecycle
Software development lifecycleSoftware development lifecycle
Software development lifecycle
QA Guards
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUAREТехники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
SQALab
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
Омские ИТ-субботники
Архитектура в Agile проекте
Архитектура в Agile проектеАрхитектура в Agile проекте
Архитектура в Agile проекте
LuxoftTraining
Успешный проект внедрения Docsvision вертекс юнайтед
Успешный проект внедрения Docsvision вертекс юнайтедУспешный проект внедрения Docsvision вертекс юнайтед
Успешный проект внедрения Docsvision вертекс юнайтед
Docsvision
Совершенствование процессов управления проектами
Совершенствование процессов управления проектамиСовершенствование процессов управления проектами
Совершенствование процессов управления проектами
Тереза Богуш

More from CUSTIS (20)

Три истории микросервисов, или MSA для Enterprise
Три истории микросервисов, или MSA для EnterpriseТри истории микросервисов, или MSA для Enterprise
Три истории микросервисов, или MSA для Enterprise
CUSTIS
Долгоживущие ИТ в динамичном ритейле
Долгоживущие ИТ в динамичном ритейлеДолгоживущие ИТ в динамичном ритейле
Долгоживущие ИТ в динамичном ритейле
CUSTIS
Будущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациямБудущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациям
CUSTIS
Диаграммы учета как средство для наглядного и целостного отображения правил у...
Диаграммы учета как средство для наглядного и целостного отображения правил у...Диаграммы учета как средство для наглядного и целостного отображения правил у...
Диаграммы учета как средство для наглядного и целостного отображения правил у...
CUSTIS
Сотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практикиСотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практики
CUSTIS
Опыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банкеОпыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банке
CUSTIS
Золотая лихорадка MSA: почему нам не подошли микросервисы?
Золотая лихорадка MSA: почему нам не подошли микросервисы?Золотая лихорадка MSA: почему нам не подошли микросервисы?
Золотая лихорадка MSA: почему нам не подошли микросервисы?
CUSTIS
Барьеры микросервисной архитектуры
Барьеры микросервисной архитектурыБарьеры микросервисной архитектуры
Барьеры микросервисной архитектуры
CUSTIS
Три истории микросервисов
Три истории микросервисовТри истории микросервисов
Три истории микросервисов
CUSTIS
От монолитных моделей предметной области — к модульным
От монолитных моделей предметной области — к модульнымОт монолитных моделей предметной области — к модульным
От монолитных моделей предметной области — к модульным
CUSTIS
Проблемы управления правами доступа к информационным системам крупной торгово...
Проблемы управления правами доступа к информационным системам крупной торгово...Проблемы управления правами доступа к информационным системам крупной торгово...
Проблемы управления правами доступа к информационным системам крупной торгово...
CUSTIS
Будущее omni-channel маркетинга: инструменты, кейсы и цифры
Будущее omni-channel маркетинга: инструменты, кейсы и цифрыБудущее omni-channel маркетинга: инструменты, кейсы и цифры
Будущее omni-channel маркетинга: инструменты, кейсы и цифры
CUSTIS
Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектах
CUSTIS
State of the .Net Performance
State of the .Net PerformanceState of the .Net Performance
State of the .Net Performance
CUSTIS
Опыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыОпыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектуры
CUSTIS
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватает
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватаетГибридный подход к управлению правами доступа: когда стандартного IDM не хватает
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватает
CUSTIS
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
CUSTIS
Process и Case Management в информационной системе: от автоматизации As Is к ...
Process и Case Management в информационной системе: от автоматизации As Is к ...Process и Case Management в информационной системе: от автоматизации As Is к ...
Process и Case Management в информационной системе: от автоматизации As Is к ...
CUSTIS
RBAC & ABAC: гибридное решение для управления правами доступа
RBAC & ABAC: гибридное решение для управления правами доступаRBAC & ABAC: гибридное решение для управления правами доступа
RBAC & ABAC: гибридное решение для управления правами доступа
CUSTIS
Омниканальная модель в ритейле: решения и кейсы
Омниканальная модель в ритейле: решения и кейсыОмниканальная модель в ритейле: решения и кейсы
Омниканальная модель в ритейле: решения и кейсы
CUSTIS
Три истории микросервисов, или MSA для Enterprise
Три истории микросервисов, или MSA для EnterpriseТри истории микросервисов, или MSA для Enterprise
Три истории микросервисов, или MSA для Enterprise
CUSTIS
Долгоживущие ИТ в динамичном ритейле
Долгоживущие ИТ в динамичном ритейлеДолгоживущие ИТ в динамичном ритейле
Долгоживущие ИТ в динамичном ритейле
CUSTIS
Будущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациямБудущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациям
CUSTIS
Диаграммы учета как средство для наглядного и целостного отображения правил у...
Диаграммы учета как средство для наглядного и целостного отображения правил у...Диаграммы учета как средство для наглядного и целостного отображения правил у...
Диаграммы учета как средство для наглядного и целостного отображения правил у...
CUSTIS
Сотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практикиСотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практики
CUSTIS
Опыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банкеОпыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банке
CUSTIS
Золотая лихорадка MSA: почему нам не подошли микросервисы?
Золотая лихорадка MSA: почему нам не подошли микросервисы?Золотая лихорадка MSA: почему нам не подошли микросервисы?
Золотая лихорадка MSA: почему нам не подошли микросервисы?
CUSTIS
Барьеры микросервисной архитектуры
Барьеры микросервисной архитектурыБарьеры микросервисной архитектуры
Барьеры микросервисной архитектуры
CUSTIS
Три истории микросервисов
Три истории микросервисовТри истории микросервисов
Три истории микросервисов
CUSTIS
От монолитных моделей предметной области — к модульным
От монолитных моделей предметной области — к модульнымОт монолитных моделей предметной области — к модульным
От монолитных моделей предметной области — к модульным
CUSTIS
Проблемы управления правами доступа к информационным системам крупной торгово...
Проблемы управления правами доступа к информационным системам крупной торгово...Проблемы управления правами доступа к информационным системам крупной торгово...
Проблемы управления правами доступа к информационным системам крупной торгово...
CUSTIS
Будущее omni-channel маркетинга: инструменты, кейсы и цифры
Будущее omni-channel маркетинга: инструменты, кейсы и цифрыБудущее omni-channel маркетинга: инструменты, кейсы и цифры
Будущее omni-channel маркетинга: инструменты, кейсы и цифры
CUSTIS
Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектах
CUSTIS
State of the .Net Performance
State of the .Net PerformanceState of the .Net Performance
State of the .Net Performance
CUSTIS
Опыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыОпыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектуры
CUSTIS
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватает
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватаетГибридный подход к управлению правами доступа: когда стандартного IDM не хватает
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватает
CUSTIS
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
CUSTIS
Process и Case Management в информационной системе: от автоматизации As Is к ...
Process и Case Management в информационной системе: от автоматизации As Is к ...Process и Case Management в информационной системе: от автоматизации As Is к ...
Process и Case Management в информационной системе: от автоматизации As Is к ...
CUSTIS
RBAC & ABAC: гибридное решение для управления правами доступа
RBAC & ABAC: гибридное решение для управления правами доступаRBAC & ABAC: гибридное решение для управления правами доступа
RBAC & ABAC: гибридное решение для управления правами доступа
CUSTIS
Омниканальная модель в ритейле: решения и кейсы
Омниканальная модель в ритейле: решения и кейсыОмниканальная модель в ритейле: решения и кейсы
Омниканальная модель в ритейле: решения и кейсы
CUSTIS

Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Days-2011)

  • 1. Software Quality Assurance Days 10-я Международная конференция 2-3 декабря 2011, Москва Аналитик и Тестировщик в одном лице – путь к качеству Докладчик: Максим Цепков (M.Tsepkov@custis.ru) www.custis.ru
  • 2. О чем этот доклад?  Процесс разработки и разделение ролей: • Классика – водопад, разделение ролей – оттуда. • IT-отрасль меняется, меняются и модели.  Есть альтернатива – модель аналитика-заказчика: • В команде – аналитики-тестировщики и разработчики. • Делимся опытом успешного использования. Смотрим на опыт других и вырабатываем свой подход. 2/21
  • 3. Визуальное представление ролей  Для эффективного обсуждения Диаграммы – фишка нужно графическое представление.  Это оказалось удобно делать на схеме V-модели. http://en.wikipedia.org/wiki/V-Model_(software_development) 3/21
  • 5. Agile – мировой тренд Это просто факт  Наблюдаемые признаки: • Признание и использование Agile в ведущих IT-компаниях и в inhouse-разработке. • Явное упоминание Agile в базовых документах (SWEBOK, PMBOK). • Россия – в русле мирового развития.  Мечта о едином, эталонном процессе похоронена. • Даже в варианте «возьмите только нужное» (PMBOK).  Делаем процесс, адекватный проекту и компании! • SCRUM/Canban/XP – лишь распространенные комбинации. • Комбинируем известные успешные практики, придумываем свои. • Фокус на эффективные коммуникации и автономность команды. 5/21
  • 6. Водопад ушел – роли остались Бизнес-аналитик  Каждой стадии – своя роль. Requirements  Роли выполняются Системный аналитик разными людьми или командами. Design  Передача работы – через артефакты Implementation на отдельных языках. Разработчик Verification А где заказчик? Тестировщик Maintenance Модель водопада – Внедренец http://en.wikipedia.org/wiki/ Waterfall_model 6/21
  • 7. Роли водопада на V-модели  Коммуникации – лишь с соседями.  Длинный цикл общения ведет к потере информации. Заказчик Concept Maintenance Бизнес- Requirements System Внедренцы аналитики and Verification Architecture Системные Detailed Integration Design and Test Тестировщики аналитики Implementation Разработчики 7/21
  • 8. Изменение видения проекта… Что хотели Старый известный образ... 5 Заказчик Concept Maintenance 1 Бизнес- Requirements Внедренцы System аналитики and Verification Architecture Системные Detailed Integration Тестировщики аналитики Design and Test 2 Implementation 4 Разработчики 3 8/21
  • 9. Что предлагает Agile?  Кросс-функциональная команда разработчиков.  Взаимодействие с заказчиком через Product Owner’а. Заказчик Concept Maintenance Конструкция SCRUM, Product в других методах – Owner Requirements System аналогично and Verification Architecture Detailed Integration Design and Test Implementation Команда Разработчики 9/21
  • 10. Плюсы и минусы  Эффективные коммуникации.  Возможность быстрой обратной связи.  Большая нагрузка на Product Owner’а.  Расширение зоны ответственности Заказчика.  Слишком разнообразная работа членов команды. Заказчик Concept Maintenance Product Owner Requirements System Подходит далеко and Architecture Verification не для всех проектов. Detailed Integration Design and Test Implementation Команда 10/21 Разработчики
  • 11. Ищем хорошие варианты В духе Agile 11/21
  • 12. Специализация внутри команды  Кросс-функциональная команда не означает полной взаимозаменяемости, возможна специализация.  Снижается нагрузка на Product Owner’а.  Большое число ролей затрудняет коммуникации.  Неравномерная нагрузка на роли в ходе проекта. Заказчик Concept Maintenance Product Requirements Owner System Аналитики and Verification Тестировщики Architecture Detailed Integration Design and Test Implementation Разработчики 12/21
  • 13. Есть проекты, где аналитики мало  Команда разработчиков и тестировщиков – распространенный вариант.  Две роли – не много, но достаточно.  Не подходит, когда аналитической работы много. Заказчик Concept Maintenance Product Requirements System Owner and Verification Тестировщики Architecture Detailed Integration Design and Test Implementation Разработчики 13/21
  • 14. Модель внутреннего заказчика  Аналитики получают требования заказчика и формулируют задачу разработчикам.  Они же принимают результат разработки и передают его заказчику. Новое – хорошо Заказчик забытое старое. Concept Maintenance Product Requirements Owner and System Аналитики- Verification Architecture тестировщики Detailed Integration Design and Test Implementation Разработчики 14/21
  • 15. Область применения модели  Для проектов с полным набором активностей.  CUSTIS – заказная разработка: обследование, постановка, разработка, внедрение, развитие.  Для продуктовой разработки тоже применима.  Модель распространена в мире Пауль Тернер на Req-Labs. 15/21
  • 16. Преимущества модели  Автономность команды разработки.  Эффективные коммуникации внутри и с заказчиком.  Быстрая реакция на требования заказчика (скорость поставки часто важнее качества продукта).  Прием результата разработки аналитиком повышает соответствие системы ожиданиям заказчика.  Две роли в команде – возможность дублирования.  Равномерная нагрузка на роли в ходе проекта. Все вместе дает высокое качество услуги для заказчика. 16/21
  • 17. Почему аналитика, тестирование, внедрение – схожая активность?  Представить работу пользователя с системой: • Бизнес-сценарии – основа требований и тестов. Это все – общие • Основные активности пользователей, эргономика. активности. • Сложные случаи – для проектирования и проверки.  Общение с Заказчиками и Пользователями: • Выяснение их работы и ее особенностей. • Уточнение при альтернативных В аналитике и спорных моментах. и тестировании • Объяснение работы системы. есть место • Консультации по сложным случаям. и сенсорикам, и интуитам.  Взаимодействие с разработчиками. 17/21
  • 18. Опыт CUSTIS – типовая команда*  Соотношение разработчиков и аналитиков – 2:1.  6–7 (4–11) человек: 4 разработчика, 2 аналитика и руководитель проекта (Product Owner).  Члены команды могут заменять друг друга с учетом специализации. У руководителя тоже есть зам.  Применение DDD дает единый язык общения.  Часть разработчиков и аналитиков – начинающие, они растут и набирают опыт.  По мере роста опытные сотрудники уходят в новые проекты, а новички – приходят. * Для сложных проектов, развивающихся 3–10 лет после внедрения. 18/21
  • 19. Рост новичков в команде  Активность аналитика начинается с тестирования: освоение системы и бизнес-области.  Активность разработчика начинается с реализации по проработанным постановкам.  Постепенно области расширяются… Заказчик Concept Maintenance Requirements Аналитики- and System Verification Начинающий тестировщики Architecture аналитик- Detailed Integration тестировщик Design and Test Начинающий Implementation разработчик Разработчики 19/21
  • 20. Подводя итоги Общее:  Создавайте разделение ролей исходя из проекта.  Для визуализации хорошо использовать V-модель.  Эффективные коммуникации – необходимы. Частное:  Аналитик, тестировщик и специалист по внедрению и сопровождению в одном лице – эффективно.  Скорость поставки доработки часто важнее, чем ее качество. 20/21