SlideShare a Scribd company logo
CI is essential but not
sufficient for an effective
application delivery
workflow
Dov Nimratz 2016
E-Mail: dovnmr@gmail.com
Skype: dovnmr
About me
• 30 years in R&D
• 17 years in Israel HighTech
• ECI, Telrad, RAD, Audiocodes companies
• HW, SW, Mechanical design engineer
• Project & Product Manager
• Business developer for EMEA & CIS countries
• 22 publications, US patent
• Counseling & SW development teaching
E-Mail: dovnmr@gmail.com
Skype: dovnmr
What this speech is about?
•Immutable concepts in R&D
•Major CD fails
•Solutions
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Basement - SDLC
The smaller radius creates
smaller amplitude. It closer
to the line.
E-Mail: dovnmr@gmail.com
Skype: dovnmr
SDLC pyramid view
Requirement Analysis
Design
Implementation
Testing
Evaluation
Refactoring
V - Model
Bug fixing
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Monitoring and testing
Infrastructure configuration
CI Server
CD parts
Version control
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Three primary tasks for effective CD
•The trouble with monolithic codebases and approaches
to break it down
•Designing the test suite for optimal feedback
•Setting up a deployment pipeline as the backbone of CD
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Part I - monolithic codebases
E-Mail: dovnmr@gmail.com
Skype: dovnmrMonolithic code immediate symptoms
–
«Adagissimo»
•Sluggish build
•App start-up time
•Slow Auto test
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Harmful impact - Big SDLC circle radius
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Harmful impact
New devs penetration
barrier x 100
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Harmful impact
Less ownership for team members – ”broken build not
mine”
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Harmful impact
Hacks grows
exponential
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Monolithic code, Harmful impact
• Slow build bushes devs not to do it even locally before ci
• Only night CI server build or rarely
• Time cost for tasks are Up to (x10 more) x N devs
• Many manual tests required
• This creates a lot of friction in the pipeline.
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Solution - Decomposing the codebase
Service 1
Service 2
Service 2
REST
DLL 1
DLL 2
DLL 3
BUILD
Compile Flags
The Entropy principle works in the development
After build
E-Mail: dovnmr@gmail.com
Skype: dovnmr
The Scale Cube
Scale by cloning
Scale by split
different
services
Resource duplication
Functional
decomposition
Data
Partitioning
Scale by
splitting similar
services
Z
X
Y
E-Mail: dovnmr@gmail.com
Skype: dovnmr
The Scale Cube Z axis
• Scaled as X but for data subset
• Commonly used:
• Scale DB by primary key
• Treatment customers by SLA
• Scale DB or Application
• Combine result in later stage
• Each server only deals with a subset of the data.
• Improves utilization (memory usage, I/O), reliability, performance
• But only Y-axis scaling solve application complexity grow
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Part II - Designing the test suite
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Testing & Problem areas
Requirement Analysis
Design
Implementation
Testing
Evaluation Technical
Problems
Architectural
or
Business
Problems
Bug
fixing
Refactoring
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Testing pyramid
Automated Unit Test
Code reading
Auto API test
Auto Integration
Auto component
Auto
GUI
Test
Manual
Technical
Problems
Architectural
or
Business
Problems
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Ice-Cream cone Anti-pattern
E-Mail: dovnmr@gmail.com
Skype: dovnmr
AQA daily mail
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Part III - Setting up a deployment pipeline
E-Mail: dovnmr@gmail.com
Skype: dovnmr
General rule for ISO 9001
Design how,
write it,
do it.
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Deployment Pipeline
Commit
Stage
Auto
Acceptance
Testing
Auto
Capacity
Testing
Manual
Testing
Release
Compile
Unit test
Analysis
Build
Functional
Testing
Performanc
e
Load test
Business
logic
Two
button
Deploy
E-Mail: dovnmr@gmail.com
Skype: dovnmr
TBD
TRUNK
Release
MB
Release
MB
E-Mail: dovnmr@gmail.com
Skype: dovnmr
TBD
TRUNK
Release 1.0
MB
Release 2.0
MB
Release 1.1
MB
E-Mail: dovnmr@gmail.com
Skype: dovnmr
TBD
TRUNK
Release 2.0
MB
Release 1.0
M
B
*Release 1.0 M
Release 1.1
MB
M
M
E-Mail: dovnmr@gmail.com
Skype: dovnmrCommon anti-patterns with
branch based workflows
•Long-lived feature branches
•Branch per environment (Dev, QA, Staging and
Production)
•Shadow process flow steps - limiting work in process
(WIP)
E-Mail: dovnmr@gmail.com
Skype: dovnmr
SDLC pipe line
Build Test & release
E-Mail: dovnmr@gmail.com
Skype: dovnmr
Conclusions – Effective CD when:
• Short Dev Life Cycle
• Non monolithic code with Library and Services
• Correct test suite
• Trunk Base Development
• Dev pipeline without shadow steps
Thank you
Contacts:
E-Mail: dovnmr@gmail.com
Skype: dovnmr

