98
3 октября 2013 года Жизненный цикл заказного программного обеспечения Игорь Беспальчук Руководитель проектов дирекции по развитию технологий

Жизненный цикл заказного ПО

  • Upload
    custis

  • View
    213

  • Download
    2

Embed Size (px)

DESCRIPTION

Открытый семинар для студентов в компании CUSTIS (3 октября 2013). Лектор: Игорь Беспальчук, руководитель проектов, сертифицированный Scrum Product Owner. Из этого семинара вы узнаете о фазах, этапах и процессах, которые проходит программное обеспечение от идеи до финальной реализации. Видеозапись семинара: https://vimeo.com/76600088.

Citation preview

Page 1: Жизненный цикл заказного ПО

3 октября 2013 года

Жизненный цикл заказного

программного обеспечения

Игорь Беспальчук

Руководитель проектов

дирекции по развитию технологий

Page 2: Жизненный цикл заказного ПО

Про семинар

«Big Picture»

заказной разработки

Объемлющая рамка

для последующих тем:

Архитектура

Технологии

Командная работа

2/98

Page 3: Жизненный цикл заказного ПО

План

Пара слов о компании и о себе

Что такое жизненный цикл?

ЖЦ применительно к ПО

ЖЦ заказного ПО

Методологии разработки

3/98

Page 4: Жизненный цикл заказного ПО

О компании CUSTIS

4/98

Page 5: Жизненный цикл заказного ПО

Наша компания занимается:

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

5/98

Page 6: Жизненный цикл заказного ПО

Наша компания занимается:

…разработкой,

6/98

Page 7: Жизненный цикл заказного ПО

Наша компания занимается:

…внедрением,

7/98

Page 8: Жизненный цикл заказного ПО

Наша компания занимается:

…сопровождением,

8/98

Page 9: Жизненный цикл заказного ПО

Наша компания занимается:

…развитием

9/98

Page 10: Жизненный цикл заказного ПО

Наша компания занимается:

проектированием, разработкой, внедрением,

сопровождением и развитием…

…заказных информационных систем

на полном жизненном цикле

t

10/98

Page 11: Жизненный цикл заказного ПО

Для

Банков Торговых сетей

Госкорпораций Предприятий ЖКХ

11/98

Page 12: Жизненный цикл заказного ПО

Структура компании

>200

12/98

Page 13: Жизненный цикл заказного ПО

Профессиональная инфраструктура

26%

13/98

Page 14: Жизненный цикл заказного ПО

Отличники

20%

14/98

Page 15: Жизненный цикл заказного ПО

Мальчики и девочки

30%

15/98

Page 16: Жизненный цикл заказного ПО

О себе

16/98

Page 17: Жизненный цикл заказного ПО

Игорь Беспальчук

35 лет

(2001) Окончил

МГТУ им. Н. Э. Баумана (ИУ-8)

