Процесс разработки программного обеспечения

Содержание

Слайд 2

Процесс

Процесс

Слайд 3

Культуры программных проектов

Культуры программных проектов

Слайд 4

Книга от Энтони Лаудера
Научная: исследования
Заводская: конвейер
Дизайнерская: архитектура
Сервисная: сопровождение пользователя

Культуры программных проектов

Книга от Энтони Лаудера Научная: исследования Заводская: конвейер Дизайнерская: архитектура Сервисная: сопровождение пользователя Культуры программных проектов

Слайд 5

Квалифицированный персонал
Большие и сложные проекты
Требования меняются редко
Упор на техническое качество решения

Научная эпоха

Квалифицированный персонал Большие и сложные проекты Требования меняются редко Упор на техническое
1970-1990

Literate programming: программа как проза
Программа как статья или теорема

Слайд 6

Водопадная модель - 1970

сопровождение

или каскадная модель

Водопадная модель - 1970 сопровождение или каскадная модель

Слайд 7

ИТ-разработка воспринимается как конвейер на заводе
Задача делится на этапы
Результат проверяется по спецификациям

Заводская эпоха

ИТ-разработка воспринимается как конвейер на заводе Задача делится на этапы Результат проверяется
1980-2000

Waterfall в тяжелой форме, быдлокодинг по спецификациям

Слайд 8

ИТ-разработка рассматривается как проект по созданию системы
Задача делится на этапы с четкими целями,

ИТ-разработка рассматривается как проект по созданию системы Задача делится на этапы с
ролями, временем прохождения и создаваемыми артефактами
На каждом этапе происходит оценка результатов
В архитектуру на этапе проектирования закладывается гибкость

Архитектурная эпоха 1995-2005

CASE-средства, IDE, UML, RUP,
дизайн первичен

Слайд 9

Наблюдение за траекторией движения проекта и приближением к цели, вместо тщательного планирования
Итеративное

Наблюдение за траекторией движения проекта и приближением к цели, вместо тщательного планирования
движение с корректировкой положения цели (требований к системе)
Баланс между строгой дисциплиной и ее отсутствием

Сервисная эпоха 2000-…

Agile-методологии
Клиентоориентированность

Слайд 10

Планируем движение цели

Планируем движение цели

Слайд 11

Но цель движется

Но цель движется

Слайд 12

Лучше двигаться шагами

Лучше двигаться шагами

Слайд 13

Лучше двигаться шагами

Лучше двигаться шагами

Слайд 14

Лучше двигаться шагами

Лучше двигаться шагами

Слайд 15

Лучше двигаться шагами

Лучше двигаться шагами

Слайд 16

Инкрементальная модель

анализ

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

программирование

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

сопровождение

Инкрементальная модель анализ проектирование программирование тестирование сопровождение

Слайд 17

Можно найти представителей всех 4-х культур, особенно легко на конференции
Каждая культура в

Можно найти представителей всех 4-х культур, особенно легко на конференции Каждая культура
чем-то сильна
Успешные компании тяготеют к разным в зависимости от своих продуктов и заказчиков

Культуры перемешаны

Слайд 18

Что же использовать?

В своих проектах, проектном практикуме

Что же использовать? В своих проектах, проектном практикуме

Слайд 19

Agile-методологии из сервисной эпохи

Agile-методологии из сервисной эпохи

Слайд 20

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

Люди и взаимодействие важнее процессов и инструментов Работающий продукт важнее исчерпывающей документации
условий контракта
Готовность к изменениям важнее следования первоначальному плану
+12 основополагающих принципов

Agile Manifesto – 2001

Слайд 21

Гибкие методологии
Самые популярные:
Scrum
eXtreme Programming
Kanban
Каждой можно посветить книгу или хотя бы лекцию…

Agile-методологии

Гибкие методологии Самые популярные: Scrum eXtreme Programming Kanban Каждой можно посветить книгу

Слайд 22

Книги про Agile

Книги про Agile

Слайд 23

Поговорим про самые важные идеи…

Поговорим про самые важные идеи…

Слайд 24

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

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

Слайд 25

