SlideShare une entreprise Scribd logo
1  sur  82
Télécharger pour lire hors ligne
Проектирование
     больших
информационных систем
       в Agile

      Бибичев Андрей
      2009 год, октябрь

                          team.custis.ru

Большой водопад
Восприятие инкрементального дизайна
Разрыв шаблона

ВВЕДЕНИЕ


                 «Проектирование больших ИС в Agile»   2 из 82
Разработка

    больших систем

стойко ассоциируется с

водопадным процессом:

      «Проектирование больших ИС в Agile»   3 из 82
«Проектирование больших ИС в Agile»   4 из 82
Но Agile-агитаторы

 приводят статистику

по успешности окончания

 водопадных проектов:

       «Проектирование больших ИС в Agile»   5 из 82
«Проектирование больших ИС в Agile»   6 из 82
И взамен предлагают

 инкрементальный

        дизайн:


     «Проектирование больших ИС в Agile»   7 из 82
«Проектирование больших ИС в Agile»   8 из 82
Однако,

     не говорят

   как при этом

избежать вот такого:

     «Проектирование больших ИС в Agile»   9 из 82
«Проектирование больших ИС в Agile»   10 из 82
В народном творчестве

    это находит

  свое отражение:


      «Проектирование больших ИС в Agile»   11 из 82
http://thekonst.net/ru/propaganda/291




          «Проектирование больших ИС в Agile»   12 из 82
Попробуем разорвать

   этот шаблон!




     «Проектирование больших ИС в Agile»   13 из 82
«Проектирование больших ИС в Agile»   14 из 82

Проектирование
Больших
Информационных систем
Agile

ТЕРМИНОЛОГИЯ


                «Проектирование больших ИС в Agile»   15 из 82
Проектирование
                                     
                          Design(ing)
Здесь не об этом
                                    
                          Дизайн                     




                     «Проектирование больших ИС в Agile»   16 из 82
Больших
                                                    = от 10 – 15 чел. лет
                                                                                t
0            4 мес.                                  1 год
    Маленькие                     Средние                       Наш размерчик!



                    PO


                                                                  SM


 Типичная Agile-
команда (5-7 чел)


                         «Проектирование больших ИС в Agile»         17 из 82
Больших
      Много людей                                           Долго
(например, 30 человек 1 год)                (например, 7 человек 4 года)




      1     2     3          4          5         6         7   8   9

                      «Проектирование больших ИС в Agile»               18 из 82
Успешные и

 востребованные проекты

после фазы внедрения вовсе

   не заканчивают свою

          «жизнь»:

        «Проектирование больших ИС в Agile»   19 из 82
30000

                    25000
Кол-во метаданных




                    20000

                    15000

                    10000

                    5000
                                            Начало работы АБС
                       0
                            0       10      20            30            40        50    60              70
                                                                                       Время (мес.)
                                Изменение   Создание




                                            «Проектирование больших ИС в Agile»              20 из 82
Сильные
                            Внедрение,                                                     изменения
                                                 Развитие, сопровождение
                             адаптация                                                 в законодательстве
                    30000

                    25000
Кол-во метаданных




                    20000

                    15000

                    10000

                    5000

                       0
                            0       10      20            30            40        50            60              70
                                                                                              Время (мес.)
                                Изменение   Создание




                                            «Проектирование больших ИС в Agile»                      21 из 82
Информационных систем
          U
 Здесь об Enterprise
  (корпоративных ИС)


         ERP / CRM / биллинги /
банковские / торговые / складские системы
                    …




          «Проектирование больших ИС в Agile»   22 из 82
Agile




http://agilemanifesto.org/principles.html

    «Проектирование больших ИС в Agile»     23 из 82
Agile
       Нам важно в данном контексте:

            Невысокая цена поздних внесений
           изменений в начальные требования

Максимальная вовлеченность самих разработчиков в процесс
          проектирования и дизайна системы

            Минималистичная документация
              (Agile-спецификации и т.п.)

   Программный код, из которого легко понять основные
                 проектные решения


               «Проектирование больших ИС в Agile»      24 из 82

TDD/FDD/DDD/MDD/AsDD
Проектирование в Scrum / XP / FDD / OpenUP
DDD

*DD-ЗООПАРК


                  «Проектирование больших ИС в Agile»   25 из 82
Итак, нужно обуздать

 экспоненциальный рост

      сложности при

росте объема функционала:

        «Проектирование больших ИС в Agile»   26 из 82
«Проектирование больших ИС в Agile»   27 из 82
Что в мире Agile

 есть на тему

проектирования,

т.е. Design-а:

   «Проектирование больших ИС в Agile»   28 из 82
TDD
Test-Driven Development




      «Проектирование больших ИС в Agile»   29 из 82
FDD
Feature-Driven Development




        «Проектирование больших ИС в Agile»   30 из 82
DDD
Domain-Driven Design

                                                   Eric Evans




http://www.infoq.com/minibooks/domain-driven-design-quickly

             «Проектирование больших ИС в Agile»              31 из 82
MDD
[Agile] Model-Driven
 Development/Design




     «Проектирование больших ИС в Agile»   32 из 82
AsDD
Agile-specification-Driven
        Development




  http://www.cse.yorku.ca/~jonathan/publications/2004/xp2004.pdf

                 «Проектирование больших ИС в Agile»           33 из 82
Запутались?


            

 «Проектирование больших ИС в Agile»   34 из 82
И не только вы…

Давайте зайдем с другой
       стороны:



       «Проектирование больших ИС в Agile»   35 из 82
От популярных
              Agile-методологий
 Здесь по своему
вкусу рассмотрим
  FDD и OpenUP            Other
                          21%


                   XP                             Scrum
                   8%                              49%
                        Scrum
                         & XP
                         22%


                                               Источник:
                                               3rd Annual ”State of Agile Development” Survey June-July 2008
                                               •    3061 respondents
                                               •    80 countries

                   «Проектирование больших ИС в Agile»                                   36 из 82
Scrum:
                                      Про технические вопросы
                                              молчит…




«Проектирование больших ИС в Agile»                   37 из 82
XP:
Помогает создавать удобное и                                Способствует поддержанию
   минималистичное API                                        чистоты и ясности кода




              TDD + Refactoring

           Сильно помогает с микро-дизайном
              (отдельные классы, методы),
            но как быть с картиной в целом?


                           «Проектирование больших ИС в Agile»                 38 из 82
Про микро-

 и макро-

 дизайны:


«Проектирование больших ИС в Agile»   39 из 82
«Проектирование больших ИС в Agile»   40 из 82
Явно не хватает общего
           наброска:
?   ?   ?   ?   ?        ?         ? ? ?              ?   ?          ?
?   ?   ?   ?   ?        ?         ? ? ?              ?   ?          ?
?   ?   ?   ?   ?        ?           ? ?              ?   ?          ?
?   ?   ?   ?   ?        ?         ? ? ?              ?   ?          ?
?   ?   ?   ?   ?        ?         ? ? ?              ?   ?          ?
?   ?   ?   ?   ?        ?         ? ? ?              ?   ?          ?
                «Проектирование больших ИС в Agile»       41 из 82
