slid 3.0 scrum для практиков на vsts2008

135

Upload: denis-petelin

Post on 29-Nov-2014

1.333 views

Category:

Documents


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Slid 3.0 Scrum для практиков на Vsts2008
Page 2: Slid 3.0 Scrum для практиков на Vsts2008

Давайте знакомиться

http://www.seadmex.ru/customers/epam

SEADMEX

Денис Петелин

Успел попробовать себя во всех ролях софтверных проектов – от разработчика до владельца компании и Заказчика.

Поскольку во всех ролях работал успешно, то имею востребованный опыт, который передаю другим.

В последнее время все больше выступаю в роли Заказчика, где применяю изученные у Заказчиков грязные трюки

Попутно являюсь Product Owner для одного стартапа, Scrum Master для еще одной команды, Agile Coach для двух проектов.

[email protected]

Page 3: Slid 3.0 Scrum для практиков на Vsts2008
Page 4: Slid 3.0 Scrum для практиков на Vsts2008

Окей, мы все через это прошли

29.10.2007 V 2.021 4

Page 5: Slid 3.0 Scrum для практиков на Vsts2008

История создания тренинга

16.01.2008 V 2.021 5

Page 6: Slid 3.0 Scrum для практиков на Vsts2008

Vision \ Scope

• Вы уже повозились с Team System и теперь по какой-то причине вам интересно, как мыделаем agile (scrum) в Team System 2008:

1. Я – менеджер, и могу говорить только за agile и Team System для менеджеров

2. Я собираюсь его обзорно показать вам в разрезе «процесс»

3. Я собираюсь вам его обзорно показать в разрезе «инструмент»

16.01.2008 V 2.021 6

Page 7: Slid 3.0 Scrum для практиков на Vsts2008

Vision \ Scope

• У меня на это дело есть один день:

1. Я собираюсь его обзорно показать вам в разрезе «процесс»

a) Это не тренинг по agile-методологиям

b) Я не собираюсь вас убеждать что agile работает

2. Я собираюсь вам его обзорно показать в разрезе «инструмент»

a) Я (почти) не буду показывать администрирование

b) Мы не будем конфигурировать сервер \ упражняться

16.01.2008 V 2.021 7

Page 8: Slid 3.0 Scrum для практиков на Vsts2008

Disclaimer

• Мы не делаем ничего сверхъестественного

• Я – не супер-мега-гуру Team System 2008

• Да, есть много способов делать все лучше в Team System 2008

• Да, есть много других инструментов кроме Team System 2008

• Да, вы могли бы сделать все в 10 раз лучше

16.01.2008 V 2.021 8

Page 9: Slid 3.0 Scrum для практиков на Vsts2008

Limitations of liability

1. Показанное не значит, что наш путь единственно верный

2. Это не значит даже, что он подойдет вам

3. Используя эти соображения и подходы – вы делаете это на свой страх и риск, ни я ни кто-либо другой не несем за это ответственности

4. Пытаясь их тупо скопировать без понимания зачем оно вам надо – вы гарантированно огребете проблем

16.01.2008 V 2.021 9

Page 10: Slid 3.0 Scrum для практиков на Vsts2008

Release Planning

• Release 1 – базовое понимание как сделать agile средствами Team System

– Sprint 1 – Объясню почему agile работает

– Sprint 2 – Объясню Customer Involvement

– Sprint 3 – Объясню TDD + ATDD

– Sprint 4 – Объясню CI + AD

16.01.2008 V 2.021 10

Page 11: Slid 3.0 Scrum для практиков на Vsts2008

Рабочие соглашения

Сотовые –выключить

Почту – не читать

Коллег –не гнобить

Говорить –строго по одному

29.10.2007 V 2.021 11

Page 12: Slid 3.0 Scrum для практиков на Vsts2008

Орг. Вопросы

• Формат работы: 1,5 часа Х 4 спринта

• Перерыв: 20 минут

• Обед: после 2х спринтов, 1 час

• Вопросы – задавать любые, даже не по теме тренинга

• Вопросы не по теме – на перерывах

• Материалы – будут выложены на Office Live

16.01.2008 V 2.021 12

Page 13: Slid 3.0 Scrum для практиков на Vsts2008

Вопрос (1 минута подумать)

• Зачем я сюда пришел (пришла)?– Пример: Завтра мне начинать проект на Team

System. С чего начать?

• Что я хочу узнать?– Пример: Хочу чтоб в голове сложилось

последовательность действий менеджера, устанавливающего Agile на проекте.

• Опыт использования софта для управления?– Пример: FogBugz – 5 лет, OnTime – 3 года, TFS – 20

лет

29.10.2007 V 2.021 13

