SlideShare a Scribd company logo
1 of 46
Happy Ever Afters With
CI Workflow
hello!
I am Albina Tiupa
I am a PM at FFW
You can find me at:
https://www.facebook.com/albina.tiupa
hello!
I am Alex Schedrov
I am a Team Lead at FFW.
You can find me at:
http://www.facebook.com/schedrov
@sanchiz
420+ people
11 countries
15 years
Formerly Blink Reaction, Propeople, Bysted, Chainbizz & Geekpolis
WE WORK
REMOTELY
Long-long time ago we realized
that using
CI workflow
in our projects
is 90% of success
Do you know why?
We want all releases to go to
production seamlessly and on
time
1.
We want releases to be of a
high quality with minimum
post production bugs
2.
We want easily maintain
multiple independent
environments
3.
We want development team to
be in sync with each other
4.
We want releasing to become
an automated routine or a one-
click action
5.
We want to be sure that
everything is under control!
6.
Don’t you dream
about it all for your
projects??
WE NEED TO CHANGE
OUR PROCESS,
IT’S SH*T!
When this book is your team’s
guidance
When your team doesn't understand
what’s going on.
When your team have no code
review
When you have lack of QA
When your team members do not
follow processes you agreed about
When deployments depend on one
person and manual workarounds
So, don’t you want to get rid of
that finally?
Caution! Addictive content
goes next!
What does CI
workflow mean
from technical
perspective
1.Environments
● Development/QA environment resemble
the production environment
● Isolated features on every build
2. Specifications
● Functional specs for client
● Technical specs for dev team
● Functional/Technical specs developed in
advance
● Protect your team
3. Knowledge exchange through
code review
● Development techniques and approaches
of problem solving
● Quality of the code
● Responsibility for reviewed code
4. Code Driven Development
● Everything in code(configuration, DevOps
scripts, updates and etc.)
● No manual steps during deployment
● Responsibility for own code
5. QA
● QA is done before code is merged to
‘master’
● Steps for review in each task
● Manual and automated tests
Even more, steps for review!!!
6. Automate everything
● Anyone can deploy
● Deploy any time and more frequently
● Team members are forced to follow the
process
Release/QA process
PM Dashboard
Our lives have been divided into
2 parts:
before CI workflow
and
after CI workflow
And guess what?
WE LOVE OUR JOB!
Happy PM has better feeling of completed task or
milestone
Happy PM is more collaborative during
development cycle
Happy PM can respond quickly to problems and
bugreports
Happy Client spends less time bumping into
and reporting bugs
can expect deliverables on few
versions simultaneously
Happy Client
experiences a short cycle time
between idea and usable
software
Happy Client
Happy PM works with a highly disciplined and
productive team
We decided to share the setup
we’re using:
CIBox
http://bit.ly/ffw-cibox
thanks!
Any questions?
You can find us at:
https://www.facebook.com/albina.tiupa
http://www.facebook.com/schedrov

More Related Content

What's hot

2017-08-04 Kubernetes in AfterShip
2017-08-04 Kubernetes in AfterShip2017-08-04 Kubernetes in AfterShip
2017-08-04 Kubernetes in AfterShipAfterShip
 
Agile Seminar at Politecnico di Milano
Agile Seminar at Politecnico di MilanoAgile Seminar at Politecnico di Milano
Agile Seminar at Politecnico di MilanoGiulio Roggero
 
Api Days Berlin - Continuous Updating
Api Days Berlin - Continuous UpdatingApi Days Berlin - Continuous Updating
Api Days Berlin - Continuous UpdatingRobert Reiz
 
Trunk based development for Beginners
Trunk based development for BeginnersTrunk based development for Beginners
Trunk based development for BeginnersNebulaworks
 
An “amuse bouche” a la Agile
An “amuse bouche”  a la AgileAn “amuse bouche”  a la Agile
An “amuse bouche” a la AgileDan Course
 
DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...
DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...
DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...DevOpsDays Riga
 
TDC2016POA | Trilha DevOps - DevOps Anti-Patterns
TDC2016POA | Trilha DevOps - DevOps Anti-PatternsTDC2016POA | Trilha DevOps - DevOps Anti-Patterns
TDC2016POA | Trilha DevOps - DevOps Anti-Patternstdc-globalcode
 
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket PipelinesSalesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket PipelinesAbhinav Gupta
 
The Five Stages of Chef Grief: My First 6 months with Chef, and Getting Aroun...
The Five Stages of Chef Grief: My First 6 months with Chef, and Getting Aroun...The Five Stages of Chef Grief: My First 6 months with Chef, and Getting Aroun...
The Five Stages of Chef Grief: My First 6 months with Chef, and Getting Aroun...DevOpsDays Austin 2014
 
How I built web services in CakePHP
How I built web services in CakePHPHow I built web services in CakePHP
How I built web services in CakePHPDavid Yell
 
PHP Berkshire October 2015
PHP Berkshire October 2015PHP Berkshire October 2015
PHP Berkshire October 2015David Yell
 
How We Use GitHub
How We Use GitHubHow We Use GitHub
How We Use GitHubNYC DevShop
 
Innovative php development
Innovative php developmentInnovative php development
Innovative php developmentTigran Azatyan
 
Continuous delivery journey at LesFurets.com
Continuous delivery journey at LesFurets.comContinuous delivery journey at LesFurets.com
Continuous delivery journey at LesFurets.comRaphaël Brugier
 
Atwix - Ярослав Рогоза
Atwix - Ярослав РогозаAtwix - Ярослав Рогоза
Atwix - Ярослав Рогозаmeet_magento
 
DevOps Anti-Patterns
DevOps Anti-PatternsDevOps Anti-Patterns
DevOps Anti-PatternsFernando Ike
 

What's hot (20)

2017-08-04 Kubernetes in AfterShip
2017-08-04 Kubernetes in AfterShip2017-08-04 Kubernetes in AfterShip
2017-08-04 Kubernetes in AfterShip
 
