SlideShare a Scribd company logo

Подходы к спецификации изменений

SQALab
SQALab
SQALabSQALab

Доклад Станислава Рождественского на конференции Analyst Days-5, 22-23 апреля 2016 г., Санкт-Петербург www.analystdays.com

Подходы к спецификации изменений

1 of 33
Download to read offline
ПОДХОДЫ К
СПЕЦИФИКАЦИИ
ИЗМЕНЕНИЙ
Делаем осознанный выбор
22-Apr-16 © Станислав Рождественский 2016 Санкт-Петербург 1
В чем проблема со спецификацией
изменений?
■ Заказчик: Нам нужно добавить поле
на этот экран
■ БА: Хорошо, я посмотрю
(…)
■ БА: У вас есть документация на это?
■ ПМ: Да.
■ БА: Она актуальна?
■ ПМ: Процентов на 80…
■ БА: А что конкретно не актуально?
■ ПМ: Надо смотреть, там были
изменения… мы не обновляли ее
полгода.
22-Apr-16 © Станислав Рождественский 2016 Санкт-Петербург 2
Содержание
■ Общие понятия
■ Подходы к спецификации изменений
– Дельта
– Целевое состояние
– Параллельный подход
– «Тощая» Дельта
– «Тощее» Целевое состояние
– Комбинированные подход
■ Заключение
■ Ваши вопросы
22-Apr-16 3© Станислав Рождественский 2016 Санкт-Петербург
Изменение – переход объекта из одного
состояния в другое с течением времени
22-Apr-16 4
Текущее
состояние
Целевое
состояние
Дельта
© Станислав Рождественский 2016 Санкт-Петербург
Карта изменений приложения может
быть сложной
22-Apr-16 5
Разработка: v1.0 v2.0 v3.0
Тестирование: v1.1 v2.1 v3.1
Производство: v1.2 v2.2 v3.2
Время
© Станислав Рождественский 2016 Санкт-Петербург
Содержание
■ Общие понятия
■ Подходы к спецификации изменений
– Дельта
– Целевое состояние
– Параллельный подход
– «Тощая» Дельта
– «Тощее» Целевое состояние
– Комбинированные подход
■ Заключение
■ Ваши вопросы
22-Apr-16 6© Станислав Рождественский 2016 Санкт-Петербург

Recommended

Use cases на практике
Use cases на практикеUse cases на практике
Use cases на практикеSoftline
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeisQualister
 
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...Mayara Fernandes
 
Selenium with Cucumber
Selenium  with Cucumber Selenium  with Cucumber
Selenium with Cucumber Knoldus Inc.
 
Aula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoAula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoMaria Alice Jovinski
 

More Related Content

What's hot

Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Mindfire Solutions
 
Testes de ponta a ponta
Testes de ponta a pontaTestes de ponta a ponta
Testes de ponta a pontaElias Nogueira
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versãoMarcos Pessoa
 
O que é framework
O que é frameworkO que é framework
O que é frameworkfcdigital
 
Arquitetura e Integração de sistemas
Arquitetura e Integração de sistemasArquitetura e Integração de sistemas
Arquitetura e Integração de sistemasJether Rodrigues
 
Nem tudo é Pepino: Cucumber x Robot Framework
Nem tudo é Pepino: Cucumber x Robot FrameworkNem tudo é Pepino: Cucumber x Robot Framework
Nem tudo é Pepino: Cucumber x Robot FrameworkRodrigo Matola
 
Como integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu timeComo integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu timeElias Nogueira
 

What's hot (20)

Fundamentos da Engenharia de Software
Fundamentos da Engenharia de SoftwareFundamentos da Engenharia de Software
Fundamentos da Engenharia de Software
 
Hybrid framework
Hybrid frameworkHybrid framework
Hybrid framework
 
Teste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e AplicandoTeste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e Aplicando
 
Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)
 
User stories and use cases - Клаудия Заика
User stories and use cases - Клаудия ЗаикаUser stories and use cases - Клаудия Заика
User stories and use cases - Клаудия Заика
 
Introdução a Framework Flask
Introdução a Framework FlaskIntrodução a Framework Flask
Introdução a Framework Flask
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
AOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de UsoAOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de Uso
 
Testes de ponta a ponta
Testes de ponta a pontaTestes de ponta a ponta
Testes de ponta a ponta
 
engenharia-de-requisitos
engenharia-de-requisitosengenharia-de-requisitos
engenharia-de-requisitos
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versão
 
O que é framework
O que é frameworkO que é framework
O que é framework
 