Что-то вроде:




                                 С определенного уровня
                              проработки можно переходить
                                к микро-дизайну, т.е. TDD
  «Проектирование больших ИС в Agile»                42 из 82
FDD:
Уровень процессов

Управление
проектами        SCRUM              Индикация
                                    прогресса

Управление
проектом       Самоорг. команда,    Перечень
               Daily Meetings       требований,
                                    Итерации
                                    Unit-тесты,           FDD
                                    Стандарт
                                    кодирования,
Кодирование       XP                Code review
                                                                   Жесткость
                                                                   процессов
     Анархия                                                    Водопад




                    «Проектирование больших ИС в Agile»                   43 из 82
FDD:
 Разработка            Составление                       Планирование
 общей модели          списка функций



                       Список функций                   План разработки
                       (Feature list)                   (A development plan)




                                                       1 – 3 недели
                                     Design by                    Build by feature
Диаграмма сущностей                  feature
(An object model)



                                                       Отгрузка!


                       «Проектирование больших ИС в Agile»                     44 из 82
AgileUP и OpenUP:
 И то, и другое – вариации на тему
Unified Process (UP) в дань Agile-моде
 Соответственно, наследуют такие
          завоевания UP как:
   Model-Driven Design/Development
    (разработка на основе модели);
        Model-Driven Architecture
   (архитектура на основе модели)
            «Проектирование больших ИС в Agile»   45 из 82
«Проектирование больших ИС в Agile»   46 из 82
The last,

but not the least:




    «Проектирование больших ИС в Agile»   47 из 82
DDD:
         Не процесс – подход

Напрямую не связан ни с одним процессом,
 но зародился именно в Agile-сообществе

              Грубо говоря,
    это Agile-наследник MDD и MDA

             «Проектирование больших ИС в Agile»   48 из 82

ООП
UML
Пример
Словарь терминов

МОДЕЛЬ ПРЕДМЕТНОЙ ОБЛАСТИ
(DOMAIN MODEL)

                   «Проектирование больших ИС в Agile»   49 из 82
Итак,

центральный элемент

при проектировании –

 Модель предметной
      области
                                           aka Domain Model

     «Проектирование больших ИС в Agile»             50 из 82
«Проектирование больших ИС в Agile»   51 из 82
Модель –
       это упрощенное




                                                  Простота != Примитивная
  приближение реальности.

    Максимально простое,
  при условии достаточной
близости к действительности.

         «Проектирование больших ИС в Agile»   52 из 82
В разных условиях
     адекватными могут
         оказаться
       принципиально
       разные модели
(для одной и той же области):

         «Проектирование больших ИС в Agile»   53 из 82
Свет:
корпускулярно-волновой
        дуализм




      «Проектирование больших ИС в Agile»   54 из 82
Ведет себя как волна:
    поляризация,
    дифракция, …




     «Проектирование больших ИС в Agile»   55 из 82
Но вот в фотоэффекте
 – как поток частиц




     «Проектирование больших ИС в Agile»   56 из 82
В физике в качестве
  формализма для
моделей используют
 мат.аппарат, а в
 программировании
уже лет 20 -                                ООП:
      «Проектирование больших ИС в Agile»      57 из 82
Гради Буч




«Проектирование больших ИС в Agile»               58 из 82
А в качестве
 граф. нотации –

             UML
в режиме эскизного
 проектирования:
     «Проектирование больших ИС в Agile»   59 из 82
FDD, DDD,




                                                       Графическая
     Фаулер




                                                         нотация
                               ЭСКИЗИРОВАНИЕ
                             (набросок от руки)



   Способы                     Проектирование
использования                       (чертеж)
     UML




                                                            Метамодель
                             Программирование
                        (граф.представление кода)


                    Executable UML, MDA, PIM



                «Проектирование больших ИС в Agile»   60 из 82
Модель предметной области;                                     Модель программы;
    Словарь терминов                                          Понимание чужого кода




                                                       Системная
            Бизнес-анализ                             архитектура
        (анализ требований)                       (проектирование)

                             Документирование


       Понятия из                        Представление конструкций языка.
   предметной области                 Ограничения по приемам проектирования



 Движение слева направо по мере уточнения, детализации и реализации


                        «Проектирование больших ИС в Agile»                    61 из 82
Наиболее востребованные виды
          диаграмм




         «Проектирование больших ИС в Agile»   62 из 82
Нюансы терминологии:
 Класс                                  Сущность
  (class)                                 (entity)
 Наследование                           Обобщение
  (inheritance)                           (generalization)




                                                               Функциональность
 Свойство                               Атрибут




                                                                   (feature)
  (property)                              (attribute)
 Метод                                  Операция
  (method)                                (operation)
 Ссылка, связь                          Ассоциация
  (reference, link)                       (association)


            ПО                         Предметная
                                         область


                      «Проектирование больших ИС в Agile»    63 из 82
Пример:
 система продажи
билетов на самолет

     «Проектирование больших ИС в Agile»   64 из 82
• Эксперт: Есть аэропорты. Для каждого известны:
           название на местом языке,
           уникальный латинский код
           и GPS-координаты.
• Мы:




                 «Проектирование больших ИС в Agile»   65 из 82
• Эксперт: Аэропорты расположены в городах.
           Для каждого города известно его
           название (на местном и англ. языках).
           Причем известно расстояние от аэропорта
           до центра города, к которому он «приписан».
• Мы:




                  «Проектирование больших ИС в Agile»   66 из 82
• Эксперт: Для каждого города есть информация
           о стране, в которой он находится.

• Мы:




                 «Проектирование больших ИС в Agile»   67 из 82
… (продолжение придумайте сами)




         «Проектирование больших ИС в Agile»   68 из 82
Бонус:
между делом получили
       готовый
  словарь терминов

      «Проектирование больших ИС в Agile»   69 из 82

Ключевой момент
Соответствие концепций
Ментальная модель

РЕАЛИЗАЦИЯ МОДЕЛИ


                 «Проектирование больших ИС в Agile»   70 из 82
«Проектирование больших ИС в Agile»   71 из 82
Бизнес-логика:




   «Проектирование больших ИС в Agile»   72 из 82
[Реляционное] хранение:
   СУБД        Модель                            ОО-язык
  таблица            сущность                       класс
   поле                атрибут                     свойство
    FK                    cвязь                    ссылка
  хранимая
                     действие                       метод
 процедура
             «Проектирование больших ИС в Agile»       73 из 82
GUI:
  Словарь терминов
и ментальная модель




     «Проектирование больших ИС в Agile»   74 из 82

Must Read
Притча

ЗАКЛЮЧЕНИЕ


            «Проектирование больших ИС в Agile»   75 из 82