Agile Seminar at Politecnico di Milano
Agile Seminar at Politecnico di MilanoAgile Seminar at Politecnico di Milano
Agile Seminar at Politecnico di Milano
 
GitOps , done Right
GitOps , done RightGitOps , done Right
GitOps , done Right
 
Api Days Berlin - Continuous Updating
Api Days Berlin - Continuous UpdatingApi Days Berlin - Continuous Updating
Api Days Berlin - Continuous Updating
 
Trunk based development for Beginners
Trunk based development for BeginnersTrunk based development for Beginners
Trunk based development for Beginners
 
An “amuse bouche” a la Agile
An “amuse bouche”  a la AgileAn “amuse bouche”  a la Agile
An “amuse bouche” a la Agile
 
DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...
DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...
DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...
 
TDC2016POA | Trilha DevOps - DevOps Anti-Patterns
TDC2016POA | Trilha DevOps - DevOps Anti-PatternsTDC2016POA | Trilha DevOps - DevOps Anti-Patterns
TDC2016POA | Trilha DevOps - DevOps Anti-Patterns
 
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket PipelinesSalesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
 
The Five Stages of Chef Grief: My First 6 months with Chef, and Getting Aroun...
The Five Stages of Chef Grief: My First 6 months with Chef, and Getting Aroun...The Five Stages of Chef Grief: My First 6 months with Chef, and Getting Aroun...
The Five Stages of Chef Grief: My First 6 months with Chef, and Getting Aroun...
 
DevOops v2 short
DevOops v2 shortDevOops v2 short
DevOops v2 short
 
How I built web services in CakePHP
How I built web services in CakePHPHow I built web services in CakePHP
How I built web services in CakePHP
 
PHP Berkshire October 2015
PHP Berkshire October 2015PHP Berkshire October 2015
PHP Berkshire October 2015
 
Scrum At Firmhouse
Scrum At FirmhouseScrum At Firmhouse
Scrum At Firmhouse
 
How We Use GitHub
How We Use GitHubHow We Use GitHub
How We Use GitHub
 
Innovative php development
Innovative php developmentInnovative php development
Innovative php development
 
Continuous delivery journey at LesFurets.com
Continuous delivery journey at LesFurets.comContinuous delivery journey at LesFurets.com
Continuous delivery journey at LesFurets.com
 
Atwix - Ярослав Рогоза
Atwix - Ярослав РогозаAtwix - Ярослав Рогоза
Atwix - Ярослав Рогоза
 
DevOps Anti-Patterns
DevOps Anti-PatternsDevOps Anti-Patterns
DevOps Anti-Patterns
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
 

Viewers also liked

Тарас Цюпер - Методы кеширования и оптимизация Drupal 7 проектов
Тарас Цюпер - Методы кеширования и оптимизация Drupal 7 проектовТарас Цюпер - Методы кеширования и оптимизация Drupal 7 проектов
Тарас Цюпер - Методы кеширования и оптимизация Drupal 7 проектовLEDC 2016
 
Віталій Бобров — Web components, Polymer and Drupal
Віталій Бобров — Web components, Polymer and DrupalВіталій Бобров — Web components, Polymer and Drupal
Віталій Бобров — Web components, Polymer and DrupalLEDC 2016
 
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsКостянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsLEDC 2016
 
Юлія Снітко — Як подружити дизайнерів і Drupal розробників. Досвід ефективної...
Юлія Снітко — Як подружити дизайнерів і Drupal розробників. Досвід ефективної...Юлія Снітко — Як подружити дизайнерів і Drupal розробників. Досвід ефективної...
Юлія Снітко — Як подружити дизайнерів і Drupal розробників. Досвід ефективної...LEDC 2016
 
Артем Сильчук - Respond in 60ms. Extremal optimization with reinventing a wheel
Артем Сильчук - Respond in 60ms. Extremal optimization with reinventing a wheelАртем Сильчук - Respond in 60ms. Extremal optimization with reinventing a wheel
Артем Сильчук - Respond in 60ms. Extremal optimization with reinventing a wheelLEDC 2016
 
Олександр Щедров — Build your application in seconds and optimize workflow as...
Олександр Щедров — Build your application in seconds and optimize workflow as...Олександр Щедров — Build your application in seconds and optimize workflow as...
Олександр Щедров — Build your application in seconds and optimize workflow as...LEDC 2016
 
Andy Postnikov - Drupal 7 vs Drupal 8: от бутстрапа до рендера
Andy Postnikov - Drupal 7 vs Drupal 8: от бутстрапа до рендераAndy Postnikov - Drupal 7 vs Drupal 8: от бутстрапа до рендера
Andy Postnikov - Drupal 7 vs Drupal 8: от бутстрапа до рендераLEDC 2016
 
Олексій Калініченко — Configuration Management in Drupal8
Олексій Калініченко — Configuration Management in Drupal8Олексій Калініченко — Configuration Management in Drupal8
Олексій Калініченко — Configuration Management in Drupal8LEDC 2016
 
Артем Доценко — Deploy Plus. Better UI and more control for deploy module
Артем Доценко — Deploy Plus. Better UI and more control for deploy moduleАртем Доценко — Deploy Plus. Better UI and more control for deploy module
Артем Доценко — Deploy Plus. Better UI and more control for deploy moduleLEDC 2016
 
Олександр Лінивий — Multisite platform with continuous delivery process for m...
Олександр Лінивий — Multisite platform with continuous delivery process for m...Олександр Лінивий — Multisite platform with continuous delivery process for m...
Олександр Лінивий — Multisite platform with continuous delivery process for m...LEDC 2016
 
Андрій Юн — Воркшоп "Docker use cases for developers"
Андрій Юн — Воркшоп "Docker use cases for developers"Андрій Юн — Воркшоп "Docker use cases for developers"
Андрій Юн — Воркшоп "Docker use cases for developers"LEDC 2016
 
Ігор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerІгор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerLEDC 2016
 