Arquitetura e Integração de sistemas
Arquitetura e Integração de sistemasArquitetura e Integração de sistemas
Arquitetura e Integração de sistemas
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
Nem tudo é Pepino: Cucumber x Robot Framework
Nem tudo é Pepino: Cucumber x Robot FrameworkNem tudo é Pepino: Cucumber x Robot Framework
Nem tudo é Pepino: Cucumber x Robot Framework
 
Caso De Uso
Caso De UsoCaso De Uso
Caso De Uso
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Como integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu timeComo integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu time
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
 

Viewers also liked

Человек со стокгольмским синдромом
Человек со стокгольмским синдромомЧеловек со стокгольмским синдромом
Человек со стокгольмским синдромомSQALab
 
Собеседование на позицию бизнес-аналитика
Собеседование на позицию бизнес-аналитикаСобеседование на позицию бизнес-аналитика
Собеседование на позицию бизнес-аналитикаSQALab
 
UX дизайн в Бизнес Анализе
UX дизайн в Бизнес АнализеUX дизайн в Бизнес Анализе
UX дизайн в Бизнес АнализеSQALab
 
Внедрение системы управления требованиями. Опыт пользователя
Внедрение системы управления требованиями. Опыт пользователяВнедрение системы управления требованиями. Опыт пользователя
Внедрение системы управления требованиями. Опыт пользователяSQALab
 
Постоянные переключения контекста в жизни аналитика
Постоянные переключения контекста в жизни аналитикаПостоянные переключения контекста в жизни аналитика
Постоянные переключения контекста в жизни аналитикаSQALab
 
Одна голова - плохо
Одна голова - плохоОдна голова - плохо
Одна голова - плохоSQALab
 
Прыжок веры. От настоящего к будущему
Прыжок веры. От настоящего к будущемуПрыжок веры. От настоящего к будущему
Прыжок веры. От настоящего к будущемуSQALab
 
Птички и пчелки. Как документировать сложное просто
Птички и пчелки. Как документировать сложное простоПтички и пчелки. Как документировать сложное просто
Птички и пчелки. Как документировать сложное простоSQALab
 
Жаргон как средство повышения эффективности работы над проектом
Жаргон как средство повышения эффективности работы над проектомЖаргон как средство повышения эффективности работы над проектом
Жаргон как средство повышения эффективности работы над проектомSQALab
 
To requirements and beyond...
To requirements and beyond...To requirements and beyond...
To requirements and beyond...SQALab
 
Системный аналитик в Agile команде
Системный аналитик в Agile командеСистемный аналитик в Agile команде
Системный аналитик в Agile командеSQALab
 
Коммуникация при различной структуре мышления - таксономия против фолксономии
Коммуникация при различной структуре мышления - таксономия против фолксономииКоммуникация при различной структуре мышления - таксономия против фолксономии
Коммуникация при различной структуре мышления - таксономия против фолксономииSQALab
 
Моделирование бизнес-процессов: методы и инструменты
Моделирование бизнес-процессов: методы и инструментыМоделирование бизнес-процессов: методы и инструменты
Моделирование бизнес-процессов: методы и инструментыSQALab
 
Аналитик на тёмной стороне
Аналитик на тёмной сторонеАналитик на тёмной стороне
Аналитик на тёмной сторонеSQALab
 
Cбор требований в условиях неопределенности
Cбор требований в условиях неопределенностиCбор требований в условиях неопределенности
Cбор требований в условиях неопределенностиSQALab
 
Бизнес-аналитик в проектах по разработке ПО в обозримой перспективе
Бизнес-аналитик в проектах по разработке ПО в обозримой перспективеБизнес-аналитик в проектах по разработке ПО в обозримой перспективе
Бизнес-аналитик в проектах по разработке ПО в обозримой перспективеSQALab
 
СПб СОА Анна Абрамова "Знакомство с Archimate"
СПб СОА Анна Абрамова "Знакомство с Archimate"СПб СОА Анна Абрамова "Знакомство с Archimate"
СПб СОА Анна Абрамова "Знакомство с Archimate"SPbCoA
 
Gap-анализ требований к внедряемым системам
Gap-анализ требований к внедряемым системамGap-анализ требований к внедряемым системам
Gap-анализ требований к внедряемым системамSPbCoA
 
Региональный мастер-индекс пациентов
Региональный мастер-индекс пациентовРегиональный мастер-индекс пациентов
Региональный мастер-индекс пациентовSQALab
 
Как аналитик может помочь в планировании выпуска версий
Как аналитик может помочь в планировании выпуска версийКак аналитик может помочь в планировании выпуска версий
Как аналитик может помочь в планировании выпуска версийSQALab
 

Viewers also liked (20)

Человек со стокгольмским синдромом
Человек со стокгольмским синдромомЧеловек со стокгольмским синдромом
Человек со стокгольмским синдромом
 
