Организация работы
распределенной команды
разработчиков программного
обеспечения
Сергей Смирнов
Altair Engineering Inc.
Director of Software Development
Кто мы и чем мы занимаемся?
Управление Высокопроизводительными Вычислениями (HPC)
Непосредственный
запуск задач
Workload manager
Поток задач
Workload Manager Policy Manager
Job Submission & Control Visualization Analytics
Строительство команды
Этап 1:
Бизнес стратегия была ориентирована на активный рост каждого компонента пакета программ с целью
максимально быстрого удовлетворения требований пользователей.
Для строительства команды мы воспользоались популярной моделью McKinsey 7S
McKinsey 7S Model
Hard Elements
Strategy
Structure
Systems
Soft Elements
Shared Values
Skills
Style
Staff
Взаимодействие элементов модели McKinsey 7S
Бизнес стратегия наибольшее влияние оказала на:
- Структуру команды
- Системы: ИТ инфраструктуру и рабочие процессы
- Стиль работы
Director
Job Submission & Control
Visualization
Workload Manager
Policy Manager
QA
SPM
Analytics
Documentation
Структура команды - 1
Стиль Работы
- Быстрое и независимое принятие решений каждой командой
- Координация и интеграция изменений как дополнительный этап
- Координация интерфейсов как дополнительный этап
- Формируются параллельные островки экспертизы по идентичным аспектам, но обмен знаниями часто не
происходит
S/W-1 Development QA
ReleaseQA
. . .
Integration
Development QA
Development QA
S/W-2
S/W-N
Engineering Model
Строительство команды
Этап 2:
Бизнес стратегия сфокусирована на удовлетворене требований более широкой клиентуры. Повысились
требования к стабильности продукта, к более гомогенному прораммному интерфейсу интерфейсу,
критически важным стала практичность (usability) и тщательно проработанный опыт взаимодействия
пользователя (User Experience). Изменение стратегии наиболее сильно повлияло на:
Структуру
-- команды
-- продукта
Систему работы: ИТ инфраструктуру и рабочие процессы
– тестирование всего продукта целиком на одной системе
– процессы разработки и тестирования всего пакета программ а не отдельных компонентов.
Стиль работы: тщательное планирование пакета программ и опыта работы пользователя
Знания: выделенная команда опыта работы пользователя (UX)
Director
QA
UX
GUI
Services
Framework
S/W-1
S/W-2
S/W-N
. . .
Documentation
Структура команды - 2
UX GU ReleaseQAServices
S/W-1
S/W-2
S/W-N
. . .
Engineering Model
распределенная команда
• Скорость: Разработка ПО продолжается круглые сутки, каждый день, по очереди, в нескольких временных
зонах
• Покрытие: Поддержка пользователей по всему миру круглые сутки
• Региональные особенности: технические, культурные, юридические особенности ведут к необходимости
локальных команд в разных странах.
• Распределенный талант: талантливые специалисты редко встречаются и находятся в разных странах мира
• Стоимость проведения работ в разных странах
Анализ:
- Изменение первоначального способа работы в более интегрированный заметно способствовало
созданию более слаженного пользовательского интерфейса и хорошо согласованной
функциональности.
- Рекомендации по организации работы полученные из модели McKinsey 7S для 1 и 2 этапов
практически совпадают с рекоммендациями которые были получены с помющью других популярных
моделе, например модели Burke-Litwin
- Без структурного подхода базирующегося на модели легко упустить планирование одного или
нескольких из ключевых аспектов. В то же время, без подхода базирующегося на модели,
необходимые изменеия в способе работы кажутся слишком радикальными и встречают недостаточную
поддержку.
- Реструктурирование дает возможность лучше позиционировать уже имеющихся членов команды
Release Planning: Roadmap
Обсуждается с клиентами в каждом регионе
Обсуждаются и корректируются планы группы инфраструктуры и группы контроля качества
Обсуждается с командами разработчиков в каждом регионе
Общая картина дает разработчикам контекст для работы над конкретными проектами
20162015 2017 2018
v.10 v.10.1 v.11 v.11.1 v.12 v.12.1 v.13
F1
F3F2
F5
F6
F4
F7 . . .
Release Planning: 1-N List
Релизы “time-based" и “feature-based"
"Обязательный Список" и "Желательный Список"
"Обязательный Список" обсуждается с важнейшими клиентами в каждом регионе
Оценка ROI
"менталитет разработчика" vs. "менталитет пользователя"
1. Feature"X"
2. Feature "Y"
3. Feature "W"
4. Feature "Z"
5. Feature "B"
. . .
N. Feature "D"
Feature Development
1. Use Cases & Requirements
2. Архитектура
3. Функциональный дизайн
3. Детальный дизайн
4. Тест планы и автоматизация тестов
5. implementation
6. Матрица Аудита
Use Cases &
Requirements
Тест планы и
автоматизация
Архитектура Функ. Дизайн Дет. Дизайн Implementation
комментарии
sign-off
комментарии комментарии комментарии Code Review
Project Audit Sheet
Criteria Task Status Remarks
Use Case and Requirements (UCR) document signed-off Not Started
External design document (EDD) signed off Not Started
QA test scenarios developed and signed off Not Started
Internal design document (IDD) signed off Not Started
Coding is complete and checked into dev branch Not Started
Traceability matrix and reverse matrix developed along with test scenarios Not Started
QA test cases out for review (test case sign-off not necessary at this point) Not Started
Developer checkin test cases are signed off by QA Not Started
Code has been reviewed and signed off for checkin Not Started
Code is synced with mainline and reviewed again Not Started
Developer checkin test cases executed on Windows 7 or Server 2008r2 platform Not Started
Developer checkin test cases executed on at least one Unix platform Not Started
Developer checkin test cases executed on at least one Linux platform Not Started
Developer addresses any Critical or High priority bugs that arise from above testing Not Started
Developer reports all developer checkin test failures for review Not Started
Developer branch placed on nightly build list without additional errors Not Started
QA test cases reviewed and signed off Not Started
Code checked in to mainline Not Started
Mainline passes nightly build process Not Started
QA test added in TMS (after sign-off) Not Started
QA test executed on at least one Linux platform Not Started
QA test executed on at least one Unix platform Not Started
QA test executed on Windows 7 or Server 2008r2 platform Not Started
PROJECT COMPLETE Not Started
Feature Development
Анализ:
- Технические требования:
– сбор и обсуждение тех. требований должна осуществляется командой из того же региона / страны
– технические требования, реальные тех. требования, и что действительно требуется заказчикам
– недостающие технические требования
– избыточные технические требования, часто неосознанные. Проблемы которые они вызывают
- Тенденция некоторых программистов недооценивать важность архитектуры и дизайна и стремление
поскорее заняться кодированием. Первоначальная реализация всего 15% расходов в жизненном цикле
ПО. Важность sign-off на дизайн документах
- Тенденция программистов недооценивать “TDD", важность тест-планов и регулярного тестирования.
Авто-тесты, анализаторы исполняемого кода, статические анализаторы кода.
- Инспекции кода (code review), правила их проведения
- Тренировка разработчиков для лучшего понимания менталитета пользователя:
– dogfooding
– участие в установке и настройке ПО для заказчика
– внутренняя конференция разработчиков и настройщиков ПО
- Недооценка времени и нарушение сроков. “Agile” технологии разработки, transparency.
Bug Fixing
Распределенная команда ведет учет дефектов в общей системе отслеживания дефектов
Потенциальные проблемы:
- Устранение дефекта вызывает проявление уже существующих дефектов
- Исправление дефекта приводит к возникновению новых дефектов
- Задержка работы над дефектом высокого приоритета из-за работы над исправлением дефектов для
партнерской команды по их просьбе.
- Создание сервисного билета для мельчайших деталей. Перерасход времени менеджмента дефектов и
задержка технической работы.
Source Control and Branching Strategy
Комментарии:
- Стратегия ветвления определена во всех деталях в документе которому следуют все команды
– Когда, Кто и Как создает ветви исходного кода для каждой отдельной функциональности
– Когда, Кто и Как создает ветви для каждого релиза
– порядок и требования к code merge
Процесс сертификации релиз-кандидата
Краткое Описание процесса
Actions Descriptions Outcome
Nightly Build This action will initiate the nightly build on the
mainline/integration branch.
Packages are available in the
nightly build area.
Sanity Test Test the packages from the build area for core
functionality
Promoting the packages to the IP
Area
Promote to IP The Engineering team representative copies the
packages to the IP area after the sanity tests are
successful
Integration Test Integration tests should test the packages for
functionality that other dependent products rely on
Continue with the Next Action
which is Complete QA Testing
Complete QA Tests QA continues testing the packages for RC
qualification
Promote to RC The QA Team representative will promote/copy
the packages to the RC area after QA deems that
the packages are RC qualified.
promoting the packages to the
RC Area
Комментарии:
Важность процесса:
- документ с описанием процесса, роли, и необходимые действия опубликован на Wiki где к нему
имеют доступ все команды
- перед началом каждого релиз цикла проводится обзор существующего процесса и проводятся
необходимые модификации
- тренинг всех команд с тем чтобы все ключевые лица знали кто и что именно должен делать на
каждом шаге. Дебаты "что делать дальше" как правило признак недрстаточного планирования
- для кажждой роли назначаются главный испольнитель и его последовательные заместители
Важность инновации и неструктурированного творчества:
- В течение 10% рабочего времени поощряется работа над собственными проектами не имеющими
отношения к релизу
- Идеи по созданию новых продуктов и новых функций регистрирутся разработчиками на специальном
портале
- Выдаются призы наиболее активным генераторам идей
- тесты как часть процесса разработки (TDD)
- ежедневная автоматическая сборка и полный авто-тест функциональности
- Performance Tests
- Scalability Tests
- Longevity Tests: симуляция среды нескольких клиентов с максимально различными условиями
- Security Review & Tests
Тесты функциональности
- Базирующиеся на сценарях (Use cases, traceability matrix)
- Базирующиеся на HBT
Контроль Качества (QA)
Aspect of Defects General Description
Data Incorrect defaults, Transformation,
data loss
Structure Code issues, concurrency issues,
deployment issues
Environment Insufficient resources, incorrect
S/W versions, incorrect
configuration
Business Logic Incorrect conditions, missing
conditions, incorrect sequencing
Usage Difficulty in usage, unable to
recover from mistakes, progress
not shown
HBT методология
Data related Issues
Анализ:
- Оба подхода (Use Case driven & HBT driven) хорошо дополняют друг друга с тем чтобы полнее покрыть
пространство дефектов
- полнота покрытия, равномерность покрытия и ROI
- Scalability test, реалистические бенчмарки и стресс тестирование
- В последние годы резко усилился фокус на безопасность
- покомпонентный обзор безопасности
-- coding practices
-- file system permissions
-- SEC advisories
- тестирование с помощью инструментов проникновения (penetration tools)
- bounty hunts силами разработчиков
Security Review
Спасибо!
Вопросы?