Слава Мережко — Практикум: "Як ростити розробників"
Слава Мережко — Практикум: "Як ростити розробників"Слава Мережко — Практикум: "Як ростити розробників"
Слава Мережко — Практикум: "Як ростити розробників"LEDC 2016
 
Тарас Круц — Open Social: brand new Drupal 8 distro for building social netwo...
Тарас Круц — Open Social: brand new Drupal 8 distro for building social netwo...Тарас Круц — Open Social: brand new Drupal 8 distro for building social netwo...
Тарас Круц — Open Social: brand new Drupal 8 distro for building social netwo...LEDC 2016
 
Анатолій Поляков — Subdomains everywhere
Анатолій Поляков — Subdomains everywhereАнатолій Поляков — Subdomains everywhere
Анатолій Поляков — Subdomains everywhereLEDC 2016
 

Viewers also liked (15)

Тарас Цюпер - Методы кеширования и оптимизация Drupal 7 проектов
Тарас Цюпер - Методы кеширования и оптимизация Drupal 7 проектовТарас Цюпер - Методы кеширования и оптимизация Drupal 7 проектов
Тарас Цюпер - Методы кеширования и оптимизация Drupal 7 проектов
 
Віталій Бобров — Web components, Polymer and Drupal
Віталій Бобров — Web components, Polymer and DrupalВіталій Бобров — Web components, Polymer and Drupal
Віталій Бобров — Web components, Polymer and Drupal
 
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsКостянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
 
Юлія Снітко — Як подружити дизайнерів і Drupal розробників. Досвід ефективної...
Юлія Снітко — Як подружити дизайнерів і Drupal розробників. Досвід ефективної...Юлія Снітко — Як подружити дизайнерів і Drupal розробників. Досвід ефективної...
Юлія Снітко — Як подружити дизайнерів і Drupal розробників. Досвід ефективної...
 
Артем Сильчук - Respond in 60ms. Extremal optimization with reinventing a wheel
Артем Сильчук - Respond in 60ms. Extremal optimization with reinventing a wheelАртем Сильчук - Respond in 60ms. Extremal optimization with reinventing a wheel
Артем Сильчук - Respond in 60ms. Extremal optimization with reinventing a wheel
 
Олександр Щедров — Build your application in seconds and optimize workflow as...
Олександр Щедров — Build your application in seconds and optimize workflow as...Олександр Щедров — Build your application in seconds and optimize workflow as...
Олександр Щедров — Build your application in seconds and optimize workflow as...
 
Andy Postnikov - Drupal 7 vs Drupal 8: от бутстрапа до рендера
Andy Postnikov - Drupal 7 vs Drupal 8: от бутстрапа до рендераAndy Postnikov - Drupal 7 vs Drupal 8: от бутстрапа до рендера
Andy Postnikov - Drupal 7 vs Drupal 8: от бутстрапа до рендера
 
Олексій Калініченко — Configuration Management in Drupal8
Олексій Калініченко — Configuration Management in Drupal8Олексій Калініченко — Configuration Management in Drupal8
Олексій Калініченко — Configuration Management in Drupal8
 
Артем Доценко — Deploy Plus. Better UI and more control for deploy module
Артем Доценко — Deploy Plus. Better UI and more control for deploy moduleАртем Доценко — Deploy Plus. Better UI and more control for deploy module
Артем Доценко — Deploy Plus. Better UI and more control for deploy module
 
Олександр Лінивий — Multisite platform with continuous delivery process for m...
Олександр Лінивий — Multisite platform with continuous delivery process for m...Олександр Лінивий — Multisite platform with continuous delivery process for m...
Олександр Лінивий — Multisite platform with continuous delivery process for m...
 
Андрій Юн — Воркшоп "Docker use cases for developers"
Андрій Юн — Воркшоп "Docker use cases for developers"Андрій Юн — Воркшоп "Docker use cases for developers"
Андрій Юн — Воркшоп "Docker use cases for developers"
 
Ігор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerІгор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developer
 
Слава Мережко — Практикум: "Як ростити розробників"
Слава Мережко — Практикум: "Як ростити розробників"Слава Мережко — Практикум: "Як ростити розробників"
Слава Мережко — Практикум: "Як ростити розробників"
 
Тарас Круц — Open Social: brand new Drupal 8 distro for building social netwo...
Тарас Круц — Open Social: brand new Drupal 8 distro for building social netwo...Тарас Круц — Open Social: brand new Drupal 8 distro for building social netwo...
Тарас Круц — Open Social: brand new Drupal 8 distro for building social netwo...
 
Анатолій Поляков — Subdomains everywhere
Анатолій Поляков — Subdomains everywhereАнатолій Поляков — Subdomains everywhere
Анатолій Поляков — Subdomains everywhere
 

Similar to Олександр Щедров та Альбіна Тюпа — Magic button. Can production releases be smooth and your clients happy?

Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...AgileNetwork
 
DevOps Journey - BCITO Te Pukenga Presentation - Copado additions v2.pdf
DevOps Journey - BCITO Te Pukenga Presentation - Copado additions v2.pdfDevOps Journey - BCITO Te Pukenga Presentation - Copado additions v2.pdf
DevOps Journey - BCITO Te Pukenga Presentation - Copado additions v2.pdfAnna Loughnan Colquhoun
 
It Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair ProgrammingIt Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair ProgrammingAndy Melichar
 
Kickass Agile Development - Agile & Beyond Conference
Kickass Agile Development - Agile & Beyond ConferenceKickass Agile Development - Agile & Beyond Conference
Kickass Agile Development - Agile & Beyond ConferenceDan Chuparkoff
 
London Atlassian User Group - February 2014
London Atlassian User Group - February 2014London Atlassian User Group - February 2014
London Atlassian User Group - February 2014Steve Smith
 
Navvia's DevOps journey
Navvia's DevOps journeyNavvia's DevOps journey
Navvia's DevOps journeyNavvia
 