Собеседование на позицию бизнес-аналитика
Собеседование на позицию бизнес-аналитикаСобеседование на позицию бизнес-аналитика
Собеседование на позицию бизнес-аналитика
 
UX дизайн в Бизнес Анализе
UX дизайн в Бизнес АнализеUX дизайн в Бизнес Анализе
UX дизайн в Бизнес Анализе
 
Внедрение системы управления требованиями. Опыт пользователя
Внедрение системы управления требованиями. Опыт пользователяВнедрение системы управления требованиями. Опыт пользователя
Внедрение системы управления требованиями. Опыт пользователя
 
Постоянные переключения контекста в жизни аналитика
Постоянные переключения контекста в жизни аналитикаПостоянные переключения контекста в жизни аналитика
Постоянные переключения контекста в жизни аналитика
 
Одна голова - плохо
Одна голова - плохоОдна голова - плохо
Одна голова - плохо
 
Прыжок веры. От настоящего к будущему
Прыжок веры. От настоящего к будущемуПрыжок веры. От настоящего к будущему
Прыжок веры. От настоящего к будущему
 
Птички и пчелки. Как документировать сложное просто
Птички и пчелки. Как документировать сложное простоПтички и пчелки. Как документировать сложное просто
Птички и пчелки. Как документировать сложное просто
 
Жаргон как средство повышения эффективности работы над проектом
Жаргон как средство повышения эффективности работы над проектомЖаргон как средство повышения эффективности работы над проектом
Жаргон как средство повышения эффективности работы над проектом
 
To requirements and beyond...
To requirements and beyond...To requirements and beyond...
To requirements and beyond...
 
Системный аналитик в Agile команде
Системный аналитик в Agile командеСистемный аналитик в Agile команде
Системный аналитик в Agile команде
 
Коммуникация при различной структуре мышления - таксономия против фолксономии
Коммуникация при различной структуре мышления - таксономия против фолксономииКоммуникация при различной структуре мышления - таксономия против фолксономии
Коммуникация при различной структуре мышления - таксономия против фолксономии
 
Моделирование бизнес-процессов: методы и инструменты
Моделирование бизнес-процессов: методы и инструментыМоделирование бизнес-процессов: методы и инструменты
Моделирование бизнес-процессов: методы и инструменты
 
Аналитик на тёмной стороне
Аналитик на тёмной сторонеАналитик на тёмной стороне
Аналитик на тёмной стороне
 
Cбор требований в условиях неопределенности
Cбор требований в условиях неопределенностиCбор требований в условиях неопределенности
Cбор требований в условиях неопределенности
 
Бизнес-аналитик в проектах по разработке ПО в обозримой перспективе
Бизнес-аналитик в проектах по разработке ПО в обозримой перспективеБизнес-аналитик в проектах по разработке ПО в обозримой перспективе
Бизнес-аналитик в проектах по разработке ПО в обозримой перспективе
 
СПб СОА Анна Абрамова "Знакомство с Archimate"
СПб СОА Анна Абрамова "Знакомство с Archimate"СПб СОА Анна Абрамова "Знакомство с Archimate"
СПб СОА Анна Абрамова "Знакомство с Archimate"
 
Gap-анализ требований к внедряемым системам
Gap-анализ требований к внедряемым системамGap-анализ требований к внедряемым системам
Gap-анализ требований к внедряемым системам
 
Региональный мастер-индекс пациентов
Региональный мастер-индекс пациентовРегиональный мастер-индекс пациентов
Региональный мастер-индекс пациентов
 
Как аналитик может помочь в планировании выпуска версий
Как аналитик может помочь в планировании выпуска версийКак аналитик может помочь в планировании выпуска версий
Как аналитик может помочь в планировании выпуска версий
 

Similar to Подходы к спецификации изменений

Очередность требований: от хаоса к FIFO
Очередность требований: от хаоса к FIFOОчередность требований: от хаоса к FIFO
Очередность требований: от хаоса к FIFOSQALab
 
3 denys gobov - change request specification the knowledge base or the task...
3   denys gobov - change request specification the knowledge base or the task...3   denys gobov - change request specification the knowledge base or the task...
3 denys gobov - change request specification the knowledge base or the task...Ievgenii Katsan
 
Service orientation approaches_of_kanban_method
Service orientation approaches_of_kanban_methodService orientation approaches_of_kanban_method
Service orientation approaches_of_kanban_methodPilipSychou
 
Михаил Корепанов "Инкрементальные обновления на клиенте"
Михаил Корепанов "Инкрементальные обновления на клиенте"Михаил Корепанов "Инкрементальные обновления на клиенте"
Михаил Корепанов "Инкрементальные обновления на клиенте"Yandex
 
