Post on 08-Feb-2017
Современные подходы организации процессов разработки
Шамрай Александр
oshamray@softserveinc.com
• Управление▪ Распределенные команды▪ Проблемы коммуникации и координации▪ Сложно понять состояние проекта▪ Непредсказуемые и ненадежные процессы
• Реализация▪ Не понятны активности процесса▪ Сплошные дедлайны▪ Задачи по телефону▪ Большое количество ошибок
• И так далее….
На уровне разработки
• Задержка или отмена выпусков
• Увеличение стоимости разработки
• Низкое качество продукта
• Падает доверие заказчиков
На уровне бизнеса
Team ExplorerEverywhere
Р А С Ш И Р Я Е М Ы Е A P I
SharePoint
Project Server
System CenterTEAM
FOUNDATIONSERVER
SQL Server
Office
Веб-доступ
Windows Azure
Управление
версиямиАвтоматизации
построений
Настраиваемые
процессы
Управлениетребованиями
Управление
тестовыми случаями
Управление
проектами
Полная
прослеживаемость
Lab ManagementАналитика
Microsoft ALM
ТРЕБОВАНИЯ
Журналпродукта
ЖурналOPS
МониторингСпринт
РАБОЧЕЕ ПО
Разработка
Эксплуатация
Определение
Определение требований
Раскадровка
Управление журналом продукта
Планирование спринта
Выполнение работ
Тестирование
Получение отзывов
Отслеживание проблем пром. среды
Intellitrace
• Отдельный шаблон для управления ЖЦ приложений на основе гибкой и формальной безопасной методологии
• Инструмент для контроля безопасности кода
• Инструмент для моделирования потов данных, возможных проблем с безопасностью и их проверки
SDL ALM
Сбор требований
Создание плана
Определение заинтересованных лиц
Выявление требований
Оформление требований
Сбор требований
Создание плана
Определение заинтересованных лиц
Выявление требований
Оформление требований
Сбор требований
Создание плана
Определение заинтересованных лиц
Выявление требований
Оформление требований
• Наблюдение за выполнением бизнес процессов
• Интервью с участниками автоматизируемых процессов
• Мозговой штурм с большим количеством заинтересованных одновременно
• …..
Сбор требований
Создание плана
Определение заинтересованных лиц
Выявление требований
Оформление требований
Сбор требований
Создание плана
Определение заинтересованных лиц
Выявление требований
Оформление требований
Сбор требований
Создание плана
Определение заинтересованных лиц
Выявление требований
Оформление требований
Сбор требований
Создание плана
Определение заинтересованных лиц
Выявление требований
Оформление требований
Планирование итераций• Важные для заказчика
требования
• Рискованные работы, которые могут сорвать сроки или провести к потере проекта
• Построение прогнозов для текущей и будущей итерации
Использование компетенций• Использование компетенций и доступности ресурсов позволяет обеспечить
более качественное планирование итерации.
Использование компетенций• Использование компетенций и
доступности ресурсов позволяет обеспечить более качественное планирование итерации.
Интеграция среды разработки с заданиями• Единая среда для отслеживания назначенных на
разработчика задач и текущих изменений.
• Возможность оформления рецензирования кода
• Возможность временно отложить текущие изменения
Отчеты по работе с требованиями
• Отчет отображает ход работ по требованиям с учетом дочерних задач/требований, которые были запланированы на реализацию.
• Стандартная функциональность по отслеживанию работы в итерации scrum и формальном процессе
Планирование тестов• Планирование тестирования
требований
• Планирование регрессионного тестирования
• Планирование сред для развертывания
• Планирование сбора данных диагностики
• Формирование тестов
• Планирование тестировщиков
Тестирование
• Выполнение по ранее запланированным шагам, данным и соответствующими тестировщиками
• Запись данных тестирования, а также формирование снимков виртуальных сред для обеспечения определения точной причины ошибок
• Запись шагов тестирования для упрощения организации процесса регрессионного тестирования
Автоматизация тестирования
• Автоматическая генерирование кода тестирования из ранее пройденных ручных тестов.
• Подключение параметров для тестирования их ранее пройденных ручных тестов
Тестирование свободным поиском
• Обеспечивается новый и более удобный подход тестирования и просмотра результатов тестирования
• Для каждого шага создается скриншот, что в дальнейшем может использоваться при документировании ошибок
• Для дальнейшей проверки исправления ошибок могут быть созданы тесты
• Тестирование веб-интерфейсов через Chrome
• Создание снимков экрана и их описание
• Создание новых или обновление существующих ошибок
Тестирование свободным поиском в веб – TFS 2015 Update 2
Пром. средаРазработка
Управление +Экспертиза
Планирование
Разработка + Тестирование
Выпуск
Требования
Сотрудничество
• Снижение затрат на поддержку инфраструктуры тестирования и разработки
• Снижение времени, необходимого на развертывание, а также времени циклов разработки
• Пред-продуктивное тестирование на основе реплики продуктивной среды
• Не зависит от географического распределения команды
Использование Azure
• Автоматизация развертывания
• Автоматизация циклов утверждения
• Развертывание по единому шаблону
• Полная трассировка
Управление выпусками
DEV QAINT PRODTFS
• Реализован в веб и является частью развертывания TFS
• Упрощено создание релизов и их шагов
• Используется общий механизм для агентов сборки и развертывания
• Интегрирован с Azure, VM Ware, System Center
Управление выпусками – TFS 2015 Update 2
Трассировка рабочих элементов
Разработка Управление проектом Тестирование
Сборка
Набор изменений
Ошибка
Рецензия кода
Тестовый план
Тестовый набор
Тестовый случай
Запрос на изменение
ТребованиеЗадача
Комплексный отчет
• Отчет позволяет построить требований и задач, отслеживать их выполнение, а также результаты тестирования в одном представлении
• Управление составом рабочих элементов, их атрибутами, формами, а также жизненным циклом.
Адаптация рабочих элементов
TFS NET API• Работает на основе подключаемых .Net библиотек
• Хорошо документировано
TFS Plugin• Выполняется подписание на события TFS
• Основывается на TFS Net Api
TFS REST API• Обмен данными на основе SOAP
• Поддерживается с 2013 версии
TFS Alerts• На основе стандартной рассылки TFS, которая позволяет
подписывать SOAP сервисы
TFS Web Hooks• Новая возможность для обмена информацией между системами
на основе веб-сервисов
TFS User Controls • Расширения для пользовательских интерфейсов VS и веб-части
TFS Extensions • Расширения для веб-части TFS
Точки расширения
• Компания не всегда видит проблему целиком.
• Решение локальных задач усугубляет возможность расширения решения в будущем.
• Консультант привносит свой опыт и опыт решения проблем в других компаниях
Нужны ли консультанты?Вернуть_на_регистр
Экспертиза
(Эксперт)
Указание_на_постановку
(Постановщик)Вернуть_на_экспертизу
На_постановку
Очередь_на_
разработку
(Нач. Разработчика)
Версионный_
контроль
(Мен. версий)
Тестирование
(Тестировщик)
Очередь_на_
тестирование
(Нач.Тестировщика)
Указание_на_
тестирование
(Тестировщик)
Испытания
(Мен испыт)
Назначить_
разработчикаВернуть_
рук_разработки
Вернуть_
рук_разработки
На_
дора
ботк
у
Приступить
В_очередь_
тестирования
На
дора
ботк
у
Тестировать
Приемка_АПД
(Мен. АПД)Сдать_в_АПД
(I кат)
Вернуть_
на_тест
Зарегистрировать
На
пост
анов
ку
Вернуть в указ
тестирования
Постановка
(Постановщик)
Вернуть_в_
указ_
постановки
Приступить_к_
постановке
Указание_на_экспертизу
(Нач. Экспертов)
На_экспертизу
Отказать
Вернуть_на_
регистр
На_испытания
Вернуть_на_установку
Мен СПЗ
(Секретарь)
Согласование
(Постановщик)
На_
согласование
В очередь
на_внедрение
На_тест_
установку
Вернуть_
на_экспертизу_
На_
дора
ботк
у
На разработку_
Приостановлена
(Разработчик)
На_согласование
Согласование_
экспертизы
(Эксперт)
Вернуть_рук_разработки
Приостановить
Приступить
Передать
Согласовано
Копировать_заявку
Отказано
(Эксперт)
Приостановить
Вер
нуть
_на_
реги
стр
В_сторонней_
организации
(Куратор)
Внедрение
(Мен внедр)
Выполнено
Выполнено
Передать_в_
стороннюю_орг
Передать_в_
стороннюю_орг
Передать_в_
стороннюю_орг
Передать_в_
стороннюю_орг
Вы
полнено
На_верс_контроль
Копировать_заявку
Постановка_
отложена
(Постановщик)Отложить_
постановку
Приступить_к_
постановке
Согласовано
Назаначить разработчика
Передача_в_
филиалы
(Разработчик)
На_сборку_
Передать_в_
филиалы
Вы
полнено
Запросить_
документы
Перед
ать
Передать
Вернуть_на_доработку
Вернуть_
нач_тест
Контроль
(Эксперт)
Указание_на_разработку
(Разработчик)
На контроль
Запрос
документов
(Исполнитель)
Запросить
документы
На
контроль
Пер
едат
ь
В_АПД (Критич. приоритет)
Отложить_
установку
Очередь_на_
Внедрение
(Нач. Мен.
внедрения)
Указание_на_
внедрение
(Мен внедр)На_внедр
Внедрять
Вернуть_в_АПД
Разработка_отложена(
Нач.Разработчика)
ВернутьОтложить
Указание_на_
установку
(Мен внедр)
Очередь_на
установку
(Нач. Мен.
внедрения)
Тестовая_
установка
(Мен внедр)На_тест
Разработка
(Разработчик)
Вернуть_
рук_тестированияНа тест
Устана
вливать
Вернуть_
нач_ внедр
Перед
ать
Приемка_
тестирования
(Нач.Тестировщика)
Сдать_в_АПД
(II кат)
На_приемку
тестирования
Вернуть_нач_внедрения
На_разработку
Выполнено
(None)
В очередь
установки
Пер
е
дать
Вернуть на
контроль
Запрос_
документов
(Исполнитель)
Вернуть_
в_АПД
Вернуть на
контроль
На_дора
ботку_
На_
_дор
абот
ку_
Копир
оват
ь_за
явку
На_доработку_Вернуть_в_
стороннюю_орг
Вернуть_в_
стороннюю_орг
Вернуть_
на_экспертизу
Вернуть_
на_постановку
На
дора
ботк
у
Внедрение
отложено
(Мен внедр)
Отложить внедрение
Отложить
внедрениеВернуть на
внедрение
Тестирование
отложено
(Тестировщик)Отложить
тестирование
Отложить
тестированиеВернуть на
тестирование
Вернуть_в_указ_внедрения
Планирование тестов на основе MS Project• Обеспечение возможности планирования и отслеживания работ по
тестированию на основе календарных сроков и результатов тестирования из одного инструмента
Планирование тестов на основе MS Project - отчет
• Отображение результата тестирования в разрезе выпускаемых релизов с отображением активностей по тестированию, результатов и количества, а также приоритетности ошибок
Перепланирование работ
• Решение задач связанных с необходимостью «ускорить» реализацию текущих работ
• Автоматизация создания ошибок TFS на основе инцидентов CRM.
• Автоматизация изменения состояний между системами
• Учет потраченного на исправление проблем времени
Интеграция с MS CRM Dynamics
• Использование стандартных возможностей TFS для организации учета потраченного времени.
• Списание времени по задачам вручную.
• Использование клиента для автоматизации учета затраченных часов.
Учет времени - Time Sheeting
• Дополнительная автоматизация на основе событий в TFS
• Интеграция со смежными системами повышает гибкость использования платформы
Автоматизация на основе событий