Ice breaker with dev ops
Ice breaker with dev opsIce breaker with dev ops
Ice breaker with dev opsMukta Aphale
 
Software Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseSoftware Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseXebiaLabs
 
Guided Path to DevOps Career.
Guided Path to DevOps Career.Guided Path to DevOps Career.
Guided Path to DevOps Career.wahabwelcome
 
Introduction the dev ops world
Introduction the dev ops worldIntroduction the dev ops world
Introduction the dev ops worldVishwasN6
 
Agile, DevOps & Test
Agile, DevOps & TestAgile, DevOps & Test
Agile, DevOps & TestQualitest
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are doneMikalai Alimenkou
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are doneAleksey Solntsev
 
Continuously delivering software to big brands (fullscreen edition)
Continuously delivering software to big brands (fullscreen edition)Continuously delivering software to big brands (fullscreen edition)
Continuously delivering software to big brands (fullscreen edition)Paul Boocock
 
JavaLand 2022 - Software architecture in a DevOps world
JavaLand 2022 - Software architecture in a DevOps worldJavaLand 2022 - Software architecture in a DevOps world
JavaLand 2022 - Software architecture in a DevOps worldBert Jan Schrijver
 
Skills Matter DevSecOps eXchange Forum 2022 - Software architecture in a DevO...
Skills Matter DevSecOps eXchange Forum 2022 - Software architecture in a DevO...Skills Matter DevSecOps eXchange Forum 2022 - Software architecture in a DevO...
Skills Matter DevSecOps eXchange Forum 2022 - Software architecture in a DevO...Bert Jan Schrijver
 
The Continuous Delivery process
The Continuous Delivery processThe Continuous Delivery process
The Continuous Delivery processXPeppers
 

Similar to Олександр Щедров та Альбіна Тюпа — Magic button. Can production releases be smooth and your clients happy? (20)

Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
 
DevOps Journey - BCITO Te Pukenga Presentation - Copado additions v2.pdf
DevOps Journey - BCITO Te Pukenga Presentation - Copado additions v2.pdfDevOps Journey - BCITO Te Pukenga Presentation - Copado additions v2.pdf
DevOps Journey - BCITO Te Pukenga Presentation - Copado additions v2.pdf
 
Azure DevOps Complete CI/CD Pipeline
Azure DevOps Complete CI/CD PipelineAzure DevOps Complete CI/CD Pipeline
Azure DevOps Complete CI/CD Pipeline
 
It Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair ProgrammingIt Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair Programming
 
Kickass Agile Development - Agile & Beyond Conference
Kickass Agile Development - Agile & Beyond ConferenceKickass Agile Development - Agile & Beyond Conference
Kickass Agile Development - Agile & Beyond Conference
 
London Atlassian User Group - February 2014
London Atlassian User Group - February 2014London Atlassian User Group - February 2014
London Atlassian User Group - February 2014
 
Navvia's DevOps journey
Navvia's DevOps journeyNavvia's DevOps journey
Navvia's DevOps journey
 
How to write bad code using C#
How to write bad code using C#How to write bad code using C#
How to write bad code using C#
 
Ice breaker with dev ops
Ice breaker with dev opsIce breaker with dev ops
Ice breaker with dev ops
 
Software Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseSoftware Release Orchestration and the Enterprise
Software Release Orchestration and the Enterprise
 
Guided Path to DevOps Career.
Guided Path to DevOps Career.Guided Path to DevOps Career.
Guided Path to DevOps Career.
 
Introduction the dev ops world
Introduction the dev ops worldIntroduction the dev ops world
Introduction the dev ops world
 
Agile, DevOps & Test
Agile, DevOps & TestAgile, DevOps & Test
Agile, DevOps & Test
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are done
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are done
 
Continuously delivering software to big brands (fullscreen edition)
Continuously delivering software to big brands (fullscreen edition)Continuously delivering software to big brands (fullscreen edition)
Continuously delivering software to big brands (fullscreen edition)
 
JavaLand 2022 - Software architecture in a DevOps world
JavaLand 2022 - Software architecture in a DevOps worldJavaLand 2022 - Software architecture in a DevOps world
JavaLand 2022 - Software architecture in a DevOps world
 
Skills Matter DevSecOps eXchange Forum 2022 - Software architecture in a DevO...
Skills Matter DevSecOps eXchange Forum 2022 - Software architecture in a DevO...Skills Matter DevSecOps eXchange Forum 2022 - Software architecture in a DevO...
Skills Matter DevSecOps eXchange Forum 2022 - Software architecture in a DevO...
 
The Continuous Delivery process
The Continuous Delivery processThe Continuous Delivery process
The Continuous Delivery process
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 

More from LEDC 2016

A. Postnikov & P. Mahrinsky — Drupal Community — це ми
A. Postnikov & P. Mahrinsky — Drupal Community — це миA. Postnikov & P. Mahrinsky — Drupal Community — це ми
A. Postnikov & P. Mahrinsky — Drupal Community — це миLEDC 2016
 
Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...
Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...
Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...LEDC 2016
 
Андрій Поданенко — Воркшоп "Розвертання CIBox"
Андрій Поданенко — Воркшоп "Розвертання CIBox"Андрій Поданенко — Воркшоп "Розвертання CIBox"
Андрій Поданенко — Воркшоп "Розвертання CIBox"LEDC 2016
 
Юрій Герасімов — Editorial experience in Drupal8
Юрій Герасімов — Editorial experience in Drupal8Юрій Герасімов — Editorial experience in Drupal8
Юрій Герасімов — Editorial experience in Drupal8LEDC 2016
 
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...LEDC 2016
 
Тарас Кирилюк — Docker basics. How-to for Drupal developers
Тарас Кирилюк — Docker basics. How-to for Drupal developersТарас Кирилюк — Docker basics. How-to for Drupal developers
Тарас Кирилюк — Docker basics. How-to for Drupal developersLEDC 2016
 