Как находить правильные сайты для анализа в любой нише
Как находить правильные сайты для анализа в любой нишеКак находить правильные сайты для анализа в любой нише
Как находить правильные сайты для анализа в любой нишеNaZapad
 
Перезапуск интернет-магазина Как избежать ошибок и снизить издержки?
Перезапуск интернет-магазина Как избежать ошибок и снизить издержки? �Перезапуск интернет-магазина Как избежать ошибок и снизить издержки? �
Перезапуск интернет-магазина Как избежать ошибок и снизить издержки? Интернет-агентство "Инфоспайс"/Infospice
 
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...Yandex
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...Ontico
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхSveta Smirnova
 
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторонБагфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторонBadoo Development
 
Conversion conf 2015-price.ru-petrovsky-similarweb.com-19.02-v1
Conversion conf 2015-price.ru-petrovsky-similarweb.com-19.02-v1Conversion conf 2015-price.ru-petrovsky-similarweb.com-19.02-v1
Conversion conf 2015-price.ru-petrovsky-similarweb.com-19.02-v1Alexey Petrovsky
 
Преображение производства за 7 дней
Преображение производства за 7 днейПреображение производства за 7 дней
Преображение производства за 7 днейИгорь Киселев
 
Agile и госконтракт (2016-01 SPM MEETUP)
Agile и госконтракт (2016-01 SPM MEETUP)Agile и госконтракт (2016-01 SPM MEETUP)
Agile и госконтракт (2016-01 SPM MEETUP)Sergey Smirnov
 
Особенности поисковой оптимизации Медиапроектов Mail.Ru Group
Особенности поисковой оптимизации Медиапроектов Mail.Ru GroupОсобенности поисковой оптимизации Медиапроектов Mail.Ru Group
Особенности поисковой оптимизации Медиапроектов Mail.Ru GroupMediaprojects Mail.Ru Group
 
Владимир Харев, Особенности поисковой оптимизации медиапроектов, Optimization...
Владимир Харев, Особенности поисковой оптимизации медиапроектов, Optimization...Владимир Харев, Особенности поисковой оптимизации медиапроектов, Optimization...
Владимир Харев, Особенности поисковой оптимизации медиапроектов, Optimization...Optimization conference
 
Чем Python плох для стартапа?
Чем Python плох для стартапа?Чем Python плох для стартапа?
Чем Python плох для стартапа?PyNSK
 
Процесс разработки дата-сервисов или CRISP курильщика
Процесс разработки дата-сервисов или CRISP курильщикаПроцесс разработки дата-сервисов или CRISP курильщика
Процесс разработки дата-сервисов или CRISP курильщикаДмитрий Колодезев
 
Максим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджера
Максим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджераМаксим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджера
Максим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджераScrumTrek
 

Similar to Подходы к спецификации изменений (20)

Очередность требований: от хаоса к FIFO
Очередность требований: от хаоса к FIFOОчередность требований: от хаоса к FIFO
Очередность требований: от хаоса к FIFO
 
3 denys gobov - change request specification the knowledge base or the task...
3   denys gobov - change request specification the knowledge base or the task...3   denys gobov - change request specification the knowledge base or the task...
3 denys gobov - change request specification the knowledge base or the task...
 
Service orientation approaches_of_kanban_method
Service orientation approaches_of_kanban_methodService orientation approaches_of_kanban_method
Service orientation approaches_of_kanban_method
 
Лекция 8
Лекция 8Лекция 8
Лекция 8
 
Михаил Корепанов "Инкрементальные обновления на клиенте"
Михаил Корепанов "Инкрементальные обновления на клиенте"Михаил Корепанов "Инкрементальные обновления на клиенте"
Михаил Корепанов "Инкрементальные обновления на клиенте"
 
Как находить правильные сайты для анализа в любой нише
Как находить правильные сайты для анализа в любой нишеКак находить правильные сайты для анализа в любой нише
Как находить правильные сайты для анализа в любой нише
 
Перезапуск интернет-магазина Как избежать ошибок и снизить издержки?
Перезапуск интернет-магазина Как избежать ошибок и снизить издержки? �Перезапуск интернет-магазина Как избежать ошибок и снизить издержки? �
Перезапуск интернет-магазина Как избежать ошибок и снизить издержки?
 
SEO под запад 2018
SEO под запад 2018 SEO под запад 2018
SEO под запад 2018
 
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
 
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторонБагфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
 
Conversion conf 2015-price.ru-petrovsky-similarweb.com-19.02-v1
Conversion conf 2015-price.ru-petrovsky-similarweb.com-19.02-v1Conversion conf 2015-price.ru-petrovsky-similarweb.com-19.02-v1
Conversion conf 2015-price.ru-petrovsky-similarweb.com-19.02-v1
 