Must Read:




«Проектирование больших ИС в Agile»   76 из 82
Анекдот-притча:




    «Проектирование больших ИС в Agile»   77 из 82
- Подайте мне то!
 - Подайте мне сѐ!
  - То у вас не так!
- И сѐ у вас не эдак!




       «Проектирование больших ИС в Agile»   78 из 82
- Значит черным всѐ можно…
            - А рыжим значит нет?!
        - А ну-ка, и мне подайте то!
          - И сѐ тоже! И побыстрее!
         - А то ишь, какие капуши!..




«Проектирование больших ИС в Agile»    79 из 82
Экипаж не выдержал
         и выкинул нахалок
            из самолета

                     - Ты летать-то
                      хоть умеешь?




                             - Не-е-е-ет!


                   - Что же ты,
                   кума, тогда
                 выделывалась?!


«Проектирование больших ИС в Agile»         80 из 82
Мораль
   Если не умеете летать, т.е. не
     владеете такими важными
практиками как ОО-моделирование,
  DDD и элементы UP, то и нечего
  «выделываться», т.е. пытаться
   применить Agile в проектах по
созданию больших информационных
систем (разобьетесь, да и только).
          «Проектирование больших ИС в Agile»   81 из 82

andrew@custis.ru
http://team.custis.ru

СПАСИБО ЗА ВНИМАНИЕ!
ВОПРОСЫ?

                    «Проектирование больших ИС в Agile»   82 из 82

Contenu connexe

Tendances

Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахCUSTIS
 
Agile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииAgile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииCUSTIS
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьCUSTIS
 
Как понять, подходит ли Agile вашей компании
Как понять, подходит ли Agile вашей компанииКак понять, подходит ли Agile вашей компании
Как понять, подходит ли Agile вашей компанииMaxim Tsepkov
 
SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проекта
SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проектаSECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проекта
SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проектаSECON
 
Собираем кубик Рубика
Собираем кубик РубикаСобираем кубик Рубика
Собираем кубик РубикаCEE-SEC(R)
 
Максим Цепков. Agile — ответ на вызовы третьей промышленной революции.
Максим Цепков. Agile — ответ на вызовы третьей промышленной революции.Максим Цепков. Agile — ответ на вызовы третьей промышленной революции.
Максим Цепков. Agile — ответ на вызовы третьей промышленной революции.ScrumTrek
 
Agile в контексте большого менеджмента – тренды развития
Agile в контексте большого менеджмента – тренды развитияAgile в контексте большого менеджмента – тренды развития
Agile в контексте большого менеджмента – тренды развитияSQALab
 
Опыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыОпыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыCUSTIS
 
Будущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациямБудущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациямCUSTIS
 
Олег Афанасьев. Мастер-класс "Agile менеджмент: что это такое?". Астана. 11.0...
Олег Афанасьев. Мастер-класс "Agile менеджмент: что это такое?". Астана. 11.0...Олег Афанасьев. Мастер-класс "Agile менеджмент: что это такое?". Астана. 11.0...
Олег Афанасьев. Мастер-класс "Agile менеджмент: что это такое?". Астана. 11.0...Oleg Afanasyev
 
Опыт госпроектов и взаимодействия с корпоративными структурами
Опыт госпроектов и взаимодействия с корпоративными структурамиОпыт госпроектов и взаимодействия с корпоративными структурами
Опыт госпроектов и взаимодействия с корпоративными структурамиПрофсоUX
 
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...Nikita Filippov
 
Управление разработкой продукта
Управление разработкой продуктаУправление разработкой продукта
Управление разработкой продуктаAlexey Filimonov
 
Способы создания качественного программного продукта
Способы создания качественного программного продуктаСпособы создания качественного программного продукта
Способы создания качественного программного продуктаIngria. Technopark St. Petersburg
 
Управление разработкой продукта
Управление разработкой продуктаУправление разработкой продукта
Управление разработкой продуктаAlexey Filimonov
 
Жизненный цикл заказного ПО
Жизненный цикл заказного ПОЖизненный цикл заказного ПО
Жизненный цикл заказного ПОCUSTIS
 
разработка и коммерциализация тиражных решений 1
разработка и коммерциализация тиражных решений 1разработка и коммерциализация тиражных решений 1
разработка и коммерциализация тиражных решений 1Дмитрий Кулешов
 
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...Andrew Shapiro
 
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?SQALab
 

Tendances (20)

Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектах
 
Agile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииAgile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революции
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
 
Как понять, подходит ли Agile вашей компании
Как понять, подходит ли Agile вашей компанииКак понять, подходит ли Agile вашей компании
Как понять, подходит ли Agile вашей компании
 
SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проекта
SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проектаSECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проекта
SECON'2017, Мелехова Анна, Архитектура как стихия. Обуздываем энтропию проекта
 
Собираем кубик Рубика
Собираем кубик РубикаСобираем кубик Рубика
Собираем кубик Рубика
 
Максим Цепков. Agile — ответ на вызовы третьей промышленной революции.
Максим Цепков. Agile — ответ на вызовы третьей промышленной революции.Максим Цепков. Agile — ответ на вызовы третьей промышленной революции.
Максим Цепков. Agile — ответ на вызовы третьей промышленной революции.
 
Agile в контексте большого менеджмента – тренды развития
Agile в контексте большого менеджмента – тренды развитияAgile в контексте большого менеджмента – тренды развития
Agile в контексте большого менеджмента – тренды развития
 
Опыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыОпыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектуры
 
Будущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациямБудущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациям
 
Олег Афанасьев. Мастер-класс "Agile менеджмент: что это такое?". Астана. 11.0...
Олег Афанасьев. Мастер-класс "Agile менеджмент: что это такое?". Астана. 11.0...Олег Афанасьев. Мастер-класс "Agile менеджмент: что это такое?". Астана. 11.0...
Олег Афанасьев. Мастер-класс "Agile менеджмент: что это такое?". Астана. 11.0...
 
Опыт госпроектов и взаимодействия с корпоративными структурами
Опыт госпроектов и взаимодействия с корпоративными структурамиОпыт госпроектов и взаимодействия с корпоративными структурами
Опыт госпроектов и взаимодействия с корпоративными структурами
 
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
 
Управление разработкой продукта
Управление разработкой продуктаУправление разработкой продукта
Управление разработкой продукта
 
Способы создания качественного программного продукта
Способы создания качественного программного продуктаСпособы создания качественного программного продукта
Способы создания качественного программного продукта
 
Управление разработкой продукта
Управление разработкой продуктаУправление разработкой продукта
Управление разработкой продукта
 
Жизненный цикл заказного ПО
Жизненный цикл заказного ПОЖизненный цикл заказного ПО
Жизненный цикл заказного ПО
 