Сергій Бондаренко — Тестування Drupal сайтiв з допогою TqExtension
Сергій Бондаренко — Тестування Drupal сайтiв з допогою TqExtensionСергій Бондаренко — Тестування Drupal сайтiв з допогою TqExtension
Сергій Бондаренко — Тестування Drupal сайтiв з допогою TqExtensionLEDC 2016
 
Вадим Абрамчук — Big Drupal: Issues We Met
Вадим Абрамчук — Big Drupal: Issues We MetВадим Абрамчук — Big Drupal: Issues We Met
Вадим Абрамчук — Big Drupal: Issues We MetLEDC 2016
 
Юрій Герасимов — Delayed operations with queues
Юрій Герасимов — Delayed operations with queuesЮрій Герасимов — Delayed operations with queues
Юрій Герасимов — Delayed operations with queuesLEDC 2016
 
Андрій Юн — Drupal contributor HOWTO
Андрій Юн — Drupal contributor HOWTOАндрій Юн — Drupal contributor HOWTO
Андрій Юн — Drupal contributor HOWTOLEDC 2016
 
Генадій Колтун — Перехід від фрілансера в стадію компанії
Генадій Колтун — Перехід від фрілансера в стадію компаніїГенадій Колтун — Перехід від фрілансера в стадію компанії
Генадій Колтун — Перехід від фрілансера в стадію компаніїLEDC 2016
 
Олена Ольховик — Від frontend розробки до Drupal-темізації. Основи і специфіка
Олена Ольховик — Від frontend розробки до Drupal-темізації. Основи і специфікаОлена Ольховик — Від frontend розробки до Drupal-темізації. Основи і специфіка
Олена Ольховик — Від frontend розробки до Drupal-темізації. Основи і специфікаLEDC 2016
 
Тарас Кирилюк та Олена Пустовойт — CI workflow у веб-студії
Тарас Кирилюк та Олена Пустовойт — CI workflow у веб-студіїТарас Кирилюк та Олена Пустовойт — CI workflow у веб-студії
Тарас Кирилюк та Олена Пустовойт — CI workflow у веб-студіїLEDC 2016
 
Тарас Круц - Tips On Getting Everything You Can Out of Drupal Form API
Тарас Круц - Tips On Getting Everything You Can Out of Drupal Form APIТарас Круц - Tips On Getting Everything You Can Out of Drupal Form API
Тарас Круц - Tips On Getting Everything You Can Out of Drupal Form APILEDC 2016
 
Анатолий Поляков - Drupal.ajax framework from a to z
Анатолий Поляков - Drupal.ajax framework from a to zАнатолий Поляков - Drupal.ajax framework from a to z
Анатолий Поляков - Drupal.ajax framework from a to zLEDC 2016
 
Андрей Поданенко - Start using Vagrant now!
Андрей Поданенко - Start using Vagrant now!Андрей Поданенко - Start using Vagrant now!
Андрей Поданенко - Start using Vagrant now!LEDC 2016
 
Александр Даниленко - Panels как философия
Александр Даниленко - Panels как философияАлександр Даниленко - Panels как философия
Александр Даниленко - Panels как философияLEDC 2016
 

More from LEDC 2016 (17)

A. Postnikov & P. Mahrinsky — Drupal Community — це ми
A. Postnikov & P. Mahrinsky — Drupal Community — це миA. Postnikov & P. Mahrinsky — Drupal Community — це ми
A. Postnikov & P. Mahrinsky — Drupal Community — це ми
 
Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...
Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...
Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...
 
Андрій Поданенко — Воркшоп "Розвертання CIBox"
Андрій Поданенко — Воркшоп "Розвертання CIBox"Андрій Поданенко — Воркшоп "Розвертання CIBox"
Андрій Поданенко — Воркшоп "Розвертання CIBox"
 
Юрій Герасімов — Editorial experience in Drupal8
Юрій Герасімов — Editorial experience in Drupal8Юрій Герасімов — Editorial experience in Drupal8
Юрій Герасімов — Editorial experience in Drupal8
 
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
 
Тарас Кирилюк — Docker basics. How-to for Drupal developers
Тарас Кирилюк — Docker basics. How-to for Drupal developersТарас Кирилюк — Docker basics. How-to for Drupal developers
Тарас Кирилюк — Docker basics. How-to for Drupal developers
 
Сергій Бондаренко — Тестування Drupal сайтiв з допогою TqExtension
Сергій Бондаренко — Тестування Drupal сайтiв з допогою TqExtensionСергій Бондаренко — Тестування Drupal сайтiв з допогою TqExtension
Сергій Бондаренко — Тестування Drupal сайтiв з допогою TqExtension
 
Вадим Абрамчук — Big Drupal: Issues We Met
Вадим Абрамчук — Big Drupal: Issues We MetВадим Абрамчук — Big Drupal: Issues We Met
Вадим Абрамчук — Big Drupal: Issues We Met
 
Юрій Герасимов — Delayed operations with queues
Юрій Герасимов — Delayed operations with queuesЮрій Герасимов — Delayed operations with queues
Юрій Герасимов — Delayed operations with queues
 
Андрій Юн — Drupal contributor HOWTO
Андрій Юн — Drupal contributor HOWTOАндрій Юн — Drupal contributor HOWTO
Андрій Юн — Drupal contributor HOWTO
 
Генадій Колтун — Перехід від фрілансера в стадію компанії
Генадій Колтун — Перехід від фрілансера в стадію компаніїГенадій Колтун — Перехід від фрілансера в стадію компанії
Генадій Колтун — Перехід від фрілансера в стадію компанії
 
Олена Ольховик — Від frontend розробки до Drupal-темізації. Основи і специфіка
Олена Ольховик — Від frontend розробки до Drupal-темізації. Основи і специфікаОлена Ольховик — Від frontend розробки до Drupal-темізації. Основи і специфіка
Олена Ольховик — Від frontend розробки до Drupal-темізації. Основи і специфіка
 