More Related Content

PDF
Олег Бунин (Онтико) | Менеджмент и бизнес-процессы в разработке highload-прое...
PPTX
Mva stf module 4 - rus
PDF
Подготовка стратегии тестирования под высокорискованный, высокодоходный проект
PPTX
Mva stf module 3 - rus
PDF
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
PPTX
Путь тестировщика: Расту или деградирую?
PPTX
Mva stf module 1 - rus
PPTX
Agile testing
Олег Бунин (Онтико) | Менеджмент и бизнес-процессы в разработке highload-прое...
Mva stf module 4 - rus
Подготовка стратегии тестирования под высокорискованный, высокодоходный проект
Mva stf module 3 - rus
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Путь тестировщика: Расту или деградирую?
Mva stf module 1 - rus
Agile testing

What's hot (19)

PPT
Оценка методологии автоматизации - MBT
PDF
Ответственность за качество в разных ИТ-проектах
PPTX
Waterfall revisited: практические метрики тестирования
PPTX
Ответственность за качество в разных ИТ-проектах
PPT
Testing in Scrum - Yuriy Malyi
PPTX
Риски, которые необходимо учесть при разработке сложного проекта (Олег Бунин)
PDF
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014
PPTX
Петр Клименко. DevOps Трансформация для SIEBEL CRM
PDF
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
PPT
Технология QG для обеспечения качества ПО
PPTX
Как развить отдел тестирования от палки-копалки до CI
PPTX
Учебный день конференции HighLoad++ 2013
PDF
Технический долг: взгляд и действия со стороны QA / QC&AT
PPTX
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
PPTX
Mva stf module 2 - rus
PPTX
Continious integration-Automated Testing-Solid-Agile
PPT
Внедрение тестирования в Scrum
PPTX
IT-шная история игрушек или feature-driven тестирование в действии
PPTX
Agile и тестирование
Оценка методологии автоматизации - MBT
Ответственность за качество в разных ИТ-проектах
Waterfall revisited: практические метрики тестирования
Ответственность за качество в разных ИТ-проектах
Testing in Scrum - Yuriy Malyi
Риски, которые необходимо учесть при разработке сложного проекта (Олег Бунин)
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014
Петр Клименко. DevOps Трансформация для SIEBEL CRM
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
Технология QG для обеспечения качества ПО
Как развить отдел тестирования от палки-копалки до CI
Учебный день конференции HighLoad++ 2013
Технический долг: взгляд и действия со стороны QA / QC&AT
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
Mva stf module 2 - rus
Continious integration-Automated Testing-Solid-Agile
Внедрение тестирования в Scrum
IT-шная история игрушек или feature-driven тестирование в действии
Agile и тестирование
Ad