Plan: Планируй
Do: Выполняй
Check: Проверяй
Act = Adopt, Adapt or Abandon: Принимай, Приспосабливайся или Отказывайся

Цикл Деминга

Plan: Планируй Do: Выполняй Check: Проверяй Act = Adopt, Adapt or Abandon:

Слайд 26

Быстрый первый релиз
Небольшие релизы
Обратная связь от заказчика
Корректировка планов и приоритетов
Сначала самое ценное,

Быстрый первый релиз Небольшие релизы Обратная связь от заказчика Корректировка планов и
потом остальное

Изменение продукта

Слайд 27

Agile идеален для проверки гипотез, ведь в него встроен метод проб и адаптации

Agile идеален для проверки гипотез, ведь в него встроен метод проб и адаптации

Слайд 28

Периодические ретроспективные встречи для выявление проблемных мест
Улучшение процесса
Что нам помогает, что тормозит?
Как

Периодические ретроспективные встречи для выявление проблемных мест Улучшение процесса Что нам помогает,
сделать в 2 раза быстрее?
Как сделать проще?

Совершенствование процесса

Слайд 29

Ограничение числа незавершенных задач

Ограничение числа незавершенных задач

Слайд 30

История в разработке

Соотношение вложенных денег и полученного результата?

Стоит ли тестировать эти задачи?

Через сколько

История в разработке Соотношение вложенных денег и полученного результата? Стоит ли тестировать
будет готова новая фича для заказчика?

Работы на полгода

Слайд 31

Поиск и расширение бутылочного горлышка
Кроссфункциональность сотрудников

Борьба с незавершенкой

Путешествие налегке!

Поиск и расширение бутылочного горлышка Кроссфункциональность сотрудников Борьба с незавершенкой Путешествие налегке!

Слайд 32

Эффективные коммуникации

Эффективные коммуникации

Слайд 33

Представитель заказчика в команде разработки
Планирование с заказчиком
Демонстрации результатов для заказчика
Контракт, позволяющий менять

Представитель заказчика в команде разработки Планирование с заказчиком Демонстрации результатов для заказчика
набор функционала походу

Тесное общение с заказчиком

Слайд 34

Здоровая культура в команде

Уважительное отношение

Здоровая культура в команде Уважительное отношение

Слайд 35

Здоровая культура в команде

Взаимопомощь

Здоровая культура в команде Взаимопомощь

Слайд 36

Здоровая культура в команде

Честно о проблемах

Здоровая культура в команде Честно о проблемах

Слайд 37

Сначала стремитесь понять, а потом быть понятым

Навык 5 из книги Стивена Кови «7 навыков

Сначала стремитесь понять, а потом быть понятым Навык 5 из книги Стивена
высокоэффективных людей»

Слайд 38

Новые подходы к управлению

Новые подходы к управлению

Слайд 39

Жесткая иерархия

Жесткая иерархия

Слайд 40

Проактивность сотрудников

Проактивность сотрудников

Слайд 41

Самоорганизующаяся команда

Заказчик определяет цель
Зачем?

Команда решает все остальное
Как?

Самоорганизующаяся команда Заказчик определяет цель Зачем? Команда решает все остальное Как?

Слайд 42

Кроссфункциональная команда

Иерархическая организация
Отдел вратарей
Вратарь 1
Вратарь 2
Отдел защитников
Защитник 1
Защитник 2
Отдел нападающих
Нападающий 1
Нападающий 2

Матричная

Кроссфункциональная команда Иерархическая организация Отдел вратарей Вратарь 1 Вратарь 2 Отдел защитников
организация
Команда 1
Вратарь 1
Защитник 1
Нападающий 1
Команда 2
Вратарь 2
Защитник 2
Нападающий 2
Все на поле!

Слайд 44

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

Люди и взаимодействие важнее процессов и инструментов Работающий продукт важнее исчерпывающей документации
условий контракта
Готовность к изменениям важнее следования первоначальному плану
+12 основополагающих принципов

Agile Manifesto

Слайд 45

Желаю вам стать людьми, с которыми будет комфортно разрабатывать программы

Желаю вам стать людьми, с которыми будет комфортно разрабатывать программы