Тарас Кирилюк та Олена Пустовойт — CI workflow у веб-студії
Тарас Кирилюк та Олена Пустовойт — CI workflow у веб-студіїТарас Кирилюк та Олена Пустовойт — CI workflow у веб-студії
Тарас Кирилюк та Олена Пустовойт — CI workflow у веб-студії
 
Тарас Круц - Tips On Getting Everything You Can Out of Drupal Form API
Тарас Круц - Tips On Getting Everything You Can Out of Drupal Form APIТарас Круц - Tips On Getting Everything You Can Out of Drupal Form API
Тарас Круц - Tips On Getting Everything You Can Out of Drupal Form API
 
Анатолий Поляков - Drupal.ajax framework from a to z
Анатолий Поляков - Drupal.ajax framework from a to zАнатолий Поляков - Drupal.ajax framework from a to z
Анатолий Поляков - Drupal.ajax framework from a to z
 
Андрей Поданенко - Start using Vagrant now!
Андрей Поданенко - Start using Vagrant now!Андрей Поданенко - Start using Vagrant now!
Андрей Поданенко - Start using Vagrant now!
 
Александр Даниленко - Panels как философия
Александр Даниленко - Panels как философияАлександр Даниленко - Panels как философия
Александр Даниленко - Panels как философия
 

Recently uploaded

Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$kojalkojal131
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girladitipandeya
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024APNIC
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Call Girls in Nagpur High Profile
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024APNIC
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsstephieert
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 

Recently uploaded (20)

Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
 
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girls
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
Call Girls In Noida 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In Noida 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In Noida 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In Noida 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 

Олександр Щедров та Альбіна Тюпа — Magic button. Can production releases be smooth and your clients happy?

