PO - 01 - Эмпирицизм

From Gehtsoft USA
Revision as of 16:38, 9 October 2020 by Ngekht (Talk | contribs)

Jump to: navigation, search

Цель

  • Понять важность эмпирицизма в Agile и роль ПО в поддержке эмпирицизма

Тезисы

Простые системы и сложные системы

Вводная: Когда и почему возникли разговоры об Agile в IT и с чем это связано? Ведь десятилетиями классический подход успешно работал!

Первая публикация о скрам - 1986-й год (см. https://agileforgrowth.com/scrum-history/). 1993 - презентация Джеффа Сазерленда, 2001 - манифест Agile.

  • 80-е годы
  • Появление ПК
  • Широкое распространение компьютеров
  • Применение их к решению ежедневных бытовых и бизнес задач.
  • До этого решались инженерные и научные задачи. Но эти задачи - простые - мост всегда мост, и луна всегда летает по законам физики миллионы лет. Задачи из человеческой деятельности оказались сложнее.

А что такое сложность?

Теория сложных системы выросла из теории систем управления (Деминг и др) и окончательно оформилась к 70-м годам.

Определение: Сложная система - это система поведение которой нельзя понять изучив её отдельные части.

Диаграмма стейси

Предиктивный метод и простые системы

Предиктивный (классический) метод управления проектами базируется на следующих действиях и предпосылках:

  • Мы описываем требования к системы разбивая её на маленькие части (декомпозиция) и предполагаем что совокупность требования к отдельным частям позволит получить нам требуюемую систему.
  • Мы описываем весь перечень работ для создания системы (опять декомпозиция, но уже работ) и предполагаем что совокупность выполненных работ позволить получить требуюемую систему.

Это все работает если системы по определению выше - простая. Это то условие когда предиктивный метод работает.

Agile как ответ на сложные системы

Agile - ответ на приход сложных системы как класса задач. Принципы agile "working software over comprehensive documentation" и "working software is primary measure of the progress" отражает именно неспособность любых требований, как модели основанной на декомпозиции - отражать систему целиком.

Полное смещение парадигмы от аналика к владельцу продукта (ПО, PO, product owner). От мы знаем что хочет заказчик к мы предполагаем что вот эти наши действия приведут к получению заказчиком вот такой ценности.

Эмпирицизм как движущая сила Agile

Гипотеза против утверждения

Цикл Демминга как основа эмпирического подхода

Цикл Демминга как адаптация приемов декомпозиции для сложных системы

Цикл Демминга - это декомпозиция примененная для упрощения сложной системы. Для простой системы мы разбиваем наше знание системы на части-требования и изучаем часть в рамках декомпозиции. Для сложной системы - мы разбиваем наше незнание на гипотезы, и подтверждая или опровергая гипотезу за гипотезой упрощаем наше восприятие сложной системы.

ПО и эмпирицизм

p.s. Возможно надо разбить на две лекции. Много информации, почти 2 часа занимает.