Page 14: Slid 3.0 Scrum для практиков на Vsts2008

Почему Agile?Лекция 1

Page 15: Slid 3.0 Scrum для практиков на Vsts2008

Начнем – с начала

Алиса: «Не подскажете, каким путем мне идти, чтобы отсюда выбраться?»

Кот: «Ну, это в значительной степени определяется тем, куда вы хотите попасть.»

Алиса: «Мне, в общем-то, все равно...»

Кот: «Тогда не имеет никакого значения, каким путем идти.»

Алиса в Зазеркалье,

Льюис Кэррол

29.10.2007 V 2.021 15

Page 16: Slid 3.0 Scrum для практиков на Vsts2008

Что такое проект?

Проект – уникальный набор скоординированных действий, имеющий начальную и конечную точки, направленный на получение определенного конечного результата в рамках ограничений времени, цены, качества и объема работ.

29.10.2007 V 2.021 16

Page 17: Slid 3.0 Scrum для практиков на Vsts2008

Успешный проект

• Проект – уникальный набор скоординированных действий, имеющий начальную и конечную точки, направленный на получение определенного конечного результата в рамках ограничений времени, цены, качества и объема работ.

Чтобы быть успешным, проект должен:

1. Произвести конечный результат (решить задачу), который бы устраивал всех заинтересованных участников проекта.

2. Закончиться не позже запланированной даты (вовремя).

3. Остаться при этом в рамках требований качества, ограничений бюджета и объема работ.

29.10.2007 V 2.021 17

Page 18: Slid 3.0 Scrum для практиков на Vsts2008

Измерения успешности• Набор основных измерений

– Требования (Scope)• Запланировано = реализовано

• Заказчик доволен

– График (Schedule)• Продолжительность план = продолжительность

факт

– Бюджет (Budget)• Трудозатраты план = трудозатраты факт

• Бюджет план = бюджет факт

– Качество (Quality)• Покрытие тестами ~100%

• «Критический\серьезный» дефекты = 0

Page 19: Slid 3.0 Scrum для практиков на Vsts2008

Проектный треугольник

• Мастер ($100/день) делает 1 кресло в день• Нам нужно 1 кресло (у нас есть день и $100)• Нет заноз и кресло не разваливается

Задачи

Время

Люди

Page 20: Slid 3.0 Scrum для практиков на Vsts2008

«Почему у нас никак не получается?!!»

• «Потому что строем не ходите!»– делали вещи посложнее

– невероятные требования к надежности

– сроки выдерживали

• Потому что методология!– MIL-STD (2167…)

– DOD-STD (498…)

29.10.2007 V 2.021 20

Page 21: Slid 3.0 Scrum для практиков на Vsts2008

«Водопад»

(с) Steve McConnel. «Rapid Development»

Концепция

Сбор Требований

Разработка Архитектуры

Проработка Архитектуры

Кодирование и отладка

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

29.10.2007 V 2.021 21

Page 22: Slid 3.0 Scrum для практиков на Vsts2008

Никогда в жизни не сработает!

Page 23: Slid 3.0 Scrum для практиков на Vsts2008

Как следствие

• Наблюдения за 3 года:

– Средняя задержка – 20%

– Среднее превышение бюджета – 30%

– Сделано больше чем планировалось

– Заказчик все равно недоволен

– Качество сделанного ПО оставляет желать лучшего

– Разработчики еще почему-то ругают руководство и Заказчика

16.01.2008 V 2.021 23

Page 24: Slid 3.0 Scrum для практиков на Vsts2008

«Мы совсем неплохо оцениваем»

«Большинство руководителей проектов по созданию ПО проделывают приемлемую работу по предсказанию задач, которые должны быть выполнены, и слабую работу по предсказанию задач, которые может потребоваться выполнить.»

Том де Марко. «Вальсируя с медведями»

Page 25: Slid 3.0 Scrum для практиков на Vsts2008

Время

Ба

ги, н

еуч

тен

ны

е р

иск

и, и

зм

ен

ен

ия Релиз билд билд билд билд

«Предел возможностей»

«Большой взрыв»

Page 26: Slid 3.0 Scrum для практиков на Vsts2008

Agile Manifesto

• Нужды Заказчика – прежде всего

• Требования должны меняться

• Разработчики и Заказчик работают вместе

• Релизы должны происходить часто

• Коммуникации – лучшая документация

• Команда – основная ценность

• Совершенство заключается в простоте

• Постоянно стремиться сделать для Заказчика больше

16.01.2008 V 2.021 26

Page 27: Slid 3.0 Scrum для практиков на Vsts2008

Agile-фрэймворки

16.01.2008 V 2.021 27

Page 28: Slid 3.0 Scrum для практиков на Vsts2008