разработка и коммерциализация тиражных решений 1
разработка и коммерциализация тиражных решений 1разработка и коммерциализация тиражных решений 1
разработка и коммерциализация тиражных решений 1
 
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
 
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
 

En vedette

Building An Effective Business Continuity Management System
Building An Effective Business Continuity Management SystemBuilding An Effective Business Continuity Management System
Building An Effective Business Continuity Management SystemAlexey Chekanov
 
планировка территории и нормативы градостроительного проектирования
планировка территории и нормативы градостроительного проектированияпланировка территории и нормативы градостроительного проектирования
планировка территории и нормативы градостроительного проектированияAlexander Karpov
 
Стратегический план развития г.Воронежа
Стратегический план развития г.ВоронежаСтратегический план развития г.Воронежа
Стратегический план развития г.ВоронежаСообщество RegionBrand
 
Елена Короткова "Нормативы и/или градостроительное проектирование"
Елена Короткова "Нормативы и/или градостроительное проектирование"Елена Короткова "Нормативы и/или градостроительное проектирование"
Елена Короткова "Нормативы и/или градостроительное проектирование"mosurban
 
Рабочие материалы для обоснования плотности УДС в РНГП СПб
Рабочие материалы для обоснования плотности УДС в РНГП СПбРабочие материалы для обоснования плотности УДС в РНГП СПб
Рабочие материалы для обоснования плотности УДС в РНГП СПбAlexander Karpov
 
Нормативы градпроектирования – распределение дефицита или производство комфорта?
Нормативы градпроектирования – распределение дефицита или производство комфорта?Нормативы градпроектирования – распределение дефицита или производство комфорта?
Нормативы градпроектирования – распределение дефицита или производство комфорта?Alexander Karpov
 
Изготовление поправок в генплан: краткое руководство
 Изготовление поправок в генплан: краткое руководство  Изготовление поправок в генплан: краткое руководство
Изготовление поправок в генплан: краткое руководство Alexander Karpov
 
Обзор Agile - эволюция процессов
Обзор Agile - эволюция процессовОбзор Agile - эволюция процессов
Обзор Agile - эволюция процессовNikita Filippov
 
А какой у вас Agile: свежевыжатый или порошковый?
А какой у вас Agile: свежевыжатый или порошковый?А какой у вас Agile: свежевыжатый или порошковый?
А какой у вас Agile: свежевыжатый или порошковый?Andrey Bibichev
 
непрерывность банковского бизнеса и повышение лояльности клиентов с помощью N...
непрерывность банковского бизнеса и повышение лояльности клиентов с помощью N...непрерывность банковского бизнеса и повышение лояльности клиентов с помощью N...
непрерывность банковского бизнеса и повышение лояльности клиентов с помощью N...Expolink
 
It-tuning itsm_business_continuity
It-tuning itsm_business_continuityIt-tuning itsm_business_continuity
It-tuning itsm_business_continuitySergey Polazhenko
 
Business Continuity Management Strategy - How to Build an Effective Foundatio...
Business Continuity Management Strategy - How to Build an Effective Foundatio...Business Continuity Management Strategy - How to Build an Effective Foundatio...
Business Continuity Management Strategy - How to Build an Effective Foundatio...Alexey Chekanov
 