Viewers also liked (17)

PPTX
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...
PPT
Алексей Раменский (Тэглайн) | Обзор рынка российской заказной веб-разработки ...
PPTX
Юрий Буянов | (Одноклассники)Нюансы разработки мобильного мессенджера
PPTX
Ксения Стернина | (Mail.Ru Group)Gamer Experience Research на различных этапа...
PPTX
Вячеслав Черников (Binwell) | Xamarin на практике
PDF
Максим Болотов, Outsource People_2016_Minsk
PDF
Эволюция веб разработки
PDF
демо версия-бизнес-план газеты (с финансовой моделью)
DOCX
Starlords Editing #2
PDF
Continuous Delivery in Enterprise / Agile Kitchen 2016
PDF
Устранение потерь в процессе веб-разработки
PPTX
Kp po razrabotke_biznes-plana а и в
PDF
Cовременные подходы организации процессов разработки
PPTX
управления требованиями к систем (3)
PPTX
Процессы, практики, инструменты разработки программного обеспечения
PDF
Гибкое управление проектами в Visual Studio Team Foundation Server 2012
PPTX
Модель системы Continuous Integration в компании Positive Technologies | Тиму...
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...
Алексей Раменский (Тэглайн) | Обзор рынка российской заказной веб-разработки ...
Юрий Буянов | (Одноклассники)Нюансы разработки мобильного мессенджера
Ксения Стернина | (Mail.Ru Group)Gamer Experience Research на различных этапа...
Вячеслав Черников (Binwell) | Xamarin на практике
Максим Болотов, Outsource People_2016_Minsk
Эволюция веб разработки
демо версия-бизнес-план газеты (с финансовой моделью)
Starlords Editing #2
Continuous Delivery in Enterprise / Agile Kitchen 2016
Устранение потерь в процессе веб-разработки
Kp po razrabotke_biznes-plana а и в
Cовременные подходы организации процессов разработки
управления требованиями к систем (3)
Процессы, практики, инструменты разработки программного обеспечения
Гибкое управление проектами в Visual Studio Team Foundation Server 2012
Модель системы Continuous Integration в компании Positive Technologies | Тиму...
Ad