Смысл один и тот же

Время

Ба

ги, н

еуч

тен

ны

е р

иск

и, и

зм

ен

ен

ия

Релизбилдбилд билд билд

«Предел возможностей»

Page 29: Slid 3.0 Scrum для практиков на Vsts2008

Ценности Agile

• Коммуникации вместо длинных контрактов

• Рабочий софт вместо длинных спек

• Ответ на изменение вместо следования плану

• Храбрость и принятие ответственности

16.01.2008 V 2.021 29

Page 30: Slid 3.0 Scrum для практиков на Vsts2008

Как устроен Agile-проект?

Пользователи пишут «хотелки» и тесты для

них

Заказчик выбирает из длинного списка

короткий - «сделать в эту итерацию»

Программисты пишут программу вместе с

Заказчиком, консультируясь с

Заказчиком

Тестеры проверяют наличие ошибок и

сообщают программистам

Программисты исправляют ошибки

Администраторы устанавливают

программу на сервер

Заказчики удостоверяются, что программа работает

Заказчики пишут новые требования

[Переходим в начало]

Page 31: Slid 3.0 Scrum для практиков на Vsts2008

Process Guidance

16.01.2008 V 2.021 31

Page 32: Slid 3.0 Scrum для практиков на Vsts2008

Где же менеджер???

16.01.2008 V 2.021 32

Page 33: Slid 3.0 Scrum для практиков на Vsts2008

Коучинг

• В идеале – менеджер:

– Может заменить любого члена команды

– Может учить по любой теме

– Готов взять на себя самую тяжелую\нудную часть работы

16.01.2008 V 2.021 33

Page 34: Slid 3.0 Scrum для практиков на Vsts2008

Ключевой вопрос – «почему»

Цель проектаЦель человека

Цель проекта

Цель человека

Page 35: Slid 3.0 Scrum для практиков на Vsts2008

Попробуйте представить…

• Заказчик намеренно хочет вытрясти из вас максимум за фиксированную цену

• Заказчик вообще не хочет чтобы приложение зарелизилось

• Заказчику нужно чтоб никто никогда не узнал что он не понимает чего хочет

• Заказчику нужно грамотно перевести стрелки и назначить виноватого

16.01.2008 V 2.021 35

Page 36: Slid 3.0 Scrum для практиков на Vsts2008

Ключевое условие

16.01.2008 V 2.021 36

Page 37: Slid 3.0 Scrum для практиков на Vsts2008

А причем здесь инструмент?

16.01.2008 V 2.021 37

Page 38: Slid 3.0 Scrum для практиков на Vsts2008

Когда появляется инструмент?

Команда распределена географически –целиком или частично

Команда распределена во времени – целиком или частично

Команда совмещает проекты или периодически уходит в suspend

Требуется предоставить прозрачность –инвестору (продукт) или спонсору (аутсорс)

Команда отладила процесс и желает его ускорить

16.01.2008 V 2.021 38

Page 39: Slid 3.0 Scrum для практиков на Vsts2008

Team System как такой инструмент

Clients & API

Team Explorer

Reporting Services

Office Apps

Process Template -> Project

Process

Tools

Engine

Data Logic & Rules

16.01.2008 V 2.021 39

Page 40: Slid 3.0 Scrum для практиков на Vsts2008

2 основных process templates

Нужная фича MSF for Agile 4.2 Scrum for Team System 2.0

Backlog

Burndown

Task board

Zero-bug mindset

Checkin Policy

Agile Reports

Extended Reports

16.01.2008 V 2.021 40

Page 41: Slid 3.0 Scrum для практиков на Vsts2008

Итого

• Agile – не «процесс», а набор ценностей

• Agile использует старые добрые проверенные временем практики

• Agile предлагает сокращать длину итерации

• + гибкость в принятии изменений, что приятно и Заказчику, и Разработчикам

16.01.2008 V 2.021 41

Page 42: Slid 3.0 Scrum для практиков на Vsts2008

Перерыв – 20 минут

29.10.2007 V 2.021 42

Page 43: Slid 3.0 Scrum для практиков на Vsts2008

Один спринт из жизни AgileЛекция 2

29.10.2007 V 2.021 43

Page 44: Slid 3.0 Scrum для практиков на Vsts2008

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

Пользователи пишут «хотелки» и тесты

для них

Заказчик выбирает из длинного списка короткий - «сделать

в эту итерацию»

Программисты пишут программу

вместе с Заказчиком

Тестеры проверяют наличие ошибок и

сообщают программистам

Программисты исправляют ошибки

Администраторы устанавливают программу на

сервер

Заказчики удостоверяются, что программа работает

Заказчики пишут новые требования