More Related Content

Viewers also liked (19)

PPTX
Lviv PMDay 2016 S Максим Бардега: Особливості кар’єрного росту РМа у великій ...
Lviv Startup Club
 
PPTX
Євгеній Антонов: Продуктова розробка як стратегія розвитку ІТ в Україні
Lviv Startup Club
 
PPTX
Lviv PMDay 2016 S Олексій Просніцький: Нові продукти та “нове” в продуктах ві...
Lviv Startup Club
 
PPTX
Lviv PMDay: Сергій Єльченко Agile тенденції 2016
Lviv Startup Club
 
PPTX
Олексій Єгошин: Влада та вплив в команді. Як втратити, придбати і утримати
Lviv Startup Club
 
PDF
Іванна Заєць: Основи ПМа (PM’s Essentials)
Lviv Startup Club
 
PPTX
Lviv PMDay: Савельєв Максим & Сергій Кравченко Побудова та еволюція відділу п...
Lviv Startup Club
 
PPTX
Фелікс Морозовський: Порівняння сучасних методологій PM з класичною теорією м...
Lviv Startup Club
 
PPTX
Богдан Дучак: Хочу бути як айтішніки: юрист із симптомами agile
Lviv Startup Club
 
PPTX
Євген Лабунський: Agile in Enterprise. How do we do it
Lviv Startup Club
 
PPTX
Lviv PMDay 2016 S Юлія Воржева: Ідеальна команда. Так чи ні?
Lviv Startup Club
 
PPTX
Lviv PMDay 2016 S Олег Мізьов: Smart Proposal for your Fixed Price Deal
Lviv Startup Club
 
PPT
Lviv PM Club Тетяна Голубєва - "Ongoing project reformation: no magic, just m...
Lviv Startup Club
 
PPTX
Lviv PMDay: Євгеній Антонов Змінися або помри. Тренди управління розробкою
Lviv Startup Club
 
PPTX
Lviv PMDay 2016 S Андрій Мандріка: "Шлях Product Owner`a. Від факапів до успі...
Lviv Startup Club
 
PPT
Lviv PMDay 2016 S Поліна Самсонова: Людиноцентрична модель в Agile. Важливіст...
Lviv Startup Club
 
PDF
Lviv PMDay: Дмитро Лозовицький Складові поняття “якості”, якість процесу робо...
Lviv Startup Club
 
PPTX
Lviv PMDay 2016 S Ангеліна Сілівра: “You are fired” – right ways to handle ha...
Lviv Startup Club
 
PPT
Lviv PMDay: Юрій Малий Прозорість в роботі команди для керівництва
Lviv Startup Club
 
Lviv PMDay 2016 S Максим Бардега: Особливості кар’єрного росту РМа у великій ...
Lviv Startup Club
 
Євгеній Антонов: Продуктова розробка як стратегія розвитку ІТ в Україні
Lviv Startup Club
 
Lviv PMDay 2016 S Олексій Просніцький: Нові продукти та “нове” в продуктах ві...
Lviv Startup Club
 
Lviv PMDay: Сергій Єльченко Agile тенденції 2016
Lviv Startup Club
 
Олексій Єгошин: Влада та вплив в команді. Як втратити, придбати і утримати
Lviv Startup Club
 
Іванна Заєць: Основи ПМа (PM’s Essentials)
Lviv Startup Club
 
Lviv PMDay: Савельєв Максим & Сергій Кравченко Побудова та еволюція відділу п...
Lviv Startup Club
 
Фелікс Морозовський: Порівняння сучасних методологій PM з класичною теорією м...
Lviv Startup Club
 
Богдан Дучак: Хочу бути як айтішніки: юрист із симптомами agile
Lviv Startup Club
 
Євген Лабунський: Agile in Enterprise. How do we do it
Lviv Startup Club
 
Lviv PMDay 2016 S Юлія Воржева: Ідеальна команда. Так чи ні?
Lviv Startup Club
 
Lviv PMDay 2016 S Олег Мізьов: Smart Proposal for your Fixed Price Deal
Lviv Startup Club
 