Преображение производства за 7 дней
Преображение производства за 7 днейПреображение производства за 7 дней
Преображение производства за 7 дней
 
Agile и госконтракт (2016-01 SPM MEETUP)
Agile и госконтракт (2016-01 SPM MEETUP)Agile и госконтракт (2016-01 SPM MEETUP)
Agile и госконтракт (2016-01 SPM MEETUP)
 
Особенности поисковой оптимизации Медиапроектов Mail.Ru Group
Особенности поисковой оптимизации Медиапроектов Mail.Ru GroupОсобенности поисковой оптимизации Медиапроектов Mail.Ru Group
Особенности поисковой оптимизации Медиапроектов Mail.Ru Group
 
Владимир Харев, Особенности поисковой оптимизации медиапроектов, Optimization...
Владимир Харев, Особенности поисковой оптимизации медиапроектов, Optimization...Владимир Харев, Особенности поисковой оптимизации медиапроектов, Optimization...
Владимир Харев, Особенности поисковой оптимизации медиапроектов, Optimization...
 
Чем Python плох для стартапа?
Чем Python плох для стартапа?Чем Python плох для стартапа?
Чем Python плох для стартапа?
 
Процесс разработки дата-сервисов или CRISP курильщика
Процесс разработки дата-сервисов или CRISP курильщикаПроцесс разработки дата-сервисов или CRISP курильщика
Процесс разработки дата-сервисов или CRISP курильщика
 
Максим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджера
Максим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджераМаксим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджера
Максим Мельников. Как мы меняли ЦИАН. Эволюция продакт-менеджера
 