[Переходим в начало]

Page 45: Slid 3.0 Scrum для практиков на Vsts2008

Проект Concretica

16.01.2008 V 2.021 45

Page 46: Slid 3.0 Scrum для практиков на Vsts2008

Elevator pitch

16.01.2008 V 2.021 46

Page 47: Slid 3.0 Scrum для практиков на Vsts2008

Scrum for Team System 2008

16.01.2008 V 2.021 47

http://www.scrumforteamsystem.com/

Page 48: Slid 3.0 Scrum для практиков на Vsts2008

По шагам

Пользователи пишут «хотелки» и тесты

для них

Заказчик выбирает из длинного списка короткий - «сделать

в эту итерацию»

Программисты пишут программу

вместе с Заказчиком

Тестеры проверяют наличие ошибок и

сообщают программистам

Программисты исправляют ошибки

Администраторы устанавливают программу на

сервер

Заказчики удостоверяются, что программа работает

Заказчики пишут новые требования

[Переходим в начало]

Page 49: Slid 3.0 Scrum для практиков на Vsts2008

Роли в Agile

Заказчик (Product Owner)– Пишет «хотелки», тесты и примеры к ним– Объясняет «хотелки» и расставляет приоритеты– Общается с пользователями– Решает, что важно и что нет

Разработчик– Определяет задачи для реализации «хотелки»– Дает оценки объема работ– Реализует в коде «хотелки» и юнит-тесты к ним

Scrum Master– Собирает и контролирует встречи– Информирует Спонсора– Платит за пиццу– Убирает препятствия (Impediments)

16.01.2008 V 2.021 49

Page 50: Slid 3.0 Scrum для практиков на Vsts2008

С чего все начинается?

Пользователи

Заказчик

«хотелки» пользователей

Scrum Master

Задачи программистам

Заказчик (Product Owner)1. Собирает

информацию от всех2. Отсекает явно

ненужное3. Утверждает «хотелки»

Scrum Master:1. Поддерживает список

«хотелок»2. Управляет

обсуждением и процессом оценки

3. Не оценивает

Page 51: Slid 3.0 Scrum для практиков на Vsts2008

Определение Product Backlog Item

«Хотелка» – это наиболее простая формулировка, позволяющая всем присутствующим согласиться с тем, что существует нечто, что необходимо сделать в рамках проекта.

16.01.2008 V 2.021 51

Page 52: Slid 3.0 Scrum для практиков на Vsts2008

SEADMEX

Storycard – Лицевая сторонаID

Суть задачи

Page 53: Slid 3.0 Scrum для практиков на Vsts2008

Превосходная «хотелка»

Независима и самодостаточна

Может обсуждаться с разработчиком и корректироваться, уточняться

Определяет свойство системы, нужное пользователям/заказчикам

Позволяет оценить трудоемкость

Невелика по объему

Определяет свойство системы, которое может быть протестировано

16.01.2008 V 2.021 53

Page 54: Slid 3.0 Scrum для практиков на Vsts2008

SEADMEX

Storycard – Оборотная сторона

Тест

Тест

Page 55: Slid 3.0 Scrum для практиков на Vsts2008

Работа с Заказиком

Сколько времени займет дорисовать кнопку?

(Сколько это будет стоить?)

Page 56: Slid 3.0 Scrum для практиков на Vsts2008

Документация

16.01.2008 V 2.021 56

Page 57: Slid 3.0 Scrum для практиков на Vsts2008

Если проект большой

16.01.2008 V 2.021 57

Page 58: Slid 3.0 Scrum для практиков на Vsts2008

«Хотелка» в Product Backlog

29.10.2007 V 2.021 58

Page 59: Slid 3.0 Scrum для практиков на Vsts2008

Acceptance Test Driven Development

29.10.2007 V 2.021 59

Page 60: Slid 3.0 Scrum для практиков на Vsts2008

Типы Fixtures

29.10.2007 V 2.021 60

Action

Row

Column

Page 61: Slid 3.0 Scrum для практиков на Vsts2008

Роли в Agile

Тестер

– Пишет и прогоняет * тесты

– Оформляет результаты так, чтобы всем было понятно

Пессимист

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

– Следит, чтобы мы не принимали желаемое за действительное

16.01.2008 V 2.021 61

Page 62: Slid 3.0 Scrum для практиков на Vsts2008

Зачем нужен бэклог?

• Бэклог – это форма записи требований

– Без бэклога нельзя сделать Заказчика счастливым

• Бэклог – это форма коммуникации

– Если бэклог непонятен Заказчику –коммуникация не состоялась

16.01.2008 V 2.021 62

Page 63: Slid 3.0 Scrum для практиков на Vsts2008