Автоматизация выполнения задач в проектах Business Continuity Management (BCM...
Автоматизация выполнения задач в проектах Business Continuity Management (BCM...Автоматизация выполнения задач в проектах Business Continuity Management (BCM...
Автоматизация выполнения задач в проектах Business Continuity Management (BCM...КРОК
 
Spiral Dynamics and Agile Software Development
Spiral Dynamics and Agile Software DevelopmentSpiral Dynamics and Agile Software Development
Spiral Dynamics and Agile Software DevelopmentArtem Serdyuk
 
Масштабирование Agile в Единой фронтальной системе Сбербанка
Масштабирование Agile в Единой фронтальной системе СбербанкаМасштабирование Agile в Единой фронтальной системе Сбербанка
Масштабирование Agile в Единой фронтальной системе СбербанкаSergey Rogachev
 
Agile, SCRUM, Планирование – что в этом для программистов?
Agile, SCRUM, Планирование – что в этом для программистов?Agile, SCRUM, Планирование – что в этом для программистов?
Agile, SCRUM, Планирование – что в этом для программистов?Fedor Malyshkin
 
сервисы создания и хранения презентаций
сервисы создания и хранения презентацийсервисы создания и хранения презентаций
сервисы создания и хранения презентацийmagabova
 
Agile/Scrum методологии разработки программного обеспечения
Agile/Scrum методологии разработки программного обеспеченияAgile/Scrum методологии разработки программного обеспечения
Agile/Scrum методологии разработки программного обеспеченияjazzteam
 
Agile: Что это такое и какая от него польза
Agile: Что это такое и какая от него пользаAgile: Что это такое и какая от него польза
Agile: Что это такое и какая от него пользаIvano Digital
 

En vedette (20)

Building An Effective Business Continuity Management System
Building An Effective Business Continuity Management SystemBuilding An Effective Business Continuity Management System
Building An Effective Business Continuity Management System
 
планировка территории и нормативы градостроительного проектирования
планировка территории и нормативы градостроительного проектированияпланировка территории и нормативы градостроительного проектирования
планировка территории и нормативы градостроительного проектирования
 
Стратегический план развития г.Воронежа
Стратегический план развития г.ВоронежаСтратегический план развития г.Воронежа
Стратегический план развития г.Воронежа
 
Елена Короткова "Нормативы и/или градостроительное проектирование"
Елена Короткова "Нормативы и/или градостроительное проектирование"Елена Короткова "Нормативы и/или градостроительное проектирование"
Елена Короткова "Нормативы и/или градостроительное проектирование"
 
Рабочие материалы для обоснования плотности УДС в РНГП СПб
Рабочие материалы для обоснования плотности УДС в РНГП СПбРабочие материалы для обоснования плотности УДС в РНГП СПб
Рабочие материалы для обоснования плотности УДС в РНГП СПб
 
Нормативы градпроектирования – распределение дефицита или производство комфорта?
Нормативы градпроектирования – распределение дефицита или производство комфорта?Нормативы градпроектирования – распределение дефицита или производство комфорта?
Нормативы градпроектирования – распределение дефицита или производство комфорта?
 
Изготовление поправок в генплан: краткое руководство
 Изготовление поправок в генплан: краткое руководство  Изготовление поправок в генплан: краткое руководство
Изготовление поправок в генплан: краткое руководство
 
Обзор Agile - эволюция процессов
Обзор Agile - эволюция процессовОбзор Agile - эволюция процессов
Обзор Agile - эволюция процессов
 
А какой у вас Agile: свежевыжатый или порошковый?
А какой у вас Agile: свежевыжатый или порошковый?А какой у вас Agile: свежевыжатый или порошковый?
А какой у вас Agile: свежевыжатый или порошковый?
 
непрерывность банковского бизнеса и повышение лояльности клиентов с помощью N...
непрерывность банковского бизнеса и повышение лояльности клиентов с помощью N...непрерывность банковского бизнеса и повышение лояльности клиентов с помощью N...
непрерывность банковского бизнеса и повышение лояльности клиентов с помощью N...
 
BCP presentation
BCP presentationBCP presentation
BCP presentation
 
It-tuning itsm_business_continuity
It-tuning itsm_business_continuityIt-tuning itsm_business_continuity
It-tuning itsm_business_continuity
 
Business Continuity Management Strategy - How to Build an Effective Foundatio...
Business Continuity Management Strategy - How to Build an Effective Foundatio...Business Continuity Management Strategy - How to Build an Effective Foundatio...
Business Continuity Management Strategy - How to Build an Effective Foundatio...
 
Автоматизация выполнения задач в проектах Business Continuity Management (BCM...
Автоматизация выполнения задач в проектах Business Continuity Management (BCM...Автоматизация выполнения задач в проектах Business Continuity Management (BCM...
Автоматизация выполнения задач в проектах Business Continuity Management (BCM...
 
Spiral Dynamics and Agile Software Development
Spiral Dynamics and Agile Software DevelopmentSpiral Dynamics and Agile Software Development
Spiral Dynamics and Agile Software Development
 
Масштабирование Agile в Единой фронтальной системе Сбербанка
Масштабирование Agile в Единой фронтальной системе СбербанкаМасштабирование Agile в Единой фронтальной системе Сбербанка
Масштабирование Agile в Единой фронтальной системе Сбербанка
 
Agile, SCRUM, Планирование – что в этом для программистов?
Agile, SCRUM, Планирование – что в этом для программистов?Agile, SCRUM, Планирование – что в этом для программистов?
Agile, SCRUM, Планирование – что в этом для программистов?
 
сервисы создания и хранения презентаций
сервисы создания и хранения презентацийсервисы создания и хранения презентаций
сервисы создания и хранения презентаций
 
Agile/Scrum методологии разработки программного обеспечения
Agile/Scrum методологии разработки программного обеспеченияAgile/Scrum методологии разработки программного обеспечения
Agile/Scrum методологии разработки программного обеспечения
 
Agile: Что это такое и какая от него польза
Agile: Что это такое и какая от него пользаAgile: Что это такое и какая от него польза
Agile: Что это такое и какая от него польза
 

Similaire à Проектирование больших ИС в Agile

Enterprise Architecture - Sergey Orlik (Microsoft Platforma 2011)
Enterprise Architecture - Sergey Orlik (Microsoft Platforma 2011)Enterprise Architecture - Sergey Orlik (Microsoft Platforma 2011)
Enterprise Architecture - Sergey Orlik (Microsoft Platforma 2011)Sergey Orlik
 
Agile в больших и очень больших проектах
Agile в больших и очень больших проектахAgile в больших и очень больших проектах
Agile в больших и очень больших проектахCUSTIS
 
Внедрение гибкой методологии управления проектами в Danske bank
Внедрение гибкой методологии управления проектами в Danske bankВнедрение гибкой методологии управления проектами в Danske bank
Внедрение гибкой методологии управления проектами в Danske bankAlbina Iskhakova
 
Процесс проектирования ИТ-решений
Процесс проектирования ИТ-решенийПроцесс проектирования ИТ-решений
Процесс проектирования ИТ-решенийМаксим Смирнов
 
Клуб Архитекторов 22.04.2010
Клуб Архитекторов 22.04.2010Клуб Архитекторов 22.04.2010
Клуб Архитекторов 22.04.2010Sergey Orlik
 
Алексей Ионов. Agile в масштабе корпорации: как не создать хаос?
Алексей Ионов. Agile в масштабе корпорации: как не создать хаос?Алексей Ионов. Agile в масштабе корпорации: как не создать хаос?
Алексей Ионов. Agile в масштабе корпорации: как не создать хаос?ScrumTrek
 
Развитие управления проектами и критериев качества в ит
Развитие управления проектами и критериев качества в итРазвитие управления проектами и критериев качества в ит
Развитие управления проектами и критериев качества в итMagneta AI
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиSQALab
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиCUSTIS
 
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-2017Maxim Tsepkov
 
Большие данные и бизнес-аналитика: как найти пользу?
Большие данные и бизнес-аналитика: как найти пользу?Большие данные и бизнес-аналитика: как найти пользу?
Большие данные и бизнес-аналитика: как найти пользу?Marina Payvina
 
Анализ и визуализация данных на базе платформы Microsoft bi
Анализ и визуализация данных на базе платформы Microsoft biАнализ и визуализация данных на базе платформы Microsoft bi
Анализ и визуализация данных на базе платформы Microsoft biМаксим Войцеховский
 
Aug 3-2012 - Atlassian - Об Atlassian
Aug 3-2012 - Atlassian - Об AtlassianAug 3-2012 - Atlassian - Об Atlassian
Aug 3-2012 - Atlassian - Об AtlassianTeamlead
 
Atlassian update moscow aug - ru
Atlassian update   moscow aug - ruAtlassian update   moscow aug - ru
Atlassian update moscow aug - ruSherali Karimov
 
Бизнес аналитик - решение проблем и внедрение изменений
Бизнес аналитик - решение проблем и внедрение измененийБизнес аналитик - решение проблем и внедрение изменений
Бизнес аналитик - решение проблем и внедрение измененийSQALab
 
1504 ad- бизнес аналитик - решение проблем и внедрение изменений
1504 ad- бизнес аналитик - решение проблем и внедрение изменений1504 ad- бизнес аналитик - решение проблем и внедрение изменений
1504 ad- бизнес аналитик - решение проблем и внедрение измененийDmitry Bezuglyy
 
Управление ДИТ как бизнесом внутри бизнеса на основе частного облака
Управление ДИТ как бизнесом внутри бизнеса на основе частного облакаУправление ДИТ как бизнесом внутри бизнеса на основе частного облака
Управление ДИТ как бизнесом внутри бизнеса на основе частного облакаMichael Kozloff
 
10 лет развития продукта: чему можно научиться (Сергей Рыжиков)
10 лет развития продукта: чему можно научиться (Сергей Рыжиков)10 лет развития продукта: чему можно научиться (Сергей Рыжиков)
10 лет развития продукта: чему можно научиться (Сергей Рыжиков)Ontico
 

Similaire à Проектирование больших ИС в Agile (20)

Enterprise Architecture - Sergey Orlik (Microsoft Platforma 2011)
Enterprise Architecture - Sergey Orlik (Microsoft Platforma 2011)Enterprise Architecture - Sergey Orlik (Microsoft Platforma 2011)
Enterprise Architecture - Sergey Orlik (Microsoft Platforma 2011)
 
Agile в больших и очень больших проектах
Agile в больших и очень больших проектахAgile в больших и очень больших проектах
Agile в больших и очень больших проектах
 
Внедрение гибкой методологии управления проектами в Danske bank
Внедрение гибкой методологии управления проектами в Danske bankВнедрение гибкой методологии управления проектами в Danske bank
Внедрение гибкой методологии управления проектами в Danske bank
 
Процесс проектирования ИТ-решений
Процесс проектирования ИТ-решенийПроцесс проектирования ИТ-решений
Процесс проектирования ИТ-решений
 
Клуб Архитекторов 22.04.2010
Клуб Архитекторов 22.04.2010Клуб Архитекторов 22.04.2010
Клуб Архитекторов 22.04.2010
 
Алексей Ионов. Agile в масштабе корпорации: как не создать хаос?
Алексей Ионов. Agile в масштабе корпорации: как не создать хаос?Алексей Ионов. Agile в масштабе корпорации: как не создать хаос?
Алексей Ионов. Agile в масштабе корпорации: как не создать хаос?
 
Развитие управления проектами и критериев качества в ит
Развитие управления проектами и критериев качества в итРазвитие управления проектами и критериев качества в ит
Развитие управления проектами и критериев качества в ит
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
 
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
 
Презентация компании БИГ-СПБ и программного продукта ОРГ-Мастер
Презентация компании БИГ-СПБ и программного продукта ОРГ-МастерПрезентация компании БИГ-СПБ и программного продукта ОРГ-Мастер
Презентация компании БИГ-СПБ и программного продукта ОРГ-Мастер
 
Большие данные и бизнес-аналитика: как найти пользу?
Большие данные и бизнес-аналитика: как найти пользу?Большие данные и бизнес-аналитика: как найти пользу?
Большие данные и бизнес-аналитика: как найти пользу?
 
Анализ и визуализация данных на базе платформы Microsoft bi
Анализ и визуализация данных на базе платформы Microsoft biАнализ и визуализация данных на базе платформы Microsoft bi
Анализ и визуализация данных на базе платформы Microsoft bi
 
Aug 3-2012 - Atlassian - Об Atlassian
Aug 3-2012 - Atlassian - Об AtlassianAug 3-2012 - Atlassian - Об Atlassian
Aug 3-2012 - Atlassian - Об Atlassian
 
Atlassian update moscow aug - ru
Atlassian update   moscow aug - ruAtlassian update   moscow aug - ru
Atlassian update moscow aug - ru
 
Бизнес аналитик - решение проблем и внедрение изменений
Бизнес аналитик - решение проблем и внедрение измененийБизнес аналитик - решение проблем и внедрение изменений
Бизнес аналитик - решение проблем и внедрение изменений
 
1504 ad- бизнес аналитик - решение проблем и внедрение изменений
1504 ad- бизнес аналитик - решение проблем и внедрение изменений1504 ad- бизнес аналитик - решение проблем и внедрение изменений
1504 ad- бизнес аналитик - решение проблем и внедрение изменений
 
Управление ДИТ как бизнесом внутри бизнеса на основе частного облака
Управление ДИТ как бизнесом внутри бизнеса на основе частного облакаУправление ДИТ как бизнесом внутри бизнеса на основе частного облака
Управление ДИТ как бизнесом внутри бизнеса на основе частного облака
 
10 лет развития продукта: чему можно научиться (Сергей Рыжиков)
10 лет развития продукта: чему можно научиться (Сергей Рыжиков)10 лет развития продукта: чему можно научиться (Сергей Рыжиков)
10 лет развития продукта: чему можно научиться (Сергей Рыжиков)
 
Архитектура и agile
Архитектура и agileАрхитектура и agile
Архитектура и agile
 

Plus de Andrey Bibichev

О usability водопроводных кранов
О usability водопроводных крановО usability водопроводных кранов
О usability водопроводных крановAndrey Bibichev
 
Geeks vs Managers (part 2)
Geeks vs Managers (part 2)Geeks vs Managers (part 2)
Geeks vs Managers (part 2)Andrey Bibichev
 
Быстрое введение в TDD от А до Я
Быстрое введение в TDD от А до ЯБыстрое введение в TDD от А до Я
Быстрое введение в TDD от А до ЯAndrey Bibichev
 
Фрактальная природа IT-проектов (блиц)
Фрактальная природа IT-проектов (блиц)Фрактальная природа IT-проектов (блиц)
Фрактальная природа IT-проектов (блиц)Andrey Bibichev
 
Usability-for-programmers
Usability-for-programmersUsability-for-programmers
Usability-for-programmersAndrey Bibichev
 
Natural User Interface (WUDRU-2011)
Natural User Interface (WUDRU-2011)Natural User Interface (WUDRU-2011)
Natural User Interface (WUDRU-2011)Andrey Bibichev
 
Архитектура в Agile: слабая связность
Архитектура в Agile: слабая связностьАрхитектура в Agile: слабая связность
Архитектура в Agile: слабая связностьAndrey Bibichev
 
Пользовательский автоматизм
Пользовательский автоматизмПользовательский автоматизм
Пользовательский автоматизмAndrey Bibichev
 
Обзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven DesignОбзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven DesignAndrey Bibichev
 
О текстовом вводе замолвите слово
О текстовом вводе замолвите словоО текстовом вводе замолвите слово
О текстовом вводе замолвите словоAndrey Bibichev
 
Enterprise Level Agile The Art Of Start
Enterprise Level Agile   The Art Of StartEnterprise Level Agile   The Art Of Start
Enterprise Level Agile The Art Of StartAndrey Bibichev
 
Humane Interface (Гуманный интерфейс)
Humane Interface (Гуманный интерфейс)Humane Interface (Гуманный интерфейс)
Humane Interface (Гуманный интерфейс)Andrey Bibichev
 

Plus de Andrey Bibichev (20)

О usability водопроводных кранов
О usability водопроводных крановО usability водопроводных кранов
О usability водопроводных кранов
 
Geeks vs Managers (part 2)
Geeks vs Managers (part 2)Geeks vs Managers (part 2)
Geeks vs Managers (part 2)
 
Быстрое введение в TDD от А до Я
Быстрое введение в TDD от А до ЯБыстрое введение в TDD от А до Я
Быстрое введение в TDD от А до Я
 
Фрактальная природа IT-проектов (блиц)
Фрактальная природа IT-проектов (блиц)Фрактальная природа IT-проектов (блиц)
Фрактальная природа IT-проектов (блиц)
 
Usability-for-programmers
Usability-for-programmersUsability-for-programmers
Usability-for-programmers
 
Geeks vs Managers
Geeks vs ManagersGeeks vs Managers
Geeks vs Managers
 
Tdd and decomposition
Tdd and decompositionTdd and decomposition
Tdd and decomposition
 
Mockist vs Classicist
Mockist vs ClassicistMockist vs Classicist
Mockist vs Classicist
 
Natural User Interface (WUDRU-2011)
Natural User Interface (WUDRU-2011)Natural User Interface (WUDRU-2011)
Natural User Interface (WUDRU-2011)
 
Puasson burning
Puasson burningPuasson burning
Puasson burning
 
Архитектура в Agile: слабая связность
Архитектура в Agile: слабая связностьАрхитектура в Agile: слабая связность
Архитектура в Agile: слабая связность
 
Пользовательский автоматизм
Пользовательский автоматизмПользовательский автоматизм
Пользовательский автоматизм
 
Augmented Reality
Augmented RealityAugmented Reality
Augmented Reality
 
Agile: Think different
Agile: Think differentAgile: Think different
Agile: Think different
 
BDD
BDDBDD
BDD
 
DDD Workshop
DDD WorkshopDDD Workshop
DDD Workshop
 
Обзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven DesignОбзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven Design
 
О текстовом вводе замолвите слово
О текстовом вводе замолвите словоО текстовом вводе замолвите слово
О текстовом вводе замолвите слово
 
Enterprise Level Agile The Art Of Start
Enterprise Level Agile   The Art Of StartEnterprise Level Agile   The Art Of Start
Enterprise Level Agile The Art Of Start
 
Humane Interface (Гуманный интерфейс)
Humane Interface (Гуманный интерфейс)Humane Interface (Гуманный интерфейс)
Humane Interface (Гуманный интерфейс)
 

Проектирование больших ИС в Agile

  • 1. Проектирование больших информационных систем в Agile Бибичев Андрей 2009 год, октябрь team.custis.ru
  • 2.  Большой водопад Восприятие инкрементального дизайна Разрыв шаблона ВВЕДЕНИЕ «Проектирование больших ИС в Agile» 2 из 82
  • 3. Разработка больших систем стойко ассоциируется с водопадным процессом: «Проектирование больших ИС в Agile» 3 из 82
  • 5. Но Agile-агитаторы приводят статистику по успешности окончания водопадных проектов: «Проектирование больших ИС в Agile» 5 из 82
  • 7. И взамен предлагают инкрементальный дизайн: «Проектирование больших ИС в Agile» 7 из 82
  • 9. Однако, не говорят как при этом избежать вот такого: «Проектирование больших ИС в Agile» 9 из 82
  • 11. В народном творчестве это находит свое отражение: «Проектирование больших ИС в Agile» 11 из 82
  • 12. http://thekonst.net/ru/propaganda/291 «Проектирование больших ИС в Agile» 12 из 82
  • 13. Попробуем разорвать этот шаблон! «Проектирование больших ИС в Agile» 13 из 82
  • 16. Проектирование  Design(ing) Здесь не об этом   Дизайн  «Проектирование больших ИС в Agile» 16 из 82
  • 17. Больших = от 10 – 15 чел. лет t 0 4 мес. 1 год Маленькие Средние Наш размерчик! PO SM Типичная Agile- команда (5-7 чел) «Проектирование больших ИС в Agile» 17 из 82
  • 18. Больших Много людей Долго (например, 30 человек 1 год) (например, 7 человек 4 года) 1 2 3 4 5 6 7 8 9 «Проектирование больших ИС в Agile» 18 из 82
  • 19. Успешные и востребованные проекты после фазы внедрения вовсе не заканчивают свою «жизнь»: «Проектирование больших ИС в Agile» 19 из 82
  • 20. 30000 25000 Кол-во метаданных 20000 15000 10000 5000 Начало работы АБС 0 0 10 20 30 40 50 60 70 Время (мес.) Изменение Создание «Проектирование больших ИС в Agile» 20 из 82
  • 21. Сильные Внедрение, изменения Развитие, сопровождение адаптация в законодательстве 30000 25000 Кол-во метаданных 20000 15000 10000 5000 0 0 10 20 30 40 50 60 70 Время (мес.) Изменение Создание «Проектирование больших ИС в Agile» 21 из 82
  • 22. Информационных систем U Здесь об Enterprise (корпоративных ИС) ERP / CRM / биллинги / банковские / торговые / складские системы … «Проектирование больших ИС в Agile» 22 из 82
  • 23. Agile http://agilemanifesto.org/principles.html «Проектирование больших ИС в Agile» 23 из 82
  • 24. Agile Нам важно в данном контексте: Невысокая цена поздних внесений изменений в начальные требования Максимальная вовлеченность самих разработчиков в процесс проектирования и дизайна системы Минималистичная документация (Agile-спецификации и т.п.) Программный код, из которого легко понять основные проектные решения «Проектирование больших ИС в Agile» 24 из 82
  • 25.  TDD/FDD/DDD/MDD/AsDD Проектирование в Scrum / XP / FDD / OpenUP DDD *DD-ЗООПАРК «Проектирование больших ИС в Agile» 25 из 82
  • 26. Итак, нужно обуздать экспоненциальный рост сложности при росте объема функционала: «Проектирование больших ИС в Agile» 26 из 82
  • 28. Что в мире Agile есть на тему проектирования, т.е. Design-а: «Проектирование больших ИС в Agile» 28 из 82
  • 29. TDD Test-Driven Development «Проектирование больших ИС в Agile» 29 из 82
  • 30. FDD Feature-Driven Development «Проектирование больших ИС в Agile» 30 из 82
  • 31. DDD Domain-Driven Design Eric Evans http://www.infoq.com/minibooks/domain-driven-design-quickly «Проектирование больших ИС в Agile» 31 из 82
  • 32. MDD [Agile] Model-Driven Development/Design «Проектирование больших ИС в Agile» 32 из 82
  • 33. AsDD Agile-specification-Driven Development http://www.cse.yorku.ca/~jonathan/publications/2004/xp2004.pdf «Проектирование больших ИС в Agile» 33 из 82
  • 34. Запутались?  «Проектирование больших ИС в Agile» 34 из 82
  • 35. И не только вы… Давайте зайдем с другой стороны: «Проектирование больших ИС в Agile» 35 из 82
  • 36. От популярных Agile-методологий Здесь по своему вкусу рассмотрим FDD и OpenUP Other 21% XP Scrum 8% 49% Scrum & XP 22% Источник: 3rd Annual ”State of Agile Development” Survey June-July 2008 • 3061 respondents • 80 countries «Проектирование больших ИС в Agile» 36 из 82
  • 37. Scrum: Про технические вопросы молчит… «Проектирование больших ИС в Agile» 37 из 82
  • 38. XP: Помогает создавать удобное и Способствует поддержанию минималистичное API чистоты и ясности кода TDD + Refactoring Сильно помогает с микро-дизайном (отдельные классы, методы), но как быть с картиной в целом? «Проектирование больших ИС в Agile» 38 из 82
  • 39. Про микро- и макро- дизайны: «Проектирование больших ИС в Agile» 39 из 82
  • 41. Явно не хватает общего наброска: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? «Проектирование больших ИС в Agile» 41 из 82
  • 42. Что-то вроде: С определенного уровня проработки можно переходить к микро-дизайну, т.е. TDD «Проектирование больших ИС в Agile» 42 из 82
  • 43. FDD: Уровень процессов Управление проектами SCRUM Индикация прогресса Управление проектом Самоорг. команда, Перечень Daily Meetings требований, Итерации Unit-тесты, FDD Стандарт кодирования, Кодирование XP Code review Жесткость процессов Анархия Водопад «Проектирование больших ИС в Agile» 43 из 82
  • 44. FDD: Разработка Составление Планирование общей модели списка функций Список функций План разработки (Feature list) (A development plan) 1 – 3 недели Design by Build by feature Диаграмма сущностей feature (An object model) Отгрузка! «Проектирование больших ИС в Agile» 44 из 82
  • 45. AgileUP и OpenUP: И то, и другое – вариации на тему Unified Process (UP) в дань Agile-моде Соответственно, наследуют такие завоевания UP как: Model-Driven Design/Development (разработка на основе модели); Model-Driven Architecture (архитектура на основе модели) «Проектирование больших ИС в Agile» 45 из 82
  • 47. The last, but not the least: «Проектирование больших ИС в Agile» 47 из 82
  • 48. DDD: Не процесс – подход Напрямую не связан ни с одним процессом, но зародился именно в Agile-сообществе Грубо говоря, это Agile-наследник MDD и MDA «Проектирование больших ИС в Agile» 48 из 82
  • 49.  ООП UML Пример Словарь терминов МОДЕЛЬ ПРЕДМЕТНОЙ ОБЛАСТИ (DOMAIN MODEL) «Проектирование больших ИС в Agile» 49 из 82
  • 50. Итак, центральный элемент при проектировании – Модель предметной области aka Domain Model «Проектирование больших ИС в Agile» 50 из 82
  • 52. Модель – это упрощенное Простота != Примитивная приближение реальности. Максимально простое, при условии достаточной близости к действительности. «Проектирование больших ИС в Agile» 52 из 82
  • 53. В разных условиях адекватными могут оказаться принципиально разные модели (для одной и той же области): «Проектирование больших ИС в Agile» 53 из 82
  • 54. Свет: корпускулярно-волновой дуализм «Проектирование больших ИС в Agile» 54 из 82
  • 55. Ведет себя как волна: поляризация, дифракция, … «Проектирование больших ИС в Agile» 55 из 82
  • 56. Но вот в фотоэффекте – как поток частиц «Проектирование больших ИС в Agile» 56 из 82
  • 57. В физике в качестве формализма для моделей используют мат.аппарат, а в программировании уже лет 20 - ООП: «Проектирование больших ИС в Agile» 57 из 82
  • 59. А в качестве граф. нотации – UML в режиме эскизного проектирования: «Проектирование больших ИС в Agile» 59 из 82
  • 60. FDD, DDD, Графическая Фаулер нотация ЭСКИЗИРОВАНИЕ (набросок от руки) Способы Проектирование использования (чертеж) UML Метамодель Программирование (граф.представление кода) Executable UML, MDA, PIM «Проектирование больших ИС в Agile» 60 из 82
  • 61. Модель предметной области; Модель программы; Словарь терминов Понимание чужого кода Системная Бизнес-анализ архитектура (анализ требований) (проектирование) Документирование Понятия из Представление конструкций языка. предметной области Ограничения по приемам проектирования Движение слева направо по мере уточнения, детализации и реализации «Проектирование больших ИС в Agile» 61 из 82
  • 62. Наиболее востребованные виды диаграмм «Проектирование больших ИС в Agile» 62 из 82
  • 63. Нюансы терминологии:  Класс  Сущность (class) (entity)  Наследование  Обобщение (inheritance) (generalization) Функциональность  Свойство  Атрибут (feature) (property) (attribute)  Метод  Операция (method) (operation)  Ссылка, связь  Ассоциация (reference, link) (association) ПО Предметная область «Проектирование больших ИС в Agile» 63 из 82
  • 64. Пример: система продажи билетов на самолет «Проектирование больших ИС в Agile» 64 из 82
  • 65. • Эксперт: Есть аэропорты. Для каждого известны: название на местом языке, уникальный латинский код и GPS-координаты. • Мы: «Проектирование больших ИС в Agile» 65 из 82
  • 66. • Эксперт: Аэропорты расположены в городах. Для каждого города известно его название (на местном и англ. языках). Причем известно расстояние от аэропорта до центра города, к которому он «приписан». • Мы: «Проектирование больших ИС в Agile» 66 из 82
  • 67. • Эксперт: Для каждого города есть информация о стране, в которой он находится. • Мы: «Проектирование больших ИС в Agile» 67 из 82
  • 68. … (продолжение придумайте сами) «Проектирование больших ИС в Agile» 68 из 82
  • 69. Бонус: между делом получили готовый словарь терминов «Проектирование больших ИС в Agile» 69 из 82
  • 70.  Ключевой момент Соответствие концепций Ментальная модель РЕАЛИЗАЦИЯ МОДЕЛИ «Проектирование больших ИС в Agile» 70 из 82
  • 72. Бизнес-логика: «Проектирование больших ИС в Agile» 72 из 82
  • 73. [Реляционное] хранение: СУБД  Модель  ОО-язык таблица сущность класс поле атрибут свойство FK cвязь ссылка хранимая действие метод процедура «Проектирование больших ИС в Agile» 73 из 82
  • 74. GUI: Словарь терминов и ментальная модель «Проектирование больших ИС в Agile» 74 из 82
  • 75.  Must Read Притча ЗАКЛЮЧЕНИЕ «Проектирование больших ИС в Agile» 75 из 82
  • 77. Анекдот-притча: «Проектирование больших ИС в Agile» 77 из 82
  • 78. - Подайте мне то! - Подайте мне сѐ! - То у вас не так! - И сѐ у вас не эдак! «Проектирование больших ИС в Agile» 78 из 82
  • 79. - Значит черным всѐ можно… - А рыжим значит нет?! - А ну-ка, и мне подайте то! - И сѐ тоже! И побыстрее! - А то ишь, какие капуши!.. «Проектирование больших ИС в Agile» 79 из 82
  • 80. Экипаж не выдержал и выкинул нахалок из самолета - Ты летать-то хоть умеешь? - Не-е-е-ет! - Что же ты, кума, тогда выделывалась?! «Проектирование больших ИС в Agile» 80 из 82
  • 81. Мораль Если не умеете летать, т.е. не владеете такими важными практиками как ОО-моделирование, DDD и элементы UP, то и нечего «выделываться», т.е. пытаться применить Agile в проектах по созданию больших информационных систем (разобьетесь, да и только). «Проектирование больших ИС в Agile» 81 из 82
  • 82.  andrew@custis.ru http://team.custis.ru СПАСИБО ЗА ВНИМАНИЕ! ВОПРОСЫ? «Проектирование больших ИС в Agile» 82 из 82