More from SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Подходы к спецификации изменений

  • 1. ПОДХОДЫ К СПЕЦИФИКАЦИИ ИЗМЕНЕНИЙ Делаем осознанный выбор 22-Apr-16 © Станислав Рождественский 2016 Санкт-Петербург 1
  • 2. В чем проблема со спецификацией изменений? ■ Заказчик: Нам нужно добавить поле на этот экран ■ БА: Хорошо, я посмотрю (…) ■ БА: У вас есть документация на это? ■ ПМ: Да. ■ БА: Она актуальна? ■ ПМ: Процентов на 80… ■ БА: А что конкретно не актуально? ■ ПМ: Надо смотреть, там были изменения… мы не обновляли ее полгода. 22-Apr-16 © Станислав Рождественский 2016 Санкт-Петербург 2
  • 3. Содержание ■ Общие понятия ■ Подходы к спецификации изменений – Дельта – Целевое состояние – Параллельный подход – «Тощая» Дельта – «Тощее» Целевое состояние – Комбинированные подход ■ Заключение ■ Ваши вопросы 22-Apr-16 3© Станислав Рождественский 2016 Санкт-Петербург
  • 4. Изменение – переход объекта из одного состояния в другое с течением времени 22-Apr-16 4 Текущее состояние Целевое состояние Дельта © Станислав Рождественский 2016 Санкт-Петербург
  • 5. Карта изменений приложения может быть сложной 22-Apr-16 5 Разработка: v1.0 v2.0 v3.0 Тестирование: v1.1 v2.1 v3.1 Производство: v1.2 v2.2 v3.2 Время © Станислав Рождественский 2016 Санкт-Петербург
  • 6. Содержание ■ Общие понятия ■ Подходы к спецификации изменений – Дельта – Целевое состояние – Параллельный подход – «Тощая» Дельта – «Тощее» Целевое состояние – Комбинированные подход ■ Заключение ■ Ваши вопросы 22-Apr-16 6© Станислав Рождественский 2016 Санкт-Петербург
  • 7. Спецификация – абстрактное описание реального приложения человеческим языком ■ Объяснить требования разработчикам ■ Согласовать логику приложения с заинтересованными лицами ■ Определить как тестовые сценарии ■ Обеспечить поддержку приложения ■ Основа для планирования проекта 22-Apr-16 7 Спецификация – это лишь одно из средств достижения целей. Можно им пользоваться, а можно и нет © Станислав Рождественский 2016 Санкт-Петербург
  • 8. Содержание ■ Общие понятия ■ Подходы к спецификации изменений – Дельта – Целевое состояние – Параллельный подход – «Тощая» Дельта – «Тощее» Целевое состояние – Комбинированные подход ■ Заключение ■ Ваши вопросы 22-Apr-16 8© Станислав Рождественский 2016 Санкт-Петербург
  • 9. Описываем Дельту: Схема Итерация 1 Добавить поле Нужно всплывающее окно Проверить уникальность логина Итерация 2 Убрать поле Добавить чекбокс Хочу розовое платье Проверить без учета кейса Итерация 3 Сделать кнопкой Теперь модальное окно Проверить минимальную длину Итерация 4 Добавить обратно Нет, голубое И максимальную тоже Итерация 5 Сделать зеленой кнопкой Пусть будет отдельная вкладка Лучше туфли Автоматический доступ 22-Apr-16 9© Станислав Рождественский 2016 Санкт-Петербург
  • 10. Описываем Дельту: Когда и Как КОГДА использовать ■ Основная Цель: загрузить команду ■ Ресурсов БА не хватает КАК использовать ■ Записывать инкрементальные изменения в трекер ■ Изменения планируются на итерации и связываются с задачами разработчиков 22-Apr-16 10© Станислав Рождественский 2016 Санкт-Петербург
  • 11. Описываем Дельту: примеры Пример спецификации Текущее состояние Пользователь не может ввести пароль менее 6 символов Изменение Увеличить минимальную длину пароля до 8 символов Целевое состояние Пользователь не может ввести менее 8 символов Инструменты ■ Трэкер (Jira,TFS,YouTrack и т.п.) ■ Отдельная страница на вики для каждого изменения / пакета, сгруппированные по релизам ■ ДокументWord для каждого изменения / пакета, хранящиеся в папках по релизам в системе контроля версий 22-Apr-16 11© Станислав Рождественский 2016 Санкт-Петербург
  • 12. Описываем Дельту: За и Против для БА Плюсы ■ Не обязательно иметь полное актуальное описание системы ■ Не нужно тратить время на описание смежного функционала (восстановление требований) Минусы ■ Много артефактов (меньшего размера), которыми надо упралять ■ Стандартные форматы требований не подходят (напр. варианты использования) ■ Сложно отслеживать влияние изменений на смежный функционал 22-Apr-16 12 Если у вас нет полного актуального описания системы – придется использовать Дельту © Станислав Рождественский 2016 Санкт-Петербург
  • 13. Описываем Дельту: Плюсы для команды ■ Каждый мой запрос записан ■ Маленькие документы приходят на проверку 22-Apr-16 13 Заказчик ■ Легко управлять набором изменений в каждой итерации ■ Можно отследить, сколько времени затрачено на изменения изначальных требований Руководитель Проекта ■ Можно проверять только то, что изменилось Тестирование ■ Ясно, что делать в этой итерации ■ Документы заморожены на каждый релиз Разработка © Станислав Рождественский 2016 Санкт-Петербург
  • 14. Описываем Дельту : Минусы для команды ■ Как я могу принять правильное решение, если не вижу полного контекста системы? 22-Apr-16 14 Заказчик ■ Какое состояние конечное? Когда закончится поток изменений? Руководитель проекта ■ НепонятенТестовый Сценарий ■ Нужен цикл регрессионного тестирования Тестирование ■ Как мне влезать в чужой код низкого качества, если я не знаю, как он должен работать? Разработка © Станислав Рождественский 2016 Санкт-Петербург
  • 15. Описываем Целевое Состояние: схема Итерация 1 ВИ-1 v1 ВИ-2 v1 ВИ-3 v1 ВИ-4 v1 ВИ-5 v1 Итерация 2 ВИ-1 v2 ВИ-2 v1 ВИ-3 v2 ВИ-4 v1 ВИ-5 v2 Итерация 3 ВИ-1 v2 ВИ-2 v2 ВИ-3 v2 ВИ-4 v1 ВИ-5 v3 Итерация 4 ВИ-1 v3 ВИ-2 v2 ВИ-3 v2 ВИ-4 v1 ВИ-5 v4 Итерация 5 ВИ-1 v4 ВИ-2 v2 ВИ-3 v3 ВИ-4 v1 ВИ-5 v5 22-Apr-16 15© Станислав Рождественский 2016 Санкт-Петербург
  • 16. Описываем Целевое Состояние: Когда и Как КОГДА использвоать ■ Есть полное актуальное описание системы или время его подготовить ■ 80% системы не будет меняться ■ Основные цели: согласовать требования с Заинтересованными Лицами + поддержка приложения КАК использовать ■ Когда приходит изменение, выпускается новая версия описания системы ■ Аккуратно записываем изменения между версиями документа 22-Apr-16 16 • Новые функции всегда записываются в форме Целевого Состояния © Станислав Рождественский 2016 Санкт-Петербург
  • 17. Описываем Целевое Состояние: Примеры Пример Спецификации ВИ-1 v2 Вход в систему Основной поток: 1. Ввести Имя пользователя 2. Ввести Пароль 3. Нажать Enter Альтернативный поток 1: 1. Если пользователь ввел Пароль менее 8 символов, отображается сообщение об ошибке 2. Пользователь изменяет пароль Инструменты ■ ДокументыWord в системе контроля версий (SharePoint, SVN и т.п.) ■ Вики портал ■ Специализированная система управления требвоаниями (напр. Enterprise Architect) 22-Apr-16 17© Станислав Рождественский 2016 Санкт-Петербург
  • 18. Описываем Целевое Состояние : +/- для БА ЗА ■ В результате получаем полное описание системы ■ Легче отслеживать влияние на смежный функционал ■ Легче сделать небольшое изменение к описанному функционалу ПРОТИВ ■ Большие затраты на подготовку полного пакета документации на каждую итерацию ■ Поддержка больших документов ■ Если одно изменение затрагивает различный функционал – нужно переписывать разные части документа ■ Если изменение переносится в следующий релиз – сложно поддерживать актуальность документа 22-Apr-16 18© Станислав Рождественский 2016 Санкт-Петербург
  • 19. Целевое Состояние : Плюсы для команды ■ Я вижу полное описание продукта, который получу 22-Apr-16 19 Заказчик ■ Финальное состояние продукта понятно ■ Легче осуществлять долгосрочное планирование Руководитель проекта ■ Есть основа для тестовых сценариев ■ Регрессионные дефекты выявляются раньше Тестирование ■ Я понимаю, как это код должен работать Разработка © Станислав Рождественский 2016 Санкт-Петербург
  • 20. ■ А что здесь поменялось? ■ Что конкретно нужно делать в этой итерации? ■ Почему вы не можете заморозить требования? Целевое Состояние : Минусы для команды ■ Нужно проверять большие документы ■ Если было много изменений, то непонятно, почему сейчас так работает 22-Apr-16 20 Заказчик ■ Как сопоставить требования с планом по релизам? ■ Сколько времени мы потратили на запросы на изменения к основному функционалу? Руководитель Проекта Тестирование Разработка © Станислав Рождественский 2016 Санкт-Петербург
  • 21. ВИ-1 v1 ВИ-2 v1 ВИ-3 v1 ВИ-4 v1 ВИ-5 v1 ВИ-1 v2 ВИ-2 v1 ВИ-3 v2 ВИ-4 v1 ВИ-5 v2 ВИ-1 v2 ВИ-2 v2 ВИ-3 v2 ВИ-4 v1 ВИ-5 v3 ВИ-1 v3 ВИ-2 v2 ВИ-3 v2 ВИ-4 v1 ВИ-5 v4 ВИ-1 v4 ВИ-2 v2 ВИ-3 v3 ВИ-4 v1 ВИ-5 v5 Параллельный подход: Схема Итерация 1 Добавить поле Нужно всплывающее окно Проверить уникальность пароля Итерация 2 Убрать поле Нарисовать чекобокс Хочу розовое платье Проверить без учета регистра Итерация 3 Сделать кнопкой Теперь модальноеокно Проверить мин. размер Итерация 4 Добавить обратно Нет, голубое Проверить макс. размер Итерация 5 Сделать зеленой кнопкой Пусть будет отдельна страница Лучше новые туфли Автоматический доступ 22-Apr-16 21 Дельты Целевое состояние © Станислав Рождественский 2016 Санкт-Петербург
  • 22. Параллельный подход ЗА ■ Закрывает все цели и потребности ПРОТИВ ■ Нужно больше времени БА для каждого изменения ■ Риск рассинхронизации двух потоков документации 22-Apr-16 22 Один из способов работы с трудностями Параллельного Подхода: держать один из потоков “тощим” © Станислав Рождественский 2016 Санкт-Петербург
  • 23. Параллельны подход: «Тощая» Дельта Трэкер изменений ВИ-1 v2 Вход в систем у Основной поток: 1. Ввести Имя пользователя 2. Ввести Пароль 3. Нажать Enter Альтернативный поток 1: 1. Если пользователь ввел Пароль менее 8 символов, отображается сообщение об ошибке 2. Пользователь изменяет пароль Описание системы 22-Apr-16 23 Текущее состояние ВИ-1 v1 Изменение Изменить минимальную длину Пароля, как описано в ВИ-1 v2 Целевое состояние ВИ-1 v2 © Станислав Рождественский 2016 Санкт-Петербург
  • 24. Параллельный подход: «тощее» Целевое состояние Трэкер изменений ВИ-1 Вход в систему См. требования в: ID-123 – первоначальные требования ID-234 – Изменения в Релизе 1 ID-345 – Изменения в Релизе 2 ID-456 – Изменения в Релизе 3 Карта требований 22-Apr-16 24 Текущее состояние Пользователь не может ввести пароль менее 6 символов Изменение Увеличить минимальную длину пароля до 8 символов Целевое состояние Пользователь не может ввести менее 8 символов © Станислав Рождественский 2016 Санкт-Петербург
  • 25. Комбинированный подход: Схема Текущее состояние ВИ-1 v1 ВИ-2 v1 ВИ-3 v1 ВИ-4 v1 ВИ-5 v1 Итерация 1 Убрать поле Нарисовать чекбокс Нужно розовое платье Проверять без учета регистра Итерация 2 Сделать кнопкой Переделать в модальное окно Проверять минимальный размер Итерация 3 Добавить обратно Нет, голубое Проверять максимальный размер Целевое состояние ВИ-1 v1 ВИ-2 v2 ВИ-3 v2 ВИ-4 v2 ВИ-5 v2 22-Apr-16 25© Станислав Рождественский 2016 Санкт-Петербург
  • 26. Комбинированный подход ЗА ■ Не обязательно иметь полное актуальное описание системы ■ Сохраняется история изменений ■ Легче управлять загрузкой БА: когда в потоке новых требований пауза, можно обновлять описание системы ПРОТИВ ■ Нужно ли поддерживать актуальное описание системы для каждой среды (разработка, тестирование, производство)? каждой версии приложения? ■ Если не запланировать время на описание системы – остается чистая Дельта 22-Apr-16 26© Станислав Рождественский 2016 Санкт-Петербург
  • 27. Комбинированный подход КОГДА использовать ■ Большая часть системы будет меняться ■ Ресурсов БА не хватает ■ Необходимо поддерживать разные версии приложения параллельно КАК использовать ■ Записываем изменения в трэкер и назначаем на релизы ■ Группируем изменения по функциональным модулям, напр. даем ссылки на соответствующий раздел описания системы ■ Периодически «накатываем» изменения на описание системы в порядке их реализации 22-Apr-16 27© Станислав Рождественский 2016 Санкт-Петербург
  • 28. Содержание ■ Общие понятия ■ Подходы к спецификации изменений – Дельта – Целевое состояние – Параллельный подход – «Тощая» Дельта – «Тощее» Целевое состояние – Комбинированные подход ■ Заключение ■ Ваши вопросы 22-Apr-16 28© Станислав Рождественский 2016 Санкт-Петербург
  • 29. Спецификация изменений в Водопаде и Гибких методологиях Целевое состояние Дельта Водопад • Поддержка больших документов на протяжении проекта • Обычно, «тощая» Дельта все равно нужна • Как часть Управления изменениями, записываем все запросы в Трэкер • Готовим описание системы только к крупным релизам, можно аутсорсить техническому писателю Гибкие (SCRUM) • Если История не принята заказчиком и требует изменений – оно возвращается в бэклог • Если нет Дефектов, только изменения – история принимается • Для изменения создается новая история, ссылающаяся на старую 22-Apr-16 29© Станислав Рождественский 2016 Санкт-Петербург
  • 30. Чем больше и сложнее проект – тем труднее поддерживать актуальное Целевое Состояние 22-Apr-16 30 Размер / Сложность / Длительность проекта ДельтаЦелевое © Станислав Рождественский 2016 Санкт-Петербург
  • 31. Можно менять подход на протяжении жизненного цикла проекта 22-Apr-16 31 Время проекта ДельтаЦелевое На этапе первичного сбора требований для нового функционала просто описывать Целевое состояние Чем больше приходит изменений, тем сложнее поддерживать описание системы Поток изменений уменьшается и пора подумать о поддержке системы © Станислав Рождественский 2016 Санкт-Петербург
  • 32. Как изменить подход? Параллельный / Комбиниро- ванный Целевое состояниеДельта 22-Apr-16 32 Обратный инжиниринг требований для конкретного релиза Перестаем обновлять описание системы Приостанавливаем обновление Описания Системы, записываем только изменения Добавляем все изменения в последнюю версию описания системы Сравнение Версий позволяет получить Дельту из Описания системы. Но это не удобно для большого потока изменений © Станислав Рождественский 2016 Санкт-Петербург
  • 33. Содержание ■ Общие понятия ■ Подходы к спецификации изменений – Дельта – Целевое состояние – Параллельный подход – «Тощая» Дельта – «Тощее» Целевое состояние – Комбинированные подход ■ Заключение ■ Ваши вопросы 22-Apr-16 33 Станислав Рождественский Бизнес аналитик, ДатаАрт, Санкт-Петербург Email: stigro@gmail.com Skype: stasroj LinkedIn: https://ru.linkedin.com/in/sirojdestvensky © Станислав Рождественский 2016 Санкт-Петербург