Преимущества

• Переработаем до приемлемого вида очень быстро

• Изменения стоят копейки• Разберемся в деталях• Точно поставим задачу и

программист поймет ее правильно

• Получим удобную Программу с первого раза

Page 64: Slid 3.0 Scrum для практиков на Vsts2008

По шагам

Пользователи пишут «хотелки» и тесты

для них

Заказчик выбирает из длинного списка короткий - «сделать

в эту итерацию»

Программисты пишут программу

вместе с Заказчиком

Тестеры проверяют наличие ошибок и

сообщают программистам

Программисты исправляют ошибки

Администраторы устанавливают программу на

сервер

Заказчики удостоверяются, что программа работает

Заказчики пишут новые требования

[Новая итерация]

Page 65: Slid 3.0 Scrum для практиков на Vsts2008

Определяем порядок

Page 66: Slid 3.0 Scrum для практиков на Vsts2008

Product BacklogПрограммист

«Хотелки»+ оценки

Оценка: 4 часа

Оценка: 2 часа

Оценка: 6 часов

Оценка: 0,25 часа

Оценка: 8 часов

Оценка: 16 часов

Оценка: 1 час

...

Итого: 100 000 часов

Заказчик

Sprint Backlog

«Принесет нам миллион»

Добавить в базуScrum Master

Обновить orm

Прикрутить фиксчи

Итого: 40 часов

Page 67: Slid 3.0 Scrum для практиков на Vsts2008

Оценка в часах

• Чем меньше задача – тем точнее оценка

– Разбивайте большие «хотелки» на меньшие

– Для каждой «хотелки» расписывайте набор задач

– Оценивайте каждую задачу

– Оценивает тот, кто будет делать задачу

29.10.2007 V 2.021 67

Page 68: Slid 3.0 Scrum для практиков на Vsts2008

«Хотелка» и «задача»

• «Парни, я хочу хранить для участка информацию о том, какие конкретно ПИ там живут!»

Задача №00234

Page 69: Slid 3.0 Scrum для практиков на Vsts2008

Формируем Sprint Backlog

Программист

«Хотелки»+ оценки

Оценка: 4 часа

Оценка: 2 часа

Оценка: 0,5 часа

Оценка: 0,25 часа

Оценка: 8 часов

Оценка: 16 часов

Оценка: 1 час

...

Итого: 100 000 часов

Заказчик

Product Backlog ItemsFor this Sprint

1. «Принесет нам миллион»

2. «Сэкономит нам миллион»

3. «Даст 100 новых клиентов»

Scrum Master

Page 70: Slid 3.0 Scrum для практиков на Vsts2008

Когда останавливаться?

16.01.2008 V 2.021 70

Page 71: Slid 3.0 Scrum для практиков на Vsts2008

Вспоминаем почему так:

• Мастер ($100/день) делает 1 кресло в день

• Нам нужно 1 кресло (у нас есть день и $100)

Задачи

Время

Люди

Page 72: Slid 3.0 Scrum для практиков на Vsts2008

Принцип отбора в спринт

16.01.2008 V 2.021 72

Page 73: Slid 3.0 Scrum для практиков на Vsts2008

Быстройдествие = 30

Балансируем треугольникБыстройдествие = 30

29.10.2007 V 2.021 73

A (15)

B (10)

C (5)

D (5)

A (15)

B (10)

D (5)

C (5)

A (15)

D (5)

C (5)

E (5)

Быстройдествие = 30

Page 74: Slid 3.0 Scrum для практиков на Vsts2008

Преимущества

• То, что реально важно, всегда делается

• Скорость – очень высокая

• Это происходит из-за высокой эффективности работы, а не за счет качества

• Себестоимость при этом получается - ниже

Page 75: Slid 3.0 Scrum для практиков на Vsts2008

Концептуальные связи

16.01.2008 V 2.021 75

SprintBacklog

Item

Sprint Backlog

ItemBug

Page 76: Slid 3.0 Scrum для практиков на Vsts2008

Перерыв – 60 минут

29.10.2007 V 2.021 76

Page 77: Slid 3.0 Scrum для практиков на Vsts2008

По шагам

Пользователи пишут «хотелки» и тесты

для них

Заказчик выбирает из длинного списка короткий - «сделать

в эту итерацию»

Программисты пишут программу

вместе с Заказчиком

Тестеры проверяют наличие ошибок и

сообщают программистам

Программисты исправляют ошибки

Администраторы устанавливают программу на

сервер

Заказчики удостоверяются, что программа работает

Заказчики пишут новые требования

[Новая итерация]

Page 78: Slid 3.0 Scrum для практиков на Vsts2008

Definition Of Done

• Backlog Item сделан