Similar to Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной команды разработчиков ПО (20)

PPTX
Roles happy dev-2013-tsepkov
PPT
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
PDF
MS ALM 2013 Review
PDF
Презентация Экспресс42 DevOps .pdf
PPT
Пример внедрения Agile в крупном проекте. Как не следует внедрять Agile
PPTX
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
PPT
Sep reqm-lec1
PDF
Agile days `16 summary
PPT
Trpo 9 управление проектами
PDF
Dead zone. Прохоренко
PPTX
agile.pptx
PDF
работа в крупной компании на примере Banki.ru
PDF
Гибкие методологии при создании ИТ продукта.
PPS
лекция 2
PPS
лекция 2
PPT
Training Labs (www.cmcons.com)
PDF
Проектирование программных систем. Занятие 4
PPT
Сергей Ревко
PDF
C# Web. Занятие 14.
Roles happy dev-2013-tsepkov
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
MS ALM 2013 Review
Презентация Экспресс42 DevOps .pdf
Пример внедрения Agile в крупном проекте. Как не следует внедрять Agile
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Sep reqm-lec1
Agile days `16 summary
Trpo 9 управление проектами
Dead zone. Прохоренко
agile.pptx
работа в крупной компании на примере Banki.ru
Гибкие методологии при создании ИТ продукта.
лекция 2
лекция 2
Training Labs (www.cmcons.com)
Проектирование программных систем. Занятие 4
Сергей Ревко
C# Web. Занятие 14.

Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной команды разработчиков ПО

  • 1. Организация работы распределенной команды разработчиков программного обеспечения Сергей Смирнов Altair Engineering Inc. Director of Software Development
  • 2. Кто мы и чем мы занимаемся? Управление Высокопроизводительными Вычислениями (HPC)
  • 4. Workload Manager Policy Manager Job Submission & Control Visualization Analytics
  • 5. Строительство команды Этап 1: Бизнес стратегия была ориентирована на активный рост каждого компонента пакета программ с целью максимально быстрого удовлетворения требований пользователей. Для строительства команды мы воспользоались популярной моделью McKinsey 7S
  • 6. McKinsey 7S Model Hard Elements Strategy Structure Systems Soft Elements Shared Values Skills Style Staff
  • 7. Взаимодействие элементов модели McKinsey 7S Бизнес стратегия наибольшее влияние оказала на: - Структуру команды - Системы: ИТ инфраструктуру и рабочие процессы - Стиль работы
  • 8. Director Job Submission & Control Visualization Workload Manager Policy Manager QA SPM Analytics Documentation Структура команды - 1
  • 9. Стиль Работы - Быстрое и независимое принятие решений каждой командой - Координация и интеграция изменений как дополнительный этап - Координация интерфейсов как дополнительный этап - Формируются параллельные островки экспертизы по идентичным аспектам, но обмен знаниями часто не происходит
  • 10. S/W-1 Development QA ReleaseQA . . . Integration Development QA Development QA S/W-2 S/W-N Engineering Model
  • 11. Строительство команды Этап 2: Бизнес стратегия сфокусирована на удовлетворене требований более широкой клиентуры. Повысились требования к стабильности продукта, к более гомогенному прораммному интерфейсу интерфейсу, критически важным стала практичность (usability) и тщательно проработанный опыт взаимодействия пользователя (User Experience). Изменение стратегии наиболее сильно повлияло на: Структуру -- команды -- продукта Систему работы: ИТ инфраструктуру и рабочие процессы – тестирование всего продукта целиком на одной системе – процессы разработки и тестирования всего пакета программ а не отдельных компонентов. Стиль работы: тщательное планирование пакета программ и опыта работы пользователя Знания: выделенная команда опыта работы пользователя (UX)
  • 14. распределенная команда • Скорость: Разработка ПО продолжается круглые сутки, каждый день, по очереди, в нескольких временных зонах • Покрытие: Поддержка пользователей по всему миру круглые сутки • Региональные особенности: технические, культурные, юридические особенности ведут к необходимости локальных команд в разных странах. • Распределенный талант: талантливые специалисты редко встречаются и находятся в разных странах мира • Стоимость проведения работ в разных странах
  • 15. Анализ: - Изменение первоначального способа работы в более интегрированный заметно способствовало созданию более слаженного пользовательского интерфейса и хорошо согласованной функциональности. - Рекомендации по организации работы полученные из модели McKinsey 7S для 1 и 2 этапов практически совпадают с рекоммендациями которые были получены с помющью других популярных моделе, например модели Burke-Litwin - Без структурного подхода базирующегося на модели легко упустить планирование одного или нескольких из ключевых аспектов. В то же время, без подхода базирующегося на модели, необходимые изменеия в способе работы кажутся слишком радикальными и встречают недостаточную поддержку. - Реструктурирование дает возможность лучше позиционировать уже имеющихся членов команды
  • 16. Release Planning: Roadmap Обсуждается с клиентами в каждом регионе Обсуждаются и корректируются планы группы инфраструктуры и группы контроля качества Обсуждается с командами разработчиков в каждом регионе Общая картина дает разработчикам контекст для работы над конкретными проектами 20162015 2017 2018 v.10 v.10.1 v.11 v.11.1 v.12 v.12.1 v.13 F1 F3F2 F5 F6 F4 F7 . . .
  • 17. Release Planning: 1-N List Релизы “time-based" и “feature-based" "Обязательный Список" и "Желательный Список" "Обязательный Список" обсуждается с важнейшими клиентами в каждом регионе Оценка ROI "менталитет разработчика" vs. "менталитет пользователя" 1. Feature"X" 2. Feature "Y" 3. Feature "W" 4. Feature "Z" 5. Feature "B" . . . N. Feature "D"
  • 18. Feature Development 1. Use Cases & Requirements 2. Архитектура 3. Функциональный дизайн 3. Детальный дизайн 4. Тест планы и автоматизация тестов 5. implementation 6. Матрица Аудита Use Cases & Requirements Тест планы и автоматизация Архитектура Функ. Дизайн Дет. Дизайн Implementation комментарии sign-off комментарии комментарии комментарии Code Review
  • 19. Project Audit Sheet Criteria Task Status Remarks Use Case and Requirements (UCR) document signed-off Not Started External design document (EDD) signed off Not Started QA test scenarios developed and signed off Not Started Internal design document (IDD) signed off Not Started Coding is complete and checked into dev branch Not Started Traceability matrix and reverse matrix developed along with test scenarios Not Started QA test cases out for review (test case sign-off not necessary at this point) Not Started Developer checkin test cases are signed off by QA Not Started Code has been reviewed and signed off for checkin Not Started Code is synced with mainline and reviewed again Not Started Developer checkin test cases executed on Windows 7 or Server 2008r2 platform Not Started Developer checkin test cases executed on at least one Unix platform Not Started Developer checkin test cases executed on at least one Linux platform Not Started Developer addresses any Critical or High priority bugs that arise from above testing Not Started Developer reports all developer checkin test failures for review Not Started Developer branch placed on nightly build list without additional errors Not Started QA test cases reviewed and signed off Not Started Code checked in to mainline Not Started Mainline passes nightly build process Not Started QA test added in TMS (after sign-off) Not Started QA test executed on at least one Linux platform Not Started QA test executed on at least one Unix platform Not Started QA test executed on Windows 7 or Server 2008r2 platform Not Started PROJECT COMPLETE Not Started
  • 20. Feature Development Анализ: - Технические требования: – сбор и обсуждение тех. требований должна осуществляется командой из того же региона / страны – технические требования, реальные тех. требования, и что действительно требуется заказчикам – недостающие технические требования – избыточные технические требования, часто неосознанные. Проблемы которые они вызывают - Тенденция некоторых программистов недооценивать важность архитектуры и дизайна и стремление поскорее заняться кодированием. Первоначальная реализация всего 15% расходов в жизненном цикле ПО. Важность sign-off на дизайн документах - Тенденция программистов недооценивать “TDD", важность тест-планов и регулярного тестирования. Авто-тесты, анализаторы исполняемого кода, статические анализаторы кода. - Инспекции кода (code review), правила их проведения - Тренировка разработчиков для лучшего понимания менталитета пользователя: – dogfooding – участие в установке и настройке ПО для заказчика – внутренняя конференция разработчиков и настройщиков ПО - Недооценка времени и нарушение сроков. “Agile” технологии разработки, transparency.
  • 21. Bug Fixing Распределенная команда ведет учет дефектов в общей системе отслеживания дефектов Потенциальные проблемы: - Устранение дефекта вызывает проявление уже существующих дефектов - Исправление дефекта приводит к возникновению новых дефектов - Задержка работы над дефектом высокого приоритета из-за работы над исправлением дефектов для партнерской команды по их просьбе. - Создание сервисного билета для мельчайших деталей. Перерасход времени менеджмента дефектов и задержка технической работы.
  • 22. Source Control and Branching Strategy
  • 23. Комментарии: - Стратегия ветвления определена во всех деталях в документе которому следуют все команды – Когда, Кто и Как создает ветви исходного кода для каждой отдельной функциональности – Когда, Кто и Как создает ветви для каждого релиза – порядок и требования к code merge
  • 25. Краткое Описание процесса Actions Descriptions Outcome Nightly Build This action will initiate the nightly build on the mainline/integration branch. Packages are available in the nightly build area. Sanity Test Test the packages from the build area for core functionality Promoting the packages to the IP Area Promote to IP The Engineering team representative copies the packages to the IP area after the sanity tests are successful Integration Test Integration tests should test the packages for functionality that other dependent products rely on Continue with the Next Action which is Complete QA Testing Complete QA Tests QA continues testing the packages for RC qualification Promote to RC The QA Team representative will promote/copy the packages to the RC area after QA deems that the packages are RC qualified. promoting the packages to the RC Area
  • 26. Комментарии: Важность процесса: - документ с описанием процесса, роли, и необходимые действия опубликован на Wiki где к нему имеют доступ все команды - перед началом каждого релиз цикла проводится обзор существующего процесса и проводятся необходимые модификации - тренинг всех команд с тем чтобы все ключевые лица знали кто и что именно должен делать на каждом шаге. Дебаты "что делать дальше" как правило признак недрстаточного планирования - для кажждой роли назначаются главный испольнитель и его последовательные заместители Важность инновации и неструктурированного творчества: - В течение 10% рабочего времени поощряется работа над собственными проектами не имеющими отношения к релизу - Идеи по созданию новых продуктов и новых функций регистрирутся разработчиками на специальном портале - Выдаются призы наиболее активным генераторам идей
  • 27. - тесты как часть процесса разработки (TDD) - ежедневная автоматическая сборка и полный авто-тест функциональности - Performance Tests - Scalability Tests - Longevity Tests: симуляция среды нескольких клиентов с максимально различными условиями - Security Review & Tests Тесты функциональности - Базирующиеся на сценарях (Use cases, traceability matrix) - Базирующиеся на HBT Контроль Качества (QA)
  • 28. Aspect of Defects General Description Data Incorrect defaults, Transformation, data loss Structure Code issues, concurrency issues, deployment issues Environment Insufficient resources, incorrect S/W versions, incorrect configuration Business Logic Incorrect conditions, missing conditions, incorrect sequencing Usage Difficulty in usage, unable to recover from mistakes, progress not shown HBT методология
  • 30. Анализ: - Оба подхода (Use Case driven & HBT driven) хорошо дополняют друг друга с тем чтобы полнее покрыть пространство дефектов - полнота покрытия, равномерность покрытия и ROI - Scalability test, реалистические бенчмарки и стресс тестирование
  • 31. - В последние годы резко усилился фокус на безопасность - покомпонентный обзор безопасности -- coding practices -- file system permissions -- SEC advisories - тестирование с помощью инструментов проникновения (penetration tools) - bounty hunts силами разработчиков Security Review