Lviv PM Club Тетяна Голубєва - "Ongoing project reformation: no magic, just m...
Lviv Startup Club
 
Lviv PMDay: Євгеній Антонов Змінися або помри. Тренди управління розробкою
Lviv Startup Club
 
Lviv PMDay 2016 S Андрій Мандріка: "Шлях Product Owner`a. Від факапів до успі...
Lviv Startup Club
 
Lviv PMDay 2016 S Поліна Самсонова: Людиноцентрична модель в Agile. Важливіст...
Lviv Startup Club
 
Lviv PMDay: Дмитро Лозовицький Складові поняття “якості”, якість процесу робо...
Lviv Startup Club
 
Lviv PMDay 2016 S Ангеліна Сілівра: “You are fired” – right ways to handle ha...
Lviv Startup Club
 
Lviv PMDay: Юрій Малий Прозорість в роботі команди для керівництва
Lviv Startup Club
 

Similar to Lviv PMDay: Дов Німрац Як зробити процес Continuous Integration ефективним (20)

PDF
Product! - The road to production deployment
Filippo Zanella
 
PPTX
CodeValue Architecture Next 2018 - Executive track dilemmas and solutions in...
Erez PEDRO
 
PDF
Architecting systems for continuous delivery
Marcel de Vries
 
PPTX
Software Engineering Primer
Georg Buske
 
PDF
Let's banish "it works on my machine"
Stephanie Locke
 
PDF
Core Principles Of Ci
OpenSource Connections
 