– Код в TFS, с комментарием

– Юнит-тест в проекте

– Юнит-тесты проекта прошли

– Глупых ошибок на UI нет

• Backlog Item закрывает тот, кто его открыл

– Если он недоволен по любой причине – он не закрывает его

– Daily Scrum: 9:00, 75-4

SEADMEX

Page 79: Slid 3.0 Scrum для практиков на Vsts2008

Project Portal

16.01.2008 V 2.021 79

Page 80: Slid 3.0 Scrum для практиков на Vsts2008

Definition of done + Process

16.01.2008 V 2.021 80

Page 81: Slid 3.0 Scrum для практиков на Vsts2008

Сессии по дизайну

16.01.2008 V 2.021 81

Page 82: Slid 3.0 Scrum для практиков на Vsts2008

Происходит работа...

• Daily Scrum• Программисты делают сессии

по дизайну• Пишут вместе тесты• Потом код• Юнит-тесты проверяют

работоспособность кода• Team Build делает из него

билды, которые тут же тестируются

• Тестеры тестируют билды заглядывая в список What’s New

• До тех пор, пока не сделаны все «хотелки» спринта

Page 83: Slid 3.0 Scrum для практиков на Vsts2008

Scrum!!!

16.01.2008 V 2.021 83

Page 84: Slid 3.0 Scrum для практиков на Vsts2008

Daily Scrum

16.01.2008 V 2.021 84

Page 85: Slid 3.0 Scrum для практиков на Vsts2008

Task Board и его чтение

16.01.2008 V 2.021 85

Page 86: Slid 3.0 Scrum для практиков на Vsts2008

Task Board в Team System

16.01.2008 V 2.021 86

Как сделать чтоб обновлялись оперативно:

http://msdn.microsoft.com/en-us/library/ms400787.aspx

Page 88: Slid 3.0 Scrum для практиков на Vsts2008

Мегамонитор

16.01.2008 V 2.021 88

Page 89: Slid 3.0 Scrum для практиков на Vsts2008

Роли в Agile

Трэкер

– Собирает со всех информацию об успехах

– При необходимости зовет на помощь Тренера или другого разработчика

Коуч

– Наблюдает и дает советы

– В явном виде помогает

– «Свертывает газету» при необходимости

16.01.2008 V 2.021 89

Page 90: Slid 3.0 Scrum для практиков на Vsts2008

Трэкер и «прозрачность»

16.01.2008 V 2.021 90

Page 91: Slid 3.0 Scrum для практиков на Vsts2008

Sprint Burndown

16.01.2008 V 2.021 91

Page 92: Slid 3.0 Scrum для практиков на Vsts2008

Распределенная работа

16.01.2008 V 2.021 92

Page 93: Slid 3.0 Scrum для практиков на Vsts2008

Удаленный Product Owner

16.01.2008 V 2.021 93

Skype + SharedView

Page 94: Slid 3.0 Scrum для практиков на Vsts2008

Постоянная интеграция

16.01.2008 V 2.021 94

Разработчик

делает коммит

Компилируется

проект

Запускаются

юнит-тесты

Билд

успешен -

Запуск процедуры

развертывания и

обновления

Приложение и база

обновлены

Team BuildBVT

Любой

девелопер

TS2008 SCC

Репортинг и

нотификации

Результаты

появляются в

дашборде

Page 95: Slid 3.0 Scrum для практиков на Vsts2008

Защита от г…кодеров

16.01.2008 V 2.021 95

Page 96: Slid 3.0 Scrum для практиков на Vsts2008

Самый классный метод

16.01.2008 V 2.021 96

Page 97: Slid 3.0 Scrum для практиков на Vsts2008

По шагам

Пользователи пишут «хотелки» и тесты

для них

Заказчик выбирает из длинного списка короткий - «сделать

в эту итерацию»

Программисты пишут программу

вместе с Заказчиком

Тестеры проверяют наличие ошибок и

сообщают программистам

Программисты исправляют ошибки

Администраторы устанавливают программу на

сервер

Заказчики удостоверяются, что программа работает

Заказчики пишут новые требования

[Новая итерация]

Page 98: Slid 3.0 Scrum для практиков на Vsts2008

Имплементация Backlog Item

Программист

Список выполненных задач + результирующая программа

Тестер

Задачи по исправлению ошибок

Заказчик

Тестовые данные

Надежная программа

Тестовые примеры

Page 99: Slid 3.0 Scrum для практиков на Vsts2008

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

• Тестовый пример: Ввести номенклатуру изделия, Программа пишет расшифровку кода номенклатуры, при этом обрабатывает несуществующие коды и замены.

• Проверить с тестовыми данными:

– 005Е6789: «немыслимый шаровой клапан»

– 005N0000: «код не существует»

– 005Т0098: «снят с производства, возможна замена на 005T0198»

Page 100: Slid 3.0 Scrum для практиков на Vsts2008

Использование FIT

16.01.2008 V 2.021 100

Page 101: Slid 3.0 Scrum для практиков на Vsts2008

Сломанный билд

16.01.2008 V 2.021 101

Page 102: Slid 3.0 Scrum для практиков на Vsts2008

Чуть где что не так

16.01.2008 V 2.021 102

Page 103: Slid 3.0 Scrum для практиков на Vsts2008

Выясняем причину

16.01.2008 V 2.021 103

Page 104: Slid 3.0 Scrum для практиков на Vsts2008

Прикольный отчет

Fail Builds Successful Builds

Postion

Person Total % Total % Total Builds

1 Aliaksandr Baradyntsau

0 0.00 % 12 100.00 % 12

2 Aliaksei Stankevich 4 20.00 % 16 80.00 % 20

3 Ivan Kirkorau 1 10.00 % 1 90.00 % 10

16.01.2008 V 2.021 104

Page 105: Slid 3.0 Scrum для практиков на Vsts2008

По шагам

Пользователи пишут «хотелки» и тесты

для них

Заказчик выбирает из длинного списка короткий - «сделать

в эту итерацию»

Программисты пишут программу

вместе с Заказчиком

Тестеры проверяют наличие ошибок и

сообщают программистам

Программисты исправляют ошибки

Администраторы устанавливают программу на

сервер

Заказчики удостоверяются, что программа работает

Заказчики пишут новые требования

[Новая итерация]

Page 106: Slid 3.0 Scrum для практиков на Vsts2008

Zero-bug mindset

16.01.2008 V 2.021 106

Page 107: Slid 3.0 Scrum для практиков на Vsts2008

Преимущества

• Менеджер и Заказчик думают о том, как должно работать правильно

• Тестер думает о том, чтоможет работать неправильно

• Тестер думает заранее

• Как следствие Программа (почти) всегда работает как надо

Page 108: Slid 3.0 Scrum для практиков на Vsts2008

По шагам

Пользователи пишут «хотелки» и тесты

для них

Заказчик выбирает из длинного списка короткий - «сделать

в эту итерацию»

Программисты пишут программу

вместе с Заказчиком

Тестеры проверяют наличие ошибок и

сообщают программистам

Программисты исправляют ошибки

Администраторы устанавливают программу на

сервер

Заказчики удостоверяются, что программа работает

Заказчики пишут новые требования

[Новая итерация]

Page 109: Slid 3.0 Scrum для практиков на Vsts2008

Установка программы

Page 110: Slid 3.0 Scrum для практиков на Vsts2008

Две версии

Page 111: Slid 3.0 Scrum для практиков на Vsts2008

Преимущества

• Всегда есть версия программы, которая работает

• Тестирование любой степени извращенности не ломает рабочую версию программы

Page 112: Slid 3.0 Scrum для практиков на Vsts2008

По шагам

Пользователи пишут «хотелки» и тесты

для них

Заказчик выбирает из длинного списка короткий - «сделать

в эту итерацию»

Программисты пишут программу

вместе с Заказчиком

Тестеры проверяют наличие ошибок и

сообщают программистам

Программисты исправляют ошибки

Администраторы устанавливают программу на

сервер

Заказчики удостоверяются, что программа работает

Заказчики пишут новые требования

[Новая итерация]

Page 113: Slid 3.0 Scrum для практиков на Vsts2008

Демо

16.01.2008 V 2.021 113

Page 114: Slid 3.0 Scrum для практиков на Vsts2008

По шагам

Пользователи пишут «хотелки» и тесты

для них

Заказчик выбирает из длинного списка короткий - «сделать

в эту итерацию»

Программисты пишут программу

вместе с Заказчиком

Тестеры проверяют наличие ошибок и

сообщают программистам

Программисты исправляют ошибки

Администраторы устанавливают программу на

сервер

Заказчики удостоверяются, что программа работает

Заказчики пишут новые требования

[Новая итерация]

Page 115: Slid 3.0 Scrum для практиков на Vsts2008

Ретроспектива & Бэклог препятствий

16.01.2008 V 2.021 115

Page 116: Slid 3.0 Scrum для практиков на Vsts2008

Анализ причин и следствий

16.01.2008 V 2.021 116

Page 117: Slid 3.0 Scrum для практиков на Vsts2008

Ретроспектива

16.01.2008 V 2.021 117

Page 118: Slid 3.0 Scrum для практиков на Vsts2008

По шагам

Пользователи пишут «хотелки» и тесты