Editor's Notes

  1. @Albina and @Alex: Добрый день! Мы очень рады видеть вас на нашем докладе. Сегодня мы хотели бы рассказать историю и поделиться опытом о том, как CI workflow изменил процессы внутри нашей команды и как это влияет на работу менеджеров и технической команды, а также делает наших клиентов довольными результатами и продуктами, которые мы разрабатываем. Мы попытаемся не учить вас “жить”. Мы просто поделимся позитивными результатами своих успешно примененных наработок. Возможно, вы захотите перенять что-то для себя :)
  2. @Albina: Меня зовут Альбина Тюпа. Я работаю проджект менеджером в компании FFW уже больше года. В зону моей ответственности входит обсуждение и уточнение требований клиентов, постановка и раздача тасков команде, распределение ресурсов команды между разными проектами, отслеживание прогресса разработки и сроков реализации проекта в целом, отчетность по проекту, а также передачей выполненной работы клиентам. Клиентами, с которыми моя команда работает в основном, являются non-profit organizations из США.
  3. @Alex: Меня зовут Щедров Александр. Я работаю в компании FFW и выполняю роль Тим Лида. Я учавствую в менеджменте проектов с технической стороны и несу ответствунность за качество нашей продукции. Таким образом я работаю как с командой разработчиком, так и с клиентами.
  4. @Albina: FFW is a digital agency that brings together specialized teams from five previous agencies: Propeople, Blink Reaction, Bysted, ChainBizz, and Geekpolis. We currently have six offices in the US, three offices in Denmark, three offices in Ukraine, and one office each in the UK, Sweden, Germany, Austria, Bulgaria, Moldova, and Vietnam.
  5. @Albina: уже больше года наша команда из 11 человек работает исключительно в удаленном режиме. 1 ПМ 1 QA 8 developers (3 with devops skills and 4 Andrey/ew/ii/iy s :) )
  6. @Albina: Когда начала формироваться наша команда, как полноценная единица производства в cоставе компании, мы задумались над тем, что в наших условиях важно четко наладить все процессы внутри команды. Мы остановились на практиках CI workflow и решили “подрихтовать” их под свои нужды. В последствии мы осознали , что для любой команды это тоже важно!
  7. @Albina: Сейчас хотелось бы посмотреть на выбранный технический подход к организации процессов с точки зрения ПМов и клиентов и объяснить почему это важно, простыми, доступными для нетехнических ПМов и даже клиентов, словами. Далее я хочу представить несколько аксиом, которым вам и вашим клиентам, скорее всего, хотелось бы следовать в процессе разработки продукта.
  8. @Albina: Software only becomes valuable when you ship it to customers! Релизы должны проходить легко и непринужденно, без зависаний в офисе до глубокой ночи. А еще релизы должны случаться достаточно часто. Потому что Shipping exposes mistakes
  9. @Albina: Продукт высокого качества - залог успеха. Счастье клиента может омрачить большое количество багов. Мы этого не хотим, правда же?
  10. @Albina: В наших идеальных мечтах нам хотелось бы чтобы и дев, и стейджинг и продакшн в особенности environments были стабильными и чтобы мы могли в любой момент проверить актуальное состояние нашего приложения или же изолированно зарелизить какую-то из фич на стейджинг для передачи клиенту на тестирование.
  11. @Albina Всем бы хотелось осознавать, что команда работает по установленным правилам и согласно налаженным процессам. Чтобы один был на подхвате у другого, и чтобы все были легко взаимозаменяемыми. А еще чтобы каждый осознавал свой взнос в конечный результат
  12. @Albina: Вопрос к ПМам - Случалось ли у вас такое, что вы в попытке зарелизить новую версию или продукт сидите над головой у девелопера или тимлида с вопросами “ну как там, долго еще?” “как без Пети мы не можем решить эту проблему????” “почему фича не работает на продакшене??” и “мы пойдем сегодня вообще домой?” Я осмелюсь предположить, что удовольствия от такого вы получали мало… Хочется забыть о таком НАВСЕГДА
  13. @Albina: Ну и конечно же, вам и вашему клиенту хочется ощущать, что все находится под четким контролем вашей команды. Это основы основ доверия и залог довольного клиента!
  14. @Albina: выглядеть это может примерно так :)
  15. @Albina: Неужели вы не хотели бы работать с пониманием, что у вас все под контролем? А для этого, вы не поверите, не надо выдумывать велосипед.
  16. @Alex: Я уверен что многие хотят поменять свой процесс разработки пректов и довольно часто мы себе говорим что пора что-то менять. Наш процесс не так уж и хорошо. Мы делаем это очень часто и пытаемся его улучшить. Если к сожалению вы не задаетесь такими вопросами, то есть парочка способов как распознать процесс которой стои ло бы поменять.
  17. @Alex: Когда эта книга являеться вашим руководством и любимой книгой. На украинском и русском языках название конечно звучит намного сильнее, “рас рас и в продакшен”. Другими словами если технический процесс разработки проекта вообще отсутствует и делаеться все как попало. Если в данный момент вы понимаете, что большинство ваших проектах делаются по такой схеме, то вам пора что-то менять или искать новую работу. Могу сказать по опыту, что желание работать по такой схеме пропадает уже через несколько месяцев.
  18. @Alex: Когда работая вы не понимаете что с ним вообще происходит и что вы делаете. Например вы не знаете его будущее, не известно проходят ли деплойменты, насколько долгосрочный он. Как тогда можно писать качественный код и разрабатывать качественный функционал? Так же это может относиться к отдельным фичам над которыми вы работаете. Это значит что команда находится в вакууме от всего менеджмента и существует огромная пропасть между технической командой и командой менеджеров. Это очень сильно влияет на мотивацию команды и на организованность.
  19. @Alex: Когда у вас нету код ревью, у вас нету ощущения что все делаеться правильно. Лично для меня, как для Тим Лида это очень важно. Когда вы видите код только после того как он уже лежит в основном репозитарии - это очень плохо! Код нужно просматривать еще до того как он туда попадет. Таким образом можно пинимизировать огромное кол-во тупейших багов, опечаток и других неприятных моментов.
  20. @Alex: Когда вы тестируете свой продукт только на продакшене или не тестируете его вообще, это очень плохо. Чем больше этапов тестировани - тем лучше. Путь это будет ручное тестирование, функциональное, unit тестирование, чем больше тестов - тем лучше. Но не стоит забывать, что тесты должны быть качественные. Если у вас до сих пор нету тестирование или оно очень слабое, задумайтесь о том, возможно стоит немного поменять ваш процесс.
  21. @Alex: В каждой команде есть свои определенные правила и процессы. Когда кто-то их не выполняет или выполняет не качественно, вероятность успеха такого проекта не очень велика. В таких случаях есть 2 варианта развития событий: С технической стороны создать такой воркфлоу, в котором будет невозможно не следовать правилам. Уволить/Побить вашего коллегу )))) Так дедать конечно же ненужно, это шутка))
  22. @Alex: Одна из самых важных причин, из которой стоит что-то менят - когда вся ваша инфраструктура привязана к одному человеку. Человек ответственный за все. Он не может болеть, он не может брать отпуск, т.к. без него рабочий процесс остановиться на каком либо этапе.
  23. @Alex: В связи с этим возникает вопрос, как много из того что я перечислил возникает у вас в команде? Задумались ли вы, о том что бы избавиться от этого и начать счастливую жизнь и начать радоваться выполняя свою работе? Если в зале возник хотя бы один положительный ответ, то давайте продолжим.
  24. @Alex: Прошу обратить внимание, содержание следующего подхода вызывает привыкание. Если вы начнете использовать Continuous Integration workflow, остановиться будет сложно)
  25. @Alex: Как же выглядит Continuous Integration workflow со стороны технического менеджера либо Тим Лида?
  26. @Alex: Очень важно иметь среду для тестирования или разработки. При этом желательная что бы она польностью реплицировала конфигурацию с вашего продакшен сервера. Это дает возможность избежать ситуаций, когда определенный проблемы появляются только на продакшене и соответствено исправить их можно только на продакшене. Следующий момент, технической команде и для менеджерам очень удобно иметь изолированные билды. Что это значит? Это значит что каждую часть функционала можно протестировать независимо от текущего состояния проекта. Фактически это состояние продакшена плюс изменения разработчика. Это дает огромный плюс и уверенность того, что все будет работать так как ожидается.
  27. @Alex: Спецификации. Многие из называют техническим заданием. Лично для меня это очень важная часть планирования и реализации. В моем понимании спецификация это документ, которые описывает определенную часть функционала. Функциональные спецификации описывают - как оно должно работать со стороны конечного пользователя, чаще всего они согласуются с клиентомю Следующий этап - технические спецификации. В этой спецификации описывается как оно должно быть реализовано с технической стороны. Такие спецификации пишуться для внутреннего использования внутри команды. Наша команда всегда старается делать спецификации заранее, Функциональные спецификации - защищают нашу команду от запросов клиента, технические - моделируют архитектуру продукта и дают техническое представление о реализации для разработчиков.
  28. @Alex: В первую очередь хочется сказать, что код ревью это не о том как правильно писать код, как следовать стандартам, как писать аннотации. Код ревью это шаринг своих знаний и опыта. Это обмен опытом между junior и senior разработчиками. Когда вы пишите код, вы ощущаете что вас ждет ревью, Что завтавляет вас 10 раз подумать, прежде чем писать код. Код ревью очень важная часть процесса которая влияет на качество продукции. По моим ощущениям, качество продукции прямо пропорционально качеству код ревью. При этом очень сложно убедить команду что код ревью важная часть процесса! После ревью ответственность делиться на 2-х человек, на разработчика который писал этот код и на того кто делал ревью. Это очень хорошо, т.к. в данном случае уже 2 человека которые заинтересованы в качественном выполнении задачи.
  29. @Alex: Так выглядит типичный процесс, когда мы просто советуем своим коллегам использовать что-то более лучшее. Никто не навязывает свое мнение, всегда можно обсудить любые вопросы. Таким образом, свотря на код вы можете узнать разные подходы в реализации тех или других типичных задач. Например вы делали ревью кода где кто-то реализовал Ctools popup. В через 3 месяца вам нужно его реализовать, но вы уже приблизительно знаете как это сделать и где это посмотреть.
  30. @Alex: Для того что бы достич хороших результатов нужно использовать Code Driven Development. Это значит что все должно храниться в коду, будь то сонфигурации, скрипты, апдейты и т.д. Так же не должно быть никаких ручных шагод для деплоймента, только через код. Таким образом разработчик будет чувствовать ответственность за свой код и легко будет обнаружить кто не сделал свою работу либо сделал ее неправильно, в результате неудачных апдейтов продакшена.
  31. @Alex: Тестирование. Очень важный момент со стороны технической организации процесса. Все должно быть протестировано перед тем как попадет в масте. Таким образом мы избегаем багов, которые отсеиваются на первом этапе ревью. Каждая задача должна иметь steps for review, которые описывают как проверить задачу. Это дает возможность проверить работу разратчика на этапе ревью, на стейдже, на продакшене. В нашей команде мы стараемся использовать мануальное тестирование и автоматическое. Это дает возможность отловить как можно больше багов, до того как код попадет на продакшен.
  32. @Alex: Даже больше, что бы с нашими клиентами не происходило таких неприятностей при тестировании их продукта, steps for review из задач, трансформируются в steps for review для клиентов.
  33. @Alex: Последняя вещ, которая собственно и определяет наш тип workflow, это автоматизация. Все должно быть автоматизировани, никаких ручных шагов. Таким образом достигается 3 основные цели: Любой участник команды, может сделать деплой. Это менеджеры, тестировщики, junior разработчики. В общем - все. Мы можем деплоить в любое время и с любой периодичностью, за счет того что перед тем как изменения попадают в master ветку, они протестированы как минимум 1 раз и за счет того что все автоматизировано. Когда все автоматизировано, у участников команды просто нету другого выбора как следовать правилам. Это решает огромное кол-во проблем в менеджменте.
  34. @Alex: Так выглядит типичный процесс релиза и тестировки продукта. Разработчик создает Pull Request, при этом протестировав функционал локально. Создается билд и происходит тестирование билде, плюс код ревью. Код мерджиться в мастер и функционал тестируется на дев сервере, релиз на который происходит каждый день. Когда мы готовы к продакшен релизу, мы делаем релиз на стейдж и тестируем релиз там. Когда все готово, делаем релиз на прод и клиент тестирует все там. На каждой стадии мы имеем промежуточное тестирование.
  35. @Alex: Ну и панель управление релизами для наших Project Manager’ov. Им достаточно войти в Jenkins и нажать кнопочку. После чего запустится релиз на определенный environment.
  36. @Albina: Признаюсь честно, не сразу все стало лучше :) Мы много работали над тем, чтобы усовершенствовать наши процессы под нужды лично нашей команды, но когда мы пришли в некотором роде к идеально настроенному процесу, наша жизнь разделилась на до и после CI workflow. И знаете что?
  37. @Albina: никаких стресов никакой работы на выходных никаких постпродакшн цейтнотов Остановлюсь более подробно на некоторых ощутимых результатах сотрудничества с командой и клиентами в условиях активного применения практик CI workflow
  38. @Albina: Во-первых, у меня, как у ПМа есть полное понимание текущего статуса проекта и осознание осязаемого результата работы команды. Я могу делать релиз на стейдж ежедневно и отмечать для себя что можно улучшить, а что надо обсудить с клиентом на предстоящем митинге.
  39. @Albina: возможность делать демо для клиента чаще и атомарно (позадачно) очень важный фактор формирования доверия к команде. Ведь не всегда даже самые точные спецификации трактуются 2-мя человеками одинаково. Показав результат в действии можно осознать недоработки или “тонкие” места и вовремя сформулировать необходимые change requests
  40. @Albina: Представим себе ситуацию, что все-таки один коварный баг таки проскочил на продакшн с релизом. С CI workflow фикс можно зарелизить атомарно и очень быстро. Главное не забыть сделать backport опосля :)
  41. @Albina: Много было сказано про качество доставляемого клиенту продукта и про важность интеграции QA в процессы (как автоматическое, так и ручное тестирование). И на деле мы получаем очень и очень мало баг репортов, продолжительность UAT периода сокращается еще и за счет итерационного процеса передачи результатов работы клиенту (частые релизы)
  42. @Albina: Примером таких ситуаций может быть юс кейс, когда во время работы с большой non-profit organization мы получаем задачи от разных отделов орг-ции и должны, согласовывая действия с остальными частями разработки, иметь возможность продемонстрировать результаты работы или же зарелизить их на продакшн. Все это возможно с CI workflow. Доказано :)
  43. @Albina: Бывают ситуации, когда время на реализацию какой-то фичи очень ограничено. Нам нужно зарелизиться вовремя, чтобы успеть донести до конечного пользователя какой-то функционал, привязанный к ограниченым временным рамкам. С CI workflow мы можем очень быстро доставить результат клиенту. Лишь бы были свободные руки ;) а процесс уже под это “заточен”
  44. @Albina: Я ложусь спать и просыпаюсь утром с поной уверенностью в том, что моя команда работает слаженно, как единый механизм, и что никто не тратит свое драгоценнейшее время на процесы, которыми не стоит заниматься. Продуктивность каждой единицы команды в разы выше! И это перекликается с тем, что уже упоминал ранее Саша с технической точки зрения. А я, как ПМ это чувствую наглядно и на данный момент мы уложились в дедлайны по всем проектам, над которыми работали. Конечно, может не всем так повезло с составом команды, как мне … Но это уже совсем другая история ;)
  45. @Alex: В результате нашей работы над процессом, появился продукт который называется CIBox который мы с удовольствием решили расшарить и сделать open source продуктом. Доступен он на GitHub по следующей ссылке.
  46. @Alex and @Albina: АПЛОДИСМЕНТЫ НАМ!!! WHOAHAHAHA!!! БЫСТЕНЬКО!!! ПОШЕВЕЛИВАЕМСЯ!!!