PPTX
What Front-End Developers (FED's) Need to Know to Be the Modern Day Superhero
Joshua Northcott
 
PDF
Microsoft DevOps Journey
Mayank Srivastava
 
PDF
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma
 
PDF
DevOps in an Embedded World
Sajeewa Dayaratne
 
PPTX
Software Testing in a Distributed Environment
Perforce
 
PPTX
Bulletproof design systems using storybook
Chen Feldman
 
PPTX
Modernize Development with Agile Engineering Practices
CollabNet
 
PDF
Microservices Architecture
Srinivasan Nanduri
 
PPTX
How Custom is your Org? CEER at Dreamforce 2019
Steven Herod
 
PPTX
10 Reasons Your Software Sucks 2014 - Tax Day Edition!
Caleb Jenkins
 
PPTX
Melbourne Microservices Meetup: Agenda for a new Architecture
Saul Caganoff
 
PDF
Modern Engineering Practices - Building Blocks for the New Digital Economy (A...
IT Arena
 
PDF
From dev to ops and beyond - getting it done
Edorian
 
KEY
Testing and DevOps Culture: Lessons Learned
LB Denker
 
Product! - The road to production deployment
Filippo Zanella
 
CodeValue Architecture Next 2018 - Executive track dilemmas and solutions in...
Erez PEDRO
 
Architecting systems for continuous delivery
Marcel de Vries
 
Software Engineering Primer
Georg Buske
 
Let's banish "it works on my machine"
Stephanie Locke
 
Core Principles Of Ci
OpenSource Connections
 
What Front-End Developers (FED's) Need to Know to Be the Modern Day Superhero
Joshua Northcott
 
Microsoft DevOps Journey
Mayank Srivastava
 
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma
 
DevOps in an Embedded World
Sajeewa Dayaratne
 
Software Testing in a Distributed Environment
Perforce
 
Bulletproof design systems using storybook
Chen Feldman
 
Modernize Development with Agile Engineering Practices
CollabNet
 
Microservices Architecture
Srinivasan Nanduri
 
How Custom is your Org? CEER at Dreamforce 2019
Steven Herod
 
10 Reasons Your Software Sucks 2014 - Tax Day Edition!
Caleb Jenkins
 
Melbourne Microservices Meetup: Agenda for a new Architecture
Saul Caganoff
 
Modern Engineering Practices - Building Blocks for the New Digital Economy (A...
IT Arena
 
From dev to ops and beyond - getting it done
Edorian
 
Testing and DevOps Culture: Lessons Learned
LB Denker
 
Ad

More from Lviv Startup Club (20)

PDF
Oleksandr Osypenko: Стейкхолдери та їх вплив (UA)
Lviv Startup Club
 
PDF
Rostyslav Chayka: Prompt Engineering для проєктного менеджменту (Advanced) (UA)
Lviv Startup Club
 
PPTX
Dmytro Liesov: PMO Tools and Technologies (UA)
Lviv Startup Club
 
PDF
Rostyslav Chayka: Управління командою за допомогою AI (UA)
Lviv Startup Club
 
PDF
Oleksandr Osypenko: Tailoring + Change Management (UA)
Lviv Startup Club
 
PDF
Maksym Vyshnivetskyi: Управління закупівлями (UA)
Lviv Startup Club
 
PDF
Oleksandr Osypenko: Управління ризиками (UA)
Lviv Startup Club
 
PPTX
Dmytro Zubkov: PMO Resource Management (UA)
Lviv Startup Club
 
PPTX
Rostyslav Chayka: Комунікація за допомогою AI (UA)
Lviv Startup Club
 
PDF
Ihor Pavlenko: Комунікація за допомогою AI (UA)
Lviv Startup Club
 
PDF
Maksym Vyshnivetskyi: Управління якістю (UA)
Lviv Startup Club
 
PDF
Ihor Pavlenko: Робота зі стейкхолдерами за допомогою AI (UA)
Lviv Startup Club
 
PDF
Maksym Vyshnivetskyi: Управління вартістю (Cost) (UA)
Lviv Startup Club
 
PDF
Oleksandr Osypenko: Управління часом та ресурсами (UA)
Lviv Startup Club
 
PPTX
Dmytro Liesov: Developing PMO Services and Functions (UA)
Lviv Startup Club
 
PDF
Igor Dumbur: Інженерна досконалість та DevOps (UA)
Lviv Startup Club
 
PDF
Ihor Pavlenko: Управління ризиками за допомогою AI (UA)
Lviv Startup Club
 
PPTX
Dmytro Liesov: Управління інтеграцією (UA)
Lviv Startup Club
 
PDF
Oleksandr Osypenko: Управління обсягом (Scope) (UA)
Lviv Startup Club
 
PDF
Oleksandr Osypenko: Defining PMO Structure and Governance (UA)
Lviv Startup Club
 
Oleksandr Osypenko: Стейкхолдери та їх вплив (UA)
Lviv Startup Club
 
Rostyslav Chayka: Prompt Engineering для проєктного менеджменту (Advanced) (UA)
Lviv Startup Club
 
Dmytro Liesov: PMO Tools and Technologies (UA)
Lviv Startup Club
 
Rostyslav Chayka: Управління командою за допомогою AI (UA)
Lviv Startup Club
 
Oleksandr Osypenko: Tailoring + Change Management (UA)
Lviv Startup Club
 
Maksym Vyshnivetskyi: Управління закупівлями (UA)
Lviv Startup Club
 
Oleksandr Osypenko: Управління ризиками (UA)
Lviv Startup Club
 
Dmytro Zubkov: PMO Resource Management (UA)
Lviv Startup Club
 
Rostyslav Chayka: Комунікація за допомогою AI (UA)
Lviv Startup Club
 
Ihor Pavlenko: Комунікація за допомогою AI (UA)
Lviv Startup Club
 
Maksym Vyshnivetskyi: Управління якістю (UA)
Lviv Startup Club
 
Ihor Pavlenko: Робота зі стейкхолдерами за допомогою AI (UA)
Lviv Startup Club
 
Maksym Vyshnivetskyi: Управління вартістю (Cost) (UA)
Lviv Startup Club
 
Oleksandr Osypenko: Управління часом та ресурсами (UA)
Lviv Startup Club
 
Dmytro Liesov: Developing PMO Services and Functions (UA)
Lviv Startup Club
 
Igor Dumbur: Інженерна досконалість та DevOps (UA)
Lviv Startup Club
 
Ihor Pavlenko: Управління ризиками за допомогою AI (UA)
Lviv Startup Club
 
Dmytro Liesov: Управління інтеграцією (UA)
Lviv Startup Club
 
Oleksandr Osypenko: Управління обсягом (Scope) (UA)
Lviv Startup Club
 
Oleksandr Osypenko: Defining PMO Structure and Governance (UA)
Lviv Startup Club
 
Ad

Recently uploaded (16)

PPTX
14 Ways in 14 Days: 14 Habits' for Highly Effective VBN'ITE-Pathshala
Prit Shah
 
PDF
feedback fallacy in Human Resources Management
raddddzzzzzz
 
PDF
CISSP Domain 3: Security Architecture and Engineering
VICTOR MAESTRE RAMIREZ
 
PDF
SpatzAI Micro-conflict Resolution Toolkit
Desmond Sherlock
 
PDF
Labirintos morais: um estudo sobre ética
Ivomar Schuler da Costa
 
PDF
Can an Inspection Test Plan be modified during a project?
Writegenic AI
 
PDF
CISSP Domain 4: Communication and Network Security
VICTOR MAESTRE RAMIREZ
 
PPTX
Change Management Theories: Basic Intro about famous theories
Ujjwaal G
 
DOCX
Process Confirmation and Product Tracecability Project Report.docx
himanshupersevering
 
PDF
CISSP Domain 1: Security and Risk Management
VICTOR MAESTRE RAMIREZ
 
PDF
SpatzAI Micro-Conflict Resolution Toolkit
Desmond Sherlock
 
PDF
CISSP Domain 2: Asset Security - InfoSec
VICTOR MAESTRE RAMIREZ
 
PDF
Criminology_and_Security_Studies_Syllabus.pdf
MOHAMED HERSI FARAH
 
PPTX
Caleb followed God with his whole heart.pptx
RaraSolliborDumalian
 
PPTX
Grounding_Hypotheses_Presentation_Updated.pptx
truefollower1
 
PDF
SpatzAI Micro-conflict Resolution Toolkit
Desmond Sherlock
 
14 Ways in 14 Days: 14 Habits' for Highly Effective VBN'ITE-Pathshala
Prit Shah
 
feedback fallacy in Human Resources Management
raddddzzzzzz
 
CISSP Domain 3: Security Architecture and Engineering
VICTOR MAESTRE RAMIREZ
 
SpatzAI Micro-conflict Resolution Toolkit
Desmond Sherlock
 
Labirintos morais: um estudo sobre ética
Ivomar Schuler da Costa
 
Can an Inspection Test Plan be modified during a project?
Writegenic AI
 
CISSP Domain 4: Communication and Network Security
VICTOR MAESTRE RAMIREZ
 
Change Management Theories: Basic Intro about famous theories
Ujjwaal G
 
Process Confirmation and Product Tracecability Project Report.docx
himanshupersevering
 
CISSP Domain 1: Security and Risk Management
VICTOR MAESTRE RAMIREZ
 
SpatzAI Micro-Conflict Resolution Toolkit
Desmond Sherlock
 
CISSP Domain 2: Asset Security - InfoSec
VICTOR MAESTRE RAMIREZ
 
Criminology_and_Security_Studies_Syllabus.pdf
MOHAMED HERSI FARAH
 
Caleb followed God with his whole heart.pptx
RaraSolliborDumalian
 
Grounding_Hypotheses_Presentation_Updated.pptx
truefollower1
 
SpatzAI Micro-conflict Resolution Toolkit
Desmond Sherlock
 

Lviv PMDay: Дов Німрац Як зробити процес Continuous Integration ефективним

Editor's Notes

  • #4: Резюме проблем R&D
  • #8: Maintain a Single Source Repository. (все знают/хранят файлы) Automate the Build (любой с новой машины должен иметь возможность собрать систему + билд только изменения + ключи сборок) Make Your Build Self-Testing (Test Driven Development (TDD)  + self code reading) Everyone Commits To the Mainline Every Day (ci -> resolve -> build –with test -> co with comment why/not what)
  • #9: Continuous Integration is an Attitude, Not a Tool (не всегда с сервером CI ) Fix Broken Builds Immediately ( pending head - delay commit in TeamCity & Jemkins что бы не остановить весь тим) Keep the Build Fast (deployment pipeline / parallel build)
  • #10: Test in a Clone of the Production Environment (different OS …, -> virtualization) Everyone can see what's happening (CI is all about communication)
  • #13: Как только что то медленно – симптом монолитности кода.
  • #14: ?????????
  • #17: Дом для хаков
  • #22: http://microservices.io/patterns/microservices.html tp://martinfowler.com/bliki/DevOpsCulture.html
  • #23: http://microservices.io/articles/scalecube.html X-axis scaling clones – load balancing = работа однотипных серверов под управлением сортировщика. Не решает проблему усложнения разработки У-axis service split – splits the application into multiple, different services. Admin portal, Mail serever Z-axis – clone as X, but treat different SLA or portioned DB
  • #24: drawback is increased application complexity. doesn’t solve the problems of increasing development and application complexity. To solve those problems we need to apply Y-axis scaling.
  • #33: ISO 9001
  • #35: 2 buttons: Any one Simple script (not from IDE) Restore previous
  • #41: ACC (Accelerator code developer) - The build system is simply a collection of scripts - DEV среда – сборка прошла без ошибок. - STAGE среда – сборка была установлена на DEV среде и unit тесты прошли успешно. - PROD среда – сборка прошла тестирование на STAGE среде, есть не более 5% minor багов, major багов нет, QA Lead и Dev Lead поставили Confirm билду о готовности к PROD среде.