для них

Заказчик выбирает из длинного списка короткий - «сделать

в эту итерацию»

Программисты пишут программу

вместе с Заказчиком

Тестеры проверяют наличие ошибок и

сообщают программистам

Программисты исправляют ошибки

Администраторы устанавливают программу на

сервер

Заказчики удостоверяются, что программа работает

Заказчики пишут новые требования

[Новая итерация]

Page 119: Slid 3.0 Scrum для практиков на Vsts2008

Преимущества

• Нет вероятности «передалать» работающую программу в неработающую

• Работающая программа будет установлена на сервер и будет работать (и приносить деньги)

• В это время будут делаться переделки, новые «хотелки» и т.д.

Page 120: Slid 3.0 Scrum для практиков на Vsts2008

Итого

• Спринт устроен очень просто

16.01.2008 V 2.021 120

Пользователи пишут «хотелки» и тесты

для них

Заказчик выбирает из длинного списка короткий - «сделать

в эту итерацию»

Программисты пишут программу

вместе с Заказчиком

Тестеры проверяют наличие ошибок и

сообщают программистам

Программисты исправляют ошибки

Администраторы устанавливают программу на

сервер

Заказчики удостоверяются, что программа работает

Заказчики пишут новые требования

[Новая итерация]

Page 121: Slid 3.0 Scrum для практиков на Vsts2008

Перерыв – 20 минут

29.10.2007 V 2.021 121

Page 122: Slid 3.0 Scrum для практиков на Vsts2008

И что дальше?Соображения о внедрении

29.10.2007 V 2.021 122

Page 123: Slid 3.0 Scrum для практиков на Vsts2008

Из личного опыта

29.10.2007 V 2.021 123

Page 124: Slid 3.0 Scrum для практиков на Vsts2008

Внедряйте все практики

16.01.2008 V 2.021 124

«Типа

спецификация»

Возможно,

«релиз»

Это не Agile!

Page 125: Slid 3.0 Scrum для практиков на Vsts2008

Причина неудач внедрений

16.01.2008 V 2.021 125

Цели

бизнеса

Цели

внедрения

Adoption through execution: Project-level mentoring to improve software capability

Kurt Bittner, Communities of Practice Architect, IBM

Saif Islam, Rational Services Manager, IBM

2006 2007

Page 126: Slid 3.0 Scrum для практиков на Vsts2008

Вот это - Scrum

16.01.2008 V 2.021 126

Page 127: Slid 3.0 Scrum для практиков на Vsts2008

Не начинайте с инструментов!

• Выберите команду, которая горит желанием делать Agile

• Соберите всю команду вместе

• Поместите Заказчика рядом

• Внедряйте одну практику за раз

• Внедряйте все практики

16.01.2008 V 2.021 127

Page 128: Slid 3.0 Scrum для практиков на Vsts2008

Типичная ситуация

Новая практика

Непонимание

ЗлостьОсвоение

Удовольствие

16.01.2008 V 2.021 128

Page 129: Slid 3.0 Scrum для практиков на Vsts2008

Причины недовольства

• Требования без объяснений

• Предыдущий опыт

• Отсутствие мотивации

• Страх изменения

• Страх неудачи

• Синдром «старой собаки»

• Физическое\умственное состояние

16.01.2008 V 2.021 129

Page 130: Slid 3.0 Scrum для практиков на Vsts2008

Итого

• Помните, зачем делается проект – деньги

• Помните, что требуется личная заинтересованность

• В том числе Заказчика

• У каждого фрэймворка – свой обязательныйсет практик

• Иначе это не Agile

• Простота достигается за счет коммуникаций

• Инструменты – в самом конце

16.01.2008 V 2.021 130

Page 131: Slid 3.0 Scrum для практиков на Vsts2008

Рекомендую к прочтению

• Agile Project Management with SCRUM

• (Ken Schwaber)

16.01.2008 V 2.021 131

Page 132: Slid 3.0 Scrum для практиков на Vsts2008

Рекомендую к прочтению

• Better Software Development

• for Agile Teams

• Will Stott

• James Newkirk

16.01.2008 V 2.021 132

Page 133: Slid 3.0 Scrum для практиков на Vsts2008

29.10.2007 V 2.021 133

Audaces fortuna juvat!

Page 134: Slid 3.0 Scrum для практиков на Vsts2008

Рефлексия• Зачем я сюда пришел (пришла)?

– Есть ощущение удовлетворения этой потребности?

• Что я хочу узнать?

– Получили нужную информацию и источники?

29.10.2007 V 2.021 134

Page 135: Slid 3.0 Scrum для практиков на Vsts2008

Сессия вопросов и ответов

16.01.2008 V 2.021 135