Программист (Oracle, C#)

(2006) Пришел в CUSTIS

(2008) Руководитель проекта

для ГК «Спортмастер»

(2010) Руководитель отдела

технологического развития

(2013) Руководитель проектов

дирекции по развитию технологий 17/98

Page 18: Жизненный цикл заказного ПО

План

Пара слов о компании и о себе

Что такое жизненный цикл?

ЖЦ в применении к ПО

ЖЦ заказного ПО

Методологии разработки

18/98

Page 19: Жизненный цикл заказного ПО

Что такое жизненный цикл?

У кого/чего он бывает?

Что это вообще такое?

Кому и зачем он нужен?

Как он устроен?

И с чем его едят?

19/98

Page 20: Жизненный цикл заказного ПО

Модель жизненного цикла

Объект

20/98

Page 21: Жизненный цикл заказного ПО

Модель жизненного цикла

21/98

Page 22: Жизненный цикл заказного ПО

План

Пара слов о компании и о себе

Что такое жизненный цикл?

ЖЦ в применении к ПО

ЖЦ заказного ПО

Методологии разработки

22/98

Page 23: Жизненный цикл заказного ПО

К программному обеспечению

А зачем применять понятие ЖЦ к ПО?

«Как разрабатывается ПО»?

И как управлять этим процессом?

Смотря какое… и смотря когда… и для кого

И вообще – что это за объект такой: «ПО»?

23/98

Page 24: Жизненный цикл заказного ПО

Объект №1: ПО в разработке

ЖЦ разработки ПО

– от идеи до финальной реализации

24/98

Page 25: Жизненный цикл заказного ПО

Объект №2: ПО в эксплуатации

ЖЦ эксплуатации ПО

– от внедрения до списания

25/98

Page 26: Жизненный цикл заказного ПО

Объект №3: продукт на рынке

26/98

Page 27: Жизненный цикл заказного ПО

План

Пара слов о компании и о себе

Что такое жизненный цикл?

ЖЦ в применении к ПО

ЖЦ заказного ПО

Методологии разработки

27/98

Page 28: Жизненный цикл заказного ПО

ЖЦ заказной разработки

На примере нашей компании

На полном ЖЦ – от замысла до вывода

Процессы, роли, артефакты, инструменты

Сравниваем и сопоставляем

28/98

Page 29: Жизненный цикл заказного ПО

Виды разработки

Box

Inhouse

Game

SaaS

Web

Mobile

ERP

Custom

Office

Desktop

S

M

L

29/98

Page 30: Жизненный цикл заказного ПО

Сопоставляем

Заказную разработку

Коробочный софт

Разработку Inhouse

Малые проекты

30/98

Page 31: Жизненный цикл заказного ПО

Карта процессов

31/98

Page 32: Жизненный цикл заказного ПО

Карта процессов

32/98

Page 33: Жизненный цикл заказного ПО

Замысел

33/98

Page 34: Жизненный цикл заказного ПО

Замысел

Идея

Проблема

Возможность

34/98

Page 35: Жизненный цикл заказного ПО

Замысел: процессы

Замысел Определение

Оценка и планирование

Анализ ситуации, определение замысла

35/98

Page 36: Жизненный цикл заказного ПО

Замысел: отличия от коробки

Замысел часто созревает у заказчика,

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

Это какая-то насущная проблема

(или возможность) бизнеса. Замысел

(и вообще все) подчинен деятельности

предприятия

Потребитель и подрядчик контактируют

напрямую

36/98

Page 37: Жизненный цикл заказного ПО

Замысел: отличия от Inhouse

Заказчик часто еще не знает, кто будет

делать (предстоит выбор подрядчика)

Не ограничен возможностями Inhouse

(например, технологиями)

Можем разбежаться, если одной из сторон

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

Нет «знакомства» друг с другом,

истории отношений (иногда, конечно,

есть)

37/98

Page 38: Жизненный цикл заказного ПО

Замысел: размер важен

Замысел может быть весьма нечеткий

и очень далеко отстоять от результата

Нужно преодолеть огромный барьер

рисков и опасений заказчика (особенно

при первом заказе). Масштаб здесь имеет

значение

Прототипы, опыт, референсы, харизма,

финансовая состоятельность – все

становится очень важно

38/98

Page 39: Жизненный цикл заказного ПО

Завершается

Соглашением

39/98

Page 40: Жизненный цикл заказного ПО

Определение

40/98

Page 41: Жизненный цикл заказного ПО

Определение

Ключевые решения

Функции

Устройство

Технологии

Команда

План работ

Ведущие эксперты

41/98

Page 42: Жизненный цикл заказного ПО

Определение: процессы

Замысел Определение

Концептуальное проектирование

Оценка и планирование

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

Организация

Наладка инфраструктуры

Анализ ситуации, определение замысла

42/98

Page 43: Жизненный цикл заказного ПО

Оценка и планирование

«План – ничто,

планирование – все»

43/98

Page 44: Жизненный цикл заказного ПО

Концептуальное проектирование

Фундаментальные

решения

Определяют дальнейшее

Не обязательно

реализуются раньше

44/98

Page 45: Жизненный цикл заказного ПО

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

Быстро

Понятно

Снять риски

Реализуемости

Целеполагания

45/98

Page 46: Жизненный цикл заказного ПО

Организация команды

Найм

Внутри

и снаружи

Руководитель

Роли

Отношения

46/98

Page 47: Жизненный цикл заказного ПО

Инфраструктура

Сервера сборки

Регламенты работы

Организация материалов

Инструменты

47/98

Page 48: Жизненный цикл заказного ПО

Определение: отличия от коробки

Диалог

Интеграция и контекст

Прямые задачи

Влияние заказчика

48/98

Page 49: Жизненный цикл заказного ПО

Определение: отличия от Inhouse

Контекст «с нуля»

Нормы отрасли

Жестче обязательства

49/98

Page 50: Жизненный цикл заказного ПО

Определение: размер важен

Неопределенность

Важность архитектуры

Героизм

50/98

Page 51: Жизненный цикл заказного ПО

Завершается

Переходом

на плановую работу

В полном составе

На понятный результат

По понятной технологии

51/98

Page 52: Жизненный цикл заказного ПО

Перерыв?

52/98

Page 53: Жизненный цикл заказного ПО

Производство

53/98

Page 54: Жизненный цикл заказного ПО

Производство

Реализация

функционала

Итерации

Версии

54/98

Page 55: Жизненный цикл заказного ПО

Производство

Не так уж и стабильно

За год меняется все

Команда

Архитектура

Ситуация

Планы

Сложность

Объем

55/98

Page 56: Жизненный цикл заказного ПО

Производство: процессы

Определение Производство Внедрение

Концептуальное проектирование

Оценка и планирование

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

Организация

Наладка инфраструктуры

Анализ требований

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

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

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

Демонстрация и сбор обратной связи56/98

Page 57: Жизненный цикл заказного ПО

Производство: отличия от коробки

Промежуточные версии

«Налипает» много

Сроки могут быть жестче

57/98

Page 58: Жизненный цикл заказного ПО

Производство: отличия от Inhouse

Договорные отношения

Команда на проект

Нет прямого прессинга

Дальше от потребителя

58/98

Page 59: Жизненный цикл заказного ПО

Производство: размер важен

Догнать паровоз

Организация важна

Процессы и документы

ЖЦ команды

Сложность играет свою игру

LOC

59/98

Page 60: Жизненный цикл заказного ПО

Производство завершается

Готовностью функционала

60/98

Page 61: Жизненный цикл заказного ПО

Внедрение

61/98

Page 62: Жизненный цикл заказного ПО

Внедрение

Включить в работу

Ничего не сломав

И без остановки

«Бережно»

62/98

Page 63: Жизненный цикл заказного ПО

Внедрение: процессы

Концептуальное проектирование

Оценка и планирование

Организация

Наладка инфраструктуры

Анализ требований

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

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

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

Демонстрация и сбор обратной связи

Обучение

Производство Внедрение

63/98

Page 64: Жизненный цикл заказного ПО

Внедрение: отличия от коробки

Интеграция

Обучение

Данные

Наследие

64/98

Page 65: Жизненный цикл заказного ПО

Внедрение: отличия от Inhouse

Цепочка длиннее

Отношения формальнее

65/98

Page 66: Жизненный цикл заказного ПО

Внедрение: размер важен

Риски простоя

Сложность

Количество

участников интеграции

Много нового

66/98

Page 67: Жизненный цикл заказного ПО

Эксплуатация

67/98

Page 68: Жизненный цикл заказного ПО

Эксплуатация

Все только

начинается…

Две системы –

два мира

68/98

Page 69: Жизненный цикл заказного ПО

Эксплуатация: процессы

Внедрение Эксплуатация

Оценка и планирование

Организация

Наладка инфраструктуры

Анализ требований

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

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

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

Демонстрация и сбор обратной связи

Обучение

Обновление

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

69/98

Page 70: Жизненный цикл заказного ПО

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

Диагностика

Обслуживание

Поддержка

Консультации

Наладка

Исправление

ошибок

Управление

инцидентами

70/98

Page 71: Жизненный цикл заказного ПО

Доработки

По требованиям

По возможности

По необходимости

Управление

изменениями

71/98

Page 72: Жизненный цикл заказного ПО

Обновления

Не только код

Но и данные

Быстро

Откат

Автоматическая

установка

Хотфиксы

72/98

Page 73: Жизненный цикл заказного ПО

Эксплуатация: отличия от коробки

Наша задача

Один потребитель

Один бизнес-процесс

SLA

73/98

Page 74: Жизненный цикл заказного ПО

Эксплуатация: отличия от Inhouse

Доступ затруднен

Данные закрыты

Длиннее цепочка

Усложняет диагностику

и обновления

74/98

Page 75: Жизненный цикл заказного ПО

Эксплуатация: размер важен

Больше доделок

Сложность

обновления

Сложность

диагностики

Больше

знаний

75/98

Page 76: Жизненный цикл заказного ПО

Чем заканчивается эксплуатация?

Выводом

из эксплуатации

Интенсивным

развитием

76/98

Page 77: Жизненный цикл заказного ПО

Интенсивное развитие (ИР)

77/98

Page 78: Жизненный цикл заказного ПО

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

Когда что-то

меняется сильно

Или добавляется новое

Масштаб сравним

с начальной разработкой

78/98

Page 79: Жизненный цикл заказного ПО

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

Эксплуатация Интенсивное развитие

Концептуальное проектирование

Оценка и планирование

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

Организация

Наладка инфраструктуры

Анализ требований

Анализ ситуации, определение замысла

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

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

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

Демонстрация и сбор обратной связи

Обучение

Обновление

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

79/98

Page 80: Жизненный цикл заказного ПО

Промежуточный итог

Сделали обзор фаз ЖЦ заказной

разработки

Посмотрели на ключевые процессы

И сравнили с другими видами

80/98

Page 81: Жизненный цикл заказного ПО

План

Пара слов о компании и о себе

Что такое жизненный цикл?

ЖЦ в применении к ПО

ЖЦ заказного ПО

Методологии разработки

81/98

Page 82: Жизненный цикл заказного ПО

Методология

Чем определяется ЖЦ разработки ПО?

Проектная методология

или

Методология разработки

Отвечает на вопрос

«Как следует разрабатывать ПО?»

Методология определяет

модель жизненного цикла

А также задает процессы, роли, артефакты

82/98

Page 83: Жизненный цикл заказного ПО

Эволюция методологий

разработки ПО

1970

Waterfall

1996

RUP

1986

Spiral

Agile,

SCRUM

Жесткость

2001 2009

Kanban

2013

?

83/98

Page 84: Жизненный цикл заказного ПО

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

Используется как мальчик для битья

84/98

Page 85: Жизненный цикл заказного ПО

Итеративные методологии

Все современные методологии

RUP, MSF, SCRUM (и др. agile), PMBoK

85/98

Page 86: Жизненный цикл заказного ПО

Итерации

86/98

Page 87: Жизненный цикл заказного ПО

Про RUP

Rational Unified Process

Более 30 ролей и более 50 артефактов

Требуется тщательная адаптация,

чтобы не утонуть в сложности

Дорогие шаблоны документов

и инструменты

87/98

Page 88: Жизненный цикл заказного ПО

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

Процессы – ничто, люди – все!

Ну, или процессы – почти ничто…

http://agilemanifesto.org/

http://agilemanifesto.org/iso/ru/

88/98

Page 89: Жизненный цикл заказного ПО

Про SCRUM

Простой процесс

Подручные инструменты

Иллюзия легкого решения

всех проблем

89/98

Page 90: Жизненный цикл заказного ПО

Количество предписаний

90/98

Page 91: Жизненный цикл заказного ПО

Еще одно сравнение

91/98

Page 92: Жизненный цикл заказного ПО

Общий знаменатель

OMG Essence

Методы (Methods)

Практики (Practices)

Основа (The Kernel)

Язык (The Language)

Составлены из

Описаны

при помощи

элементов

Определены

в терминах

92/98

Page 93: Жизненный цикл заказного ПО

Essence Language

93/98

Page 94: Жизненный цикл заказного ПО

Подводим итоги

94/98

Page 95: Жизненный цикл заказного ПО

Коротко о главном

Для качественной работы и управления

необходимы богатые представления

о контексте

В частности – о полном жизненном цикле

той деятельности, в которую вы включены,

и тех объектов, которые создаете

95/98

Page 96: Жизненный цикл заказного ПО

Коротко о главном

Заказная разработка (как и другие виды)

обладает своим, специфическим ЖЦ

со своими особенностями

Непосредственно программирование –

только маленький шаг внутри огромного

объекта разработки и развития ПО

96/98

Page 97: Жизненный цикл заказного ПО

Коротко о главном

Маятник методологий разработки ПО

уже успел качнуться в обе стороны –

к переутяжеленным и переоблегченным

методологиям

Но серебряной пули не существует,

и любому большому проекту нужна своя

уникальная методология, зависящая

от особенностей и контекста

97/98

Page 98: Жизненный цикл заказного ПО

Спасибо!

Вопросы?

Игорь Беспальчук

[email protected]

98/98