SlideShare uma empresa Scribd logo
1 de 62
Tester’s considerations when moving
towards successful CI/CD
1
Derk-Jan de Grood
QA& Testing 2018
Bilbao
Aim of this session
2
3
Tester’s considerations when moving towards
successful CI/CD
Continuous integration and deployment (CI/CD)
empowers organizations to bring their solution in
production fast and frequent. This interactive session
will share the benefits of this concept and introduce
eight conditions that need to be met in order to make
CI/CD a success. After this brief introduction, we will
make small groups and explore these conditions,
exchange experiences and you will get an
understanding what needs to be improved in your
organization. Talk to your peers and learn where they
stand. Of course each of the groups will share their
learnings, so we all go home with an understanding of
how you can benefit from CI/CD and what needs to be
done to make it work.
Embracing Change
4
5
“The only constant I am sure of
Is this accelerating rate of
change”
Source:[PeterGrabriel–downsideup]
6
Organizational Life Cycle
7
Organizational Life Cycle
8
Legacy
Inertia
1
2
3
4
5
9
Over the last 50 years the
average life expectation
of companies is reduced
to 1/3 which equals 15
years
(based upon the standard & poor index)
10
11
Dutch defense system
Other examples of disruptive
innovations
12
13
The impact of disruptive innovations
is hard to predict!
IT Development & Delivery
14
Our End Goal
15
Our End Goal
16
Fail Forward
Building Blocks
17
CI/CD
Continuous Integration & Deployment
A brief introduction
18
Workshops and Book
19
Take a look around you !
20
Releasing the
bugfix on the
test
environment
takes ages
We have been
working hard,
but nothing is
ready for the
Demo
We have
delivered as IT
but the system
is not used yet
We have
figured out how
to configure the
system, but
operations
lacks this
knowledge
We have fixed
the critical but
testing takes
multiple days
Every time we
release we
reserve support
time to sort out
prod. errors
Antipattern: Deploying Manually
If your deployments are not fully automated you:
• Need to extensively document the deployment process
• Rely on a manual to confirm the application is running OK
• Get frequent calls to dev team about release problems
• Need to correct the process during deployment
• End up with different configurations on various environments
• Have unpredictable outcome and have to reserve fixing time
to make it work
• Rely on SPOC (the release expert)
21[Continuous Delivery – Jezz Humble & David Farley]
Antipattern: Deploy to PRD-like
once dev is complete
When you deploy late in the cycle to a production like
environment you
• Do most of your test on development machines
• Create an hand-over between dev and ops: config files,
database migrations, deployment scripts etc.
• Ask operations do the deployment for the first time on the
release date
• Do not stimulate dev and ops to collaborate
• Create a late-feedback cycle when dealing with production
errors
• Make a lot of assumptions about the PRD environment
22[Continuous Delivery – Jezz Humble & David Farley]
Antipattern: Manual Configuration
When you have a manual configuration management, you:
• Risk that deployment fail to configuration differences
• Need a lot of preparation time to release
• Cannot easily step back to an earlier configuration
• Risk that different machines have different versions of
OS, libraries, patch-level
• Probably adapt configuration items live on the
production environment
23[Continuous Delivery – Jezz Humble & David Farley]
24
Levels
25
Code &
commit
Integrate
& build
Test Deliver
Working application decomposed
26
Executable
Code Configuration
Host
Environment
Data
Continuous Delivery Example
27
Local
• Code
• Unit Test
• Commit
Development
• Save Repo
• Get config
• Deploy
• Test
Test
• Save Repo
• Get config
• Deploy
• Test
Acceptance
• Save Repe
• Get config
• Deploy
• Test
1
Daily
• Nightly regression
test
• Monitoring
Daily
• Nightly
performance test
• Monitoring
Daily
• E2E test
• Monitoring
Definitions
Continuous integration (CI) is the practice of merging all
developer working copies to a shared mainline several
times a day.
With continuous delivery (CD) teams produce software in
short cycles, ensuring that the software can be reliably
released at any time. It aims at building, testing, and
releasing software faster and more frequently.
Continuous deployment (CD) is the next step of
continuous delivery: Every change that passes the
automated tests is deployed to production automatically.
[Sources: Wikipedia and puppet.com]
28
SAFe 4.6
29
30
Some advantages
• Efficiency
• Reduces amount of rework
• Predictability
• Reduced time to market
• Fast feedback
• Reducing risk
• Better quality solutions
32
How often to production ?
33
[https://devops.com/often-release-continuous-delivery/]
How important are your updates?
Is there a marketing advantage in delaying the release?
Do other apps depend on your app?
Is your development pace consistent?
Do your updates create a learning curve?
Can multiple versions of your app coexist?
ChristopherTozzi
How often to production
How important are your updates? If changes to your app mostly involve mundane
things such as interface tweaks, continuous deployment probably will confuse users more
than please them. They will have to adapt constantly to new features. But if you can roll
out big, user-friendly changes on a continual basis, then deploying continuously can help
keep your users happy.
Is there a marketing advantage to be gained by waiting longer to
release? Sometimes, advertising new features but waiting a while to release them can
help build excitement. Case in point: Apple Inc.
Do other apps depend on your app? If you’re working within an ecosystem where your
app integrates with other apps or platforms, continuous deployment makes the lives of
partner developers more difficult because it requires them to adjust constantly to changes
in your app. To help them ensure their work will always be compatible with yours, provide
space between your releases.
Is your development pace consistent? If not, continuous deployment can be
problematic because users will see rapid updates at some times, but stagnation at other
times. Continuous deployment only works well for users if they can count on a relatively
steady stream of updates.
Do your updates create a learning curve? If users will have to learn new tricks to use
an updated app, continuous deployment may create more confusion than happiness.
Can multiple versions of your app coexist?
34
[https://devops.com/often-release-continuous-delivery/]
Will it work ?
Requisites for CI/CD
35
36
What are the
requisites to make
it work?
CI/CD requires that (in random order)
3
Teams collaborate
with each other
Integration is
continuous
Deployment is a
hands-off process
Feedback loop to
improve quality
Features are
launched frequently
Acceptance criteria
are clear
Teams have all
required skills and
knowledge
Tests are
automated
Valori-version1.2-2017
How can you
use it?
Sales
Maturity
scan
Triggering
discussions
Defining
roadmap
Integration is continuous
Should be in place
• Teams integrate as fast as
possible
• Teams work with the
same DOD
• Integration tests can be
run by everyone or
started upon check-in
• Team make agreements
on how to deal with
integration tests
Challenges
• Number of teams
• Integration at system level
• Hardware components
• Organizational boundaries
• Dependencies not known
• Infrastructure
• Different heartbeats
CI/CD requires that (in random order)
4
Teams collaborate
with each other
Deployment is a
hands-off process
Feedback loop to
improve quality
Features are
launched frequently
Acceptance criteria
are clear
Teams have all
required skills and
knowledge
Tests are
automated
Valori-version1.2-2017
Architecture supports
partial development
and release
What do the requisites mean to you?
42
Assignment
1. Divide in groups
2. Define what the requisite means to you (5 min)
3. Rate individually how your team/ organization
scores (1 min)
4. List as a group some (20 min)
• things you have in place to fulfill this requisite
• challenges you recognize
• Time is limited
• Mission is information gathering
• Tip: Identify items, don’t get lost in the
discussion
Canvas
44
Description
The teams…..bladibla
Rating
😟 😀
In Place Challenges
How to pick your team
• You got this covered and are
willing to share some tips
• You are currently struggling with
this and want to discuss it with
your peers
• You find this important and
want to compare your status
• You want to learn about this
topic since its quite new for you
Exchange Experiences
46
Workshop Outcome
47
Workshop results (QA&Test)
Workshop results (QA&Test)
Workshop results (QA&Test)
[SC]2 morning workshop, 4 Oct.
2017
[SC]2 afternoon workshop, 4 Oct.
2017
TestNet workshop, 11 Oct. 2017
Teams collaborate
with each other
Architecture supports
partial development
and release
Tests are
automated
Deployment is a
hands-off process
Acceptance criteria are
clear
Features are launched
frequently
Feedback loop to
improve quality
Teams have all
required skills and
knowledge
Getting into CI/CD
Context based
Green field
Green field
Do it right from day 1
Ensure that everybody
supports the approach
Write automated test
for each story
54
Testers are involved during
refinement to ensure that each
acceptance criterium can be
tested
Legacy Environment
1. Set up version control
2. Create an automatic build process
3. Sit with users to identify high value scenario’s
4. Create an Automated Functional Test as smoke test
5. Expand tests while developing
• E.g. Test hardening to add alternative and exception paths
• E.g. By defining tests for new stories
55
Challenge 1: Business does not
understand why you have to
spend time with defining tests
for a system that is already
accepted and in production
Challenge 2: System is not
suited for Automation e.g.
structure or object recognition
Testing Considerations
When to test?
When anything changes in:
57
Executable
Code
Configuration
Host
Environment
Data
What to test….
58
Process of creating executable code
- Syntax of source code is correct
User Acceptance Test
- System supports customer journey
Exploratory tests
- Validation check Integration test
- System works within system of other
systems
Functional and NF tests
- System delivers value as intended
- System complies to capacity,
security, availability, etc.
requirements
Smoke test and deployment test
- Systems is correctly and installed and
configured on target environment
Configuration test
- 1: ensure references to external
service in configuration setting are
OK
- 2: Run smoke test
Code Quality Criteria
- e.g. test coverage and code metrics
Unit testing
- Code behaves as expected
59
Assignment: CI/CD Test Strategy
Your organization is moving towards CI/CD. They ask you to
draw up a plan to (re)organize testing to ensure that
Quality is built-in
Time to market is reduced
We can do Validated learning
Explain
What tests (or quality measures) you think are necessary?
Which of them should you start with
How would you organize them
What benefits would this yield.
60
Wrap-up
61
Aim of this session
62
Derk-Jan
Valori
Coltbaan 4a
3439 NG NIEUWEGEIN
The Netherlands
• derkjandegrood@valori.nl
• +31(0)651807878
• www.valori.nl
• @DerkJanDeGrood
• http://djdegrood.wordpress.com
63

Mais conteúdo relacionado

Mais procurados

ATD-2018_kroth_agile_thinking
ATD-2018_kroth_agile_thinkingATD-2018_kroth_agile_thinking
ATD-2018_kroth_agile_thinkingNorbertKroth
 
Aginext 2021: Built-in Quality - How agile coaches can contribute
Aginext 2021: Built-in Quality - How agile coaches can contributeAginext 2021: Built-in Quality - How agile coaches can contribute
Aginext 2021: Built-in Quality - How agile coaches can contributeDerk-Jan de Grood
 
ISTQB Agile Extension
ISTQB Agile ExtensionISTQB Agile Extension
ISTQB Agile ExtensionDavis Thomas
 
ISTQB agile tester exam - Conclusions about Certification
ISTQB agile tester exam - Conclusions about CertificationISTQB agile tester exam - Conclusions about Certification
ISTQB agile tester exam - Conclusions about CertificationMichał Dudziak
 
Between Scrum and Kanban - define test process for Agile methodologies
Between Scrum and Kanban - define test process for Agile methodologiesBetween Scrum and Kanban - define test process for Agile methodologies
Between Scrum and Kanban - define test process for Agile methodologiessuwalki24.pl
 
1×10 rola QA w tworzeniu Atlassian JIRA
 1×10 rola QA w tworzeniu Atlassian JIRA 1×10 rola QA w tworzeniu Atlassian JIRA
1×10 rola QA w tworzeniu Atlassian JIRA3camp
 
Building quality in the SAFe way
Building quality in the SAFe way Building quality in the SAFe way
Building quality in the SAFe way Subrahmaniam S.R.V
 
Contracting for Agile Software Development
Contracting for Agile Software DevelopmentContracting for Agile Software Development
Contracting for Agile Software Developmentcspag67
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentJoseph Beale
 
Agile Methodology PPT
Agile Methodology PPTAgile Methodology PPT
Agile Methodology PPTMohit Kumar
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentationCarl Bruiners
 
Agile Tester in a Nutshell
Agile Tester in a NutshellAgile Tester in a Nutshell
Agile Tester in a NutshellHASTQB
 
The Three Pillars Approach to Your Agile Test Strategy
The Three Pillars Approach to Your Agile Test StrategyThe Three Pillars Approach to Your Agile Test Strategy
The Three Pillars Approach to Your Agile Test StrategyTechWell
 
CESAR.thon: a Testing Marathon Framework
CESAR.thon: a Testing Marathon FrameworkCESAR.thon: a Testing Marathon Framework
CESAR.thon: a Testing Marathon FrameworkRodrigo Cursino
 
Balanced Measurement Sets: Criteria for Improving Project Management Practices
Balanced Measurement Sets: Criteria for Improving  Project Management PracticesBalanced Measurement Sets: Criteria for Improving  Project Management Practices
Balanced Measurement Sets: Criteria for Improving Project Management PracticesLuigi Buglione
 

Mais procurados (20)

ATD-2018_kroth_agile_thinking
ATD-2018_kroth_agile_thinkingATD-2018_kroth_agile_thinking
ATD-2018_kroth_agile_thinking
 
Aginext 2021: Built-in Quality - How agile coaches can contribute
Aginext 2021: Built-in Quality - How agile coaches can contributeAginext 2021: Built-in Quality - How agile coaches can contribute
Aginext 2021: Built-in Quality - How agile coaches can contribute
 
ISTQB Agile Extension
ISTQB Agile ExtensionISTQB Agile Extension
ISTQB Agile Extension
 
ISTQB agile tester exam - Conclusions about Certification
ISTQB agile tester exam - Conclusions about CertificationISTQB agile tester exam - Conclusions about Certification
ISTQB agile tester exam - Conclusions about Certification
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
Adopting Agile Testing
Adopting Agile TestingAdopting Agile Testing
Adopting Agile Testing
 
Between Scrum and Kanban - define test process for Agile methodologies
Between Scrum and Kanban - define test process for Agile methodologiesBetween Scrum and Kanban - define test process for Agile methodologies
Between Scrum and Kanban - define test process for Agile methodologies
 
Agile deep dive scu
Agile deep dive   scuAgile deep dive   scu
Agile deep dive scu
 
1×10 rola QA w tworzeniu Atlassian JIRA
 1×10 rola QA w tworzeniu Atlassian JIRA 1×10 rola QA w tworzeniu Atlassian JIRA
1×10 rola QA w tworzeniu Atlassian JIRA
 
Building quality in the SAFe way
Building quality in the SAFe way Building quality in the SAFe way
Building quality in the SAFe way
 
Contracting for Agile Software Development
Contracting for Agile Software DevelopmentContracting for Agile Software Development
Contracting for Agile Software Development
 
Scrum and Agile SDLC 101
Scrum and Agile SDLC 101Scrum and Agile SDLC 101
Scrum and Agile SDLC 101
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile Environment
 
Agile Methodology PPT
Agile Methodology PPTAgile Methodology PPT
Agile Methodology PPT
 
QAAgility Trainings
QAAgility TrainingsQAAgility Trainings
QAAgility Trainings
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Agile Tester in a Nutshell
Agile Tester in a NutshellAgile Tester in a Nutshell
Agile Tester in a Nutshell
 
The Three Pillars Approach to Your Agile Test Strategy
The Three Pillars Approach to Your Agile Test StrategyThe Three Pillars Approach to Your Agile Test Strategy
The Three Pillars Approach to Your Agile Test Strategy
 
CESAR.thon: a Testing Marathon Framework
CESAR.thon: a Testing Marathon FrameworkCESAR.thon: a Testing Marathon Framework
CESAR.thon: a Testing Marathon Framework
 
Balanced Measurement Sets: Criteria for Improving Project Management Practices
Balanced Measurement Sets: Criteria for Improving  Project Management PracticesBalanced Measurement Sets: Criteria for Improving  Project Management Practices
Balanced Measurement Sets: Criteria for Improving Project Management Practices
 

Semelhante a Tester’s considerations when moving towards successful CI/CD

STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENT
STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENTSTRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENT
STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENTDerk-Jan de Grood
 
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Jean-Philippe Briend
 
Boast the Potential of DevOps with CI CD
Boast the Potential of DevOps with CI CDBoast the Potential of DevOps with CI CD
Boast the Potential of DevOps with CI CDZoe Gilbert
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development ProcessSoftware Park Thailand
 
DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)Ahmed Misbah
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+OpsShalu Ahuja
 
Introduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approachIntroduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approachFrancisXavierInyanga
 
DevOps Roadshow - removing barriers between development and operations
DevOps Roadshow - removing barriers between development and operationsDevOps Roadshow - removing barriers between development and operations
DevOps Roadshow - removing barriers between development and operationsMicrosoft Developer Norway
 
Agile Release Management Best Practices
Agile Release Management Best PracticesAgile Release Management Best Practices
Agile Release Management Best PracticesAnmol Oberoi
 
Continues delivery - Introduction
Continues delivery - IntroductionContinues delivery - Introduction
Continues delivery - IntroductionErez Attar
 
DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)Nitin Bhide
 
Puppet + Diaxon: Getting to the next stage of DevOps evolution
Puppet + Diaxon: Getting to the next stage of DevOps evolutionPuppet + Diaxon: Getting to the next stage of DevOps evolution
Puppet + Diaxon: Getting to the next stage of DevOps evolutionPuppet
 
Puppet Labs EMC DevOps Day NYC Aug-2015
Puppet Labs  EMC DevOps Day NYC Aug-2015Puppet Labs  EMC DevOps Day NYC Aug-2015
Puppet Labs EMC DevOps Day NYC Aug-2015Bob Sokol
 
How to Build High-Performing IT Teams - Including New Data on IT Performance ...
How to Build High-Performing IT Teams - Including New Data on IT Performance ...How to Build High-Performing IT Teams - Including New Data on IT Performance ...
How to Build High-Performing IT Teams - Including New Data on IT Performance ...Puppet
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 
Drupal Continuous Integration and devops - Beyond Jenkins
Drupal Continuous Integration and devops - Beyond JenkinsDrupal Continuous Integration and devops - Beyond Jenkins
Drupal Continuous Integration and devops - Beyond JenkinsPromet Source
 
Enterprise DevOps- Importance and Key Benefits You Need to Know
Enterprise DevOps- Importance and Key Benefits You Need to KnowEnterprise DevOps- Importance and Key Benefits You Need to Know
Enterprise DevOps- Importance and Key Benefits You Need to KnowSilver Touch Technologies
 
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 Services And Solutions Explained
DevOps Services And Solutions ExplainedDevOps Services And Solutions Explained
DevOps Services And Solutions ExplainedEnov8
 

Semelhante a Tester’s considerations when moving towards successful CI/CD (20)

STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENT
STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENTSTRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENT
STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENT
 
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?
 
Boast the Potential of DevOps with CI CD
Boast the Potential of DevOps with CI CDBoast the Potential of DevOps with CI CD
Boast the Potential of DevOps with CI CD
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development Process
 
DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
Introduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approachIntroduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approach
 
DevOps Roadshow - removing barriers between development and operations
DevOps Roadshow - removing barriers between development and operationsDevOps Roadshow - removing barriers between development and operations
DevOps Roadshow - removing barriers between development and operations
 
Agile Release Management Best Practices
Agile Release Management Best PracticesAgile Release Management Best Practices
Agile Release Management Best Practices
 
Continues delivery - Introduction
Continues delivery - IntroductionContinues delivery - Introduction
Continues delivery - Introduction
 
DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)
 
Puppet + Diaxon: Getting to the next stage of DevOps evolution
Puppet + Diaxon: Getting to the next stage of DevOps evolutionPuppet + Diaxon: Getting to the next stage of DevOps evolution
Puppet + Diaxon: Getting to the next stage of DevOps evolution
 
Puppet Labs EMC DevOps Day NYC Aug-2015
Puppet Labs  EMC DevOps Day NYC Aug-2015Puppet Labs  EMC DevOps Day NYC Aug-2015
Puppet Labs EMC DevOps Day NYC Aug-2015
 
How to Build High-Performing IT Teams - Including New Data on IT Performance ...
How to Build High-Performing IT Teams - Including New Data on IT Performance ...How to Build High-Performing IT Teams - Including New Data on IT Performance ...
How to Build High-Performing IT Teams - Including New Data on IT Performance ...
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
Drupal Continuous Integration and devops - Beyond Jenkins
Drupal Continuous Integration and devops - Beyond JenkinsDrupal Continuous Integration and devops - Beyond Jenkins
Drupal Continuous Integration and devops - Beyond Jenkins
 
Enterprise DevOps- Importance and Key Benefits You Need to Know
Enterprise DevOps- Importance and Key Benefits You Need to KnowEnterprise DevOps- Importance and Key Benefits You Need to Know
Enterprise DevOps- Importance and Key Benefits You Need to Know
 
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 Services And Solutions Explained
DevOps Services And Solutions ExplainedDevOps Services And Solutions Explained
DevOps Services And Solutions Explained
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 

Mais de Derk-Jan de Grood

2022 IPMA Vakdag- Back to Basic v02 - compressed for handout.pptx
2022 IPMA Vakdag- Back to Basic v02 - compressed for handout.pptx2022 IPMA Vakdag- Back to Basic v02 - compressed for handout.pptx
2022 IPMA Vakdag- Back to Basic v02 - compressed for handout.pptxDerk-Jan de Grood
 
I am a agile tester, because...(Agile testing put to practice)
I am a agile tester, because...(Agile testing put to practice)I am a agile tester, because...(Agile testing put to practice)
I am a agile tester, because...(Agile testing put to practice)Derk-Jan de Grood
 
Practitest webinar - When a test manager makes a difference
Practitest webinar - When a test manager makes a differencePractitest webinar - When a test manager makes a difference
Practitest webinar - When a test manager makes a differenceDerk-Jan de Grood
 
EuroSTAR webinar: creating Agile Test Strategies for larger Enterprises
EuroSTAR webinar: creating Agile Test Strategies for larger EnterprisesEuroSTAR webinar: creating Agile Test Strategies for larger Enterprises
EuroSTAR webinar: creating Agile Test Strategies for larger EnterprisesDerk-Jan de Grood
 
Agile in de Echte Wereld- Starten met Scrum
Agile in de Echte Wereld- Starten met ScrumAgile in de Echte Wereld- Starten met Scrum
Agile in de Echte Wereld- Starten met ScrumDerk-Jan de Grood
 
Getting a grip on your agile maturity using the ambition chart
Getting a grip on your agile maturity using the ambition chartGetting a grip on your agile maturity using the ambition chart
Getting a grip on your agile maturity using the ambition chartDerk-Jan de Grood
 
Testing fundamentals in a changing world (annotated slides)
Testing fundamentals in a changing world (annotated slides)Testing fundamentals in a changing world (annotated slides)
Testing fundamentals in a changing world (annotated slides)Derk-Jan de Grood
 
Survival techniques for Testers-BEYOND THE T-SHAPED TESTER
Survival techniques for Testers-BEYOND THE T-SHAPED TESTER Survival techniques for Testers-BEYOND THE T-SHAPED TESTER
Survival techniques for Testers-BEYOND THE T-SHAPED TESTER Derk-Jan de Grood
 
Integration testing in Scaled agile projects
Integration testing in Scaled agile projectsIntegration testing in Scaled agile projects
Integration testing in Scaled agile projectsDerk-Jan de Grood
 
Survival techniques for testers, beyond the T-shape tester
Survival techniques for testers, beyond the T-shape testerSurvival techniques for testers, beyond the T-shape tester
Survival techniques for testers, beyond the T-shape testerDerk-Jan de Grood
 
Seoul Test Conference - Agile in Europe, The way its done.
Seoul Test Conference - Agile in Europe, The way its done.Seoul Test Conference - Agile in Europe, The way its done.
Seoul Test Conference - Agile in Europe, The way its done.Derk-Jan de Grood
 
Continuous Cycles in Test Automation
Continuous Cycles in Test AutomationContinuous Cycles in Test Automation
Continuous Cycles in Test AutomationDerk-Jan de Grood
 
Grood ntc2015- progres reporting in agile context usign subway mapping v03
Grood  ntc2015- progres reporting in agile context usign subway mapping v03Grood  ntc2015- progres reporting in agile context usign subway mapping v03
Grood ntc2015- progres reporting in agile context usign subway mapping v03Derk-Jan de Grood
 
Scaling Agile with Subwaymapping
Scaling Agile with Subwaymapping Scaling Agile with Subwaymapping
Scaling Agile with Subwaymapping Derk-Jan de Grood
 
Walking in narrow shoes, when Agile doesn't fit
Walking in narrow shoes, when Agile doesn't fitWalking in narrow shoes, when Agile doesn't fit
Walking in narrow shoes, when Agile doesn't fitDerk-Jan de Grood
 
Trondheim Test Conference: Increase your effectiveness with the right test te...
Trondheim Test Conference: Increase your effectiveness with the right test te...Trondheim Test Conference: Increase your effectiveness with the right test te...
Trondheim Test Conference: Increase your effectiveness with the right test te...Derk-Jan de Grood
 
Mobile testing - the releationship between tests, business goals and design c...
Mobile testing - the releationship between tests, business goals and design c...Mobile testing - the releationship between tests, business goals and design c...
Mobile testing - the releationship between tests, business goals and design c...Derk-Jan de Grood
 
Implementing Test Automation, a story about changing insights and experiences
Implementing Test Automation, a story about changing insights and experiences Implementing Test Automation, a story about changing insights and experiences
Implementing Test Automation, a story about changing insights and experiences Derk-Jan de Grood
 
Progres reporting in agile context
Progres reporting in agile contextProgres reporting in agile context
Progres reporting in agile contextDerk-Jan de Grood
 

Mais de Derk-Jan de Grood (20)

2022 IPMA Vakdag- Back to Basic v02 - compressed for handout.pptx
2022 IPMA Vakdag- Back to Basic v02 - compressed for handout.pptx2022 IPMA Vakdag- Back to Basic v02 - compressed for handout.pptx
2022 IPMA Vakdag- Back to Basic v02 - compressed for handout.pptx
 
I am a agile tester, because...(Agile testing put to practice)
I am a agile tester, because...(Agile testing put to practice)I am a agile tester, because...(Agile testing put to practice)
I am a agile tester, because...(Agile testing put to practice)
 
Practitest webinar - When a test manager makes a difference
Practitest webinar - When a test manager makes a differencePractitest webinar - When a test manager makes a difference
Practitest webinar - When a test manager makes a difference
 
EuroSTAR webinar: creating Agile Test Strategies for larger Enterprises
EuroSTAR webinar: creating Agile Test Strategies for larger EnterprisesEuroSTAR webinar: creating Agile Test Strategies for larger Enterprises
EuroSTAR webinar: creating Agile Test Strategies for larger Enterprises
 
Agile in de Echte Wereld- Starten met Scrum
Agile in de Echte Wereld- Starten met ScrumAgile in de Echte Wereld- Starten met Scrum
Agile in de Echte Wereld- Starten met Scrum
 
Getting a grip on your agile maturity using the ambition chart
Getting a grip on your agile maturity using the ambition chartGetting a grip on your agile maturity using the ambition chart
Getting a grip on your agile maturity using the ambition chart
 
Testing fundamentals in a changing world (annotated slides)
Testing fundamentals in a changing world (annotated slides)Testing fundamentals in a changing world (annotated slides)
Testing fundamentals in a changing world (annotated slides)
 
Survival techniques for Testers-BEYOND THE T-SHAPED TESTER
Survival techniques for Testers-BEYOND THE T-SHAPED TESTER Survival techniques for Testers-BEYOND THE T-SHAPED TESTER
Survival techniques for Testers-BEYOND THE T-SHAPED TESTER
 
Integration testing in Scaled agile projects
Integration testing in Scaled agile projectsIntegration testing in Scaled agile projects
Integration testing in Scaled agile projects
 
Survival techniques for testers, beyond the T-shape tester
Survival techniques for testers, beyond the T-shape testerSurvival techniques for testers, beyond the T-shape tester
Survival techniques for testers, beyond the T-shape tester
 
Seoul Test Conference - Agile in Europe, The way its done.
Seoul Test Conference - Agile in Europe, The way its done.Seoul Test Conference - Agile in Europe, The way its done.
Seoul Test Conference - Agile in Europe, The way its done.
 
DevOps is Scaling Agile too
DevOps is Scaling Agile tooDevOps is Scaling Agile too
DevOps is Scaling Agile too
 
Continuous Cycles in Test Automation
Continuous Cycles in Test AutomationContinuous Cycles in Test Automation
Continuous Cycles in Test Automation
 
Grood ntc2015- progres reporting in agile context usign subway mapping v03
Grood  ntc2015- progres reporting in agile context usign subway mapping v03Grood  ntc2015- progres reporting in agile context usign subway mapping v03
Grood ntc2015- progres reporting in agile context usign subway mapping v03
 
Scaling Agile with Subwaymapping
Scaling Agile with Subwaymapping Scaling Agile with Subwaymapping
Scaling Agile with Subwaymapping
 
Walking in narrow shoes, when Agile doesn't fit
Walking in narrow shoes, when Agile doesn't fitWalking in narrow shoes, when Agile doesn't fit
Walking in narrow shoes, when Agile doesn't fit
 
Trondheim Test Conference: Increase your effectiveness with the right test te...
Trondheim Test Conference: Increase your effectiveness with the right test te...Trondheim Test Conference: Increase your effectiveness with the right test te...
Trondheim Test Conference: Increase your effectiveness with the right test te...
 
Mobile testing - the releationship between tests, business goals and design c...
Mobile testing - the releationship between tests, business goals and design c...Mobile testing - the releationship between tests, business goals and design c...
Mobile testing - the releationship between tests, business goals and design c...
 
Implementing Test Automation, a story about changing insights and experiences
Implementing Test Automation, a story about changing insights and experiences Implementing Test Automation, a story about changing insights and experiences
Implementing Test Automation, a story about changing insights and experiences
 
Progres reporting in agile context
Progres reporting in agile contextProgres reporting in agile context
Progres reporting in agile context
 

Último

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 

Último (20)

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 

Tester’s considerations when moving towards successful CI/CD

  • 1. Tester’s considerations when moving towards successful CI/CD 1 Derk-Jan de Grood QA& Testing 2018 Bilbao
  • 2. Aim of this session 2
  • 3. 3 Tester’s considerations when moving towards successful CI/CD Continuous integration and deployment (CI/CD) empowers organizations to bring their solution in production fast and frequent. This interactive session will share the benefits of this concept and introduce eight conditions that need to be met in order to make CI/CD a success. After this brief introduction, we will make small groups and explore these conditions, exchange experiences and you will get an understanding what needs to be improved in your organization. Talk to your peers and learn where they stand. Of course each of the groups will share their learnings, so we all go home with an understanding of how you can benefit from CI/CD and what needs to be done to make it work.
  • 5. 5 “The only constant I am sure of Is this accelerating rate of change” Source:[PeterGrabriel–downsideup]
  • 6. 6
  • 9. 9 Over the last 50 years the average life expectation of companies is reduced to 1/3 which equals 15 years (based upon the standard & poor index)
  • 10. 10
  • 12. Other examples of disruptive innovations 12
  • 13. 13 The impact of disruptive innovations is hard to predict!
  • 14. IT Development & Delivery 14
  • 18. Continuous Integration & Deployment A brief introduction 18
  • 20. Take a look around you ! 20 Releasing the bugfix on the test environment takes ages We have been working hard, but nothing is ready for the Demo We have delivered as IT but the system is not used yet We have figured out how to configure the system, but operations lacks this knowledge We have fixed the critical but testing takes multiple days Every time we release we reserve support time to sort out prod. errors
  • 21. Antipattern: Deploying Manually If your deployments are not fully automated you: • Need to extensively document the deployment process • Rely on a manual to confirm the application is running OK • Get frequent calls to dev team about release problems • Need to correct the process during deployment • End up with different configurations on various environments • Have unpredictable outcome and have to reserve fixing time to make it work • Rely on SPOC (the release expert) 21[Continuous Delivery – Jezz Humble & David Farley]
  • 22. Antipattern: Deploy to PRD-like once dev is complete When you deploy late in the cycle to a production like environment you • Do most of your test on development machines • Create an hand-over between dev and ops: config files, database migrations, deployment scripts etc. • Ask operations do the deployment for the first time on the release date • Do not stimulate dev and ops to collaborate • Create a late-feedback cycle when dealing with production errors • Make a lot of assumptions about the PRD environment 22[Continuous Delivery – Jezz Humble & David Farley]
  • 23. Antipattern: Manual Configuration When you have a manual configuration management, you: • Risk that deployment fail to configuration differences • Need a lot of preparation time to release • Cannot easily step back to an earlier configuration • Risk that different machines have different versions of OS, libraries, patch-level • Probably adapt configuration items live on the production environment 23[Continuous Delivery – Jezz Humble & David Farley]
  • 24. 24
  • 26. Working application decomposed 26 Executable Code Configuration Host Environment Data
  • 27. Continuous Delivery Example 27 Local • Code • Unit Test • Commit Development • Save Repo • Get config • Deploy • Test Test • Save Repo • Get config • Deploy • Test Acceptance • Save Repe • Get config • Deploy • Test 1 Daily • Nightly regression test • Monitoring Daily • Nightly performance test • Monitoring Daily • E2E test • Monitoring
  • 28. Definitions Continuous integration (CI) is the practice of merging all developer working copies to a shared mainline several times a day. With continuous delivery (CD) teams produce software in short cycles, ensuring that the software can be reliably released at any time. It aims at building, testing, and releasing software faster and more frequently. Continuous deployment (CD) is the next step of continuous delivery: Every change that passes the automated tests is deployed to production automatically. [Sources: Wikipedia and puppet.com] 28
  • 30. 30
  • 31. Some advantages • Efficiency • Reduces amount of rework • Predictability • Reduced time to market • Fast feedback • Reducing risk • Better quality solutions 32
  • 32. How often to production ? 33 [https://devops.com/often-release-continuous-delivery/] How important are your updates? Is there a marketing advantage in delaying the release? Do other apps depend on your app? Is your development pace consistent? Do your updates create a learning curve? Can multiple versions of your app coexist? ChristopherTozzi
  • 33. How often to production How important are your updates? If changes to your app mostly involve mundane things such as interface tweaks, continuous deployment probably will confuse users more than please them. They will have to adapt constantly to new features. But if you can roll out big, user-friendly changes on a continual basis, then deploying continuously can help keep your users happy. Is there a marketing advantage to be gained by waiting longer to release? Sometimes, advertising new features but waiting a while to release them can help build excitement. Case in point: Apple Inc. Do other apps depend on your app? If you’re working within an ecosystem where your app integrates with other apps or platforms, continuous deployment makes the lives of partner developers more difficult because it requires them to adjust constantly to changes in your app. To help them ensure their work will always be compatible with yours, provide space between your releases. Is your development pace consistent? If not, continuous deployment can be problematic because users will see rapid updates at some times, but stagnation at other times. Continuous deployment only works well for users if they can count on a relatively steady stream of updates. Do your updates create a learning curve? If users will have to learn new tricks to use an updated app, continuous deployment may create more confusion than happiness. Can multiple versions of your app coexist? 34 [https://devops.com/often-release-continuous-delivery/]
  • 34. Will it work ? Requisites for CI/CD 35
  • 35. 36 What are the requisites to make it work?
  • 36. CI/CD requires that (in random order) 3 Teams collaborate with each other Integration is continuous Deployment is a hands-off process Feedback loop to improve quality Features are launched frequently Acceptance criteria are clear Teams have all required skills and knowledge Tests are automated Valori-version1.2-2017
  • 37. How can you use it? Sales Maturity scan Triggering discussions Defining roadmap
  • 38. Integration is continuous Should be in place • Teams integrate as fast as possible • Teams work with the same DOD • Integration tests can be run by everyone or started upon check-in • Team make agreements on how to deal with integration tests Challenges • Number of teams • Integration at system level • Hardware components • Organizational boundaries • Dependencies not known • Infrastructure • Different heartbeats
  • 39.
  • 40. CI/CD requires that (in random order) 4 Teams collaborate with each other Deployment is a hands-off process Feedback loop to improve quality Features are launched frequently Acceptance criteria are clear Teams have all required skills and knowledge Tests are automated Valori-version1.2-2017 Architecture supports partial development and release
  • 41. What do the requisites mean to you? 42
  • 42. Assignment 1. Divide in groups 2. Define what the requisite means to you (5 min) 3. Rate individually how your team/ organization scores (1 min) 4. List as a group some (20 min) • things you have in place to fulfill this requisite • challenges you recognize • Time is limited • Mission is information gathering • Tip: Identify items, don’t get lost in the discussion
  • 44. How to pick your team • You got this covered and are willing to share some tips • You are currently struggling with this and want to discuss it with your peers • You find this important and want to compare your status • You want to learn about this topic since its quite new for you
  • 50. [SC]2 morning workshop, 4 Oct. 2017 [SC]2 afternoon workshop, 4 Oct. 2017 TestNet workshop, 11 Oct. 2017 Teams collaborate with each other Architecture supports partial development and release Tests are automated Deployment is a hands-off process Acceptance criteria are clear Features are launched frequently Feedback loop to improve quality Teams have all required skills and knowledge
  • 53. Green field Do it right from day 1 Ensure that everybody supports the approach Write automated test for each story 54 Testers are involved during refinement to ensure that each acceptance criterium can be tested
  • 54. Legacy Environment 1. Set up version control 2. Create an automatic build process 3. Sit with users to identify high value scenario’s 4. Create an Automated Functional Test as smoke test 5. Expand tests while developing • E.g. Test hardening to add alternative and exception paths • E.g. By defining tests for new stories 55 Challenge 1: Business does not understand why you have to spend time with defining tests for a system that is already accepted and in production Challenge 2: System is not suited for Automation e.g. structure or object recognition
  • 56. When to test? When anything changes in: 57 Executable Code Configuration Host Environment Data
  • 57. What to test…. 58 Process of creating executable code - Syntax of source code is correct User Acceptance Test - System supports customer journey Exploratory tests - Validation check Integration test - System works within system of other systems Functional and NF tests - System delivers value as intended - System complies to capacity, security, availability, etc. requirements Smoke test and deployment test - Systems is correctly and installed and configured on target environment Configuration test - 1: ensure references to external service in configuration setting are OK - 2: Run smoke test Code Quality Criteria - e.g. test coverage and code metrics Unit testing - Code behaves as expected
  • 58. 59
  • 59. Assignment: CI/CD Test Strategy Your organization is moving towards CI/CD. They ask you to draw up a plan to (re)organize testing to ensure that Quality is built-in Time to market is reduced We can do Validated learning Explain What tests (or quality measures) you think are necessary? Which of them should you start with How would you organize them What benefits would this yield. 60
  • 61. Aim of this session 62
  • 62. Derk-Jan Valori Coltbaan 4a 3439 NG NIEUWEGEIN The Netherlands • derkjandegrood@valori.nl • +31(0)651807878 • www.valori.nl • @DerkJanDeGrood • http://djdegrood.wordpress.com 63

Notas do Editor

  1. DevOps DevOps DevOps DevOps DevOps Lean Data-masking Data-masking IoT IoT IoT IoT IoT IoT Testbots Augmented-reality Crowd-sourcing Crowd-sourcing A/B A/B A/B A/B A/B TDD TDD TDD TDD TDD ATTD BDD BDD Agile/Scrum Agile/Scrum Agile/Scrum Agile/Scrum Agile/Scrum Agile/Scrum Agile/Scrum Programming CI/CD CI/CD CI/CD CI/CD CI/CD CI/CD CI/CD Micro Services Micro Services Blockchain Tooling Tooling Tooling Tooling ----- DevOps Lean Data masking IoT Test Bots Augmented reality Crowd sourcing A/B TDD ATTD DBB Agile/Scrum Programming CI/CD Micro Services Tooling
  2. Organizational life span, goes through different phases…. When organizations fail to re-invent themselves they decline
  3. In 2012 I wrote an article about the discontinuity of TPI. I did not yet use the word “disruptive” I had the image of getting of the beaten track and walking through the growth towards a easy road. Being caught up by new innovations Not predictable…
  4. 3D printing – houses, furniture Goodbye IKEA IA and robots Selfdriving cars – Taxi service?
  5. The impact of disruptive innovations is hard to predict!
  6. Collaborate: e.g. Developers, Testers, System & DB administrators, Managers [xxv] Customers and Project managers [93] Users Validated learning: Delivering fast allows you to verify whether your features and bugfixes are useful [12] Note: it requires that you measure how you solution is perceived by the user/customer. E.g. production monitoring. Fail foreward: internal learning by performing experiments. Has overlap with validated learning, but in this case I make the distinction between internal learning to improve the WOW and external learning via the product (wich I call validated learning)
  7. [Continuous Delivery – Jezz Humble & David Farley]
  8. [7]
  9. The solution: Ensure that you moderate your system fast But most of all… Ensure that you can deploy it fast and predictable Get rid of the anti-paterns and known problems by Doing it often Doing it as early as possible Doing it the same way each time Thus…. The solution is CI/CD
  10. The executable code should be the same for each environment, so no hardcoded config data….. Anything that changes between environments should be captured as config data [13]
  11. https://puppet.com/blog/continuous-delivery-vs-continuous-deployment-what-s-diff CI: the practice of building and testing your application on every check-in [13]
  12. https://agilityhealthradar.com/safe-devops-assessment/
  13. Ellaborate on this……. See also [p17]
  14. Happiness factor…. https://devops.com/often-release-continuous-delivery/ By Christopher Tozzi has covered technology and business news for nearly a decade, specializing in open source, containers, big data, networking and security. He is currently Senior Editor and DevOps Analyst with Fixate.io and Sweetcode.io. So, if you’re doing continuous delivery, you have the option of releasing as frequently as you like—every day, every month or even every hour. Determining how often you actually release requires weighing several important factors, including:   How important are your updates? If changes to your app mostly involve mundane things such as interface tweaks, continuous deployment probably will confuse users more than please them. They will have to adapt constantly to new features. But if you can roll out big, user-friendly changes on a continual basis, then deploying continuously can help keep your users happy.  Is there a marketing advantage to be gained by waiting longer to release? Sometimes, advertising new features but waiting a while to release them can help build excitement. Case in point: Apple Inc.  Do other apps depend on your app? If you’re working within an ecosystem where your app integrates with other apps or platforms, continuous deployment makes the lives of partner developers more difficult because it requires them to adjust constantly to changes in your app. To help them ensure their work will always be compatible with yours, provide space between your releases.  Is your development pace consistent? If not, continuous deployment can be problematic because users will see rapid updates at some times, but stagnation at other times. Continuous deployment only works well for users if they can count on a relatively steady stream of updates.  Do your updates create a learning curve? If users will have to learn new tricks to use an updated app, continuous deployment may create more confusion than happiness.  Can multiple versions of your app coexist? If all users need to be running the same version of your app in order to be current, continuous deployment can help assure that they are. But if you can support multiple versions of the same app at once, less frequent releases should work for you.    If you can’t decide how frequently to release, you might consider releasing on a fixed time schedule—once every two months, every six months, every year or whatever works for you. This is what Canonical has done with Ubuntu Linux for a long time: It releases a new version of the operating system on the second Thursday of October and the fourth Thursday of April each year (with a few exceptions). This system assures that developers and users always know the schedule for a new release.  Whatever approach you take, the most important thing is to realize that continuous delivery does not require you to release as often as you can. It gives you the flexibility to release as often as you want. Deciding how often that should be is up to you.
  15. https://devops.com/often-release-continuous-delivery/ So, if you’re doing continuous delivery, you have the option of releasing as frequently as you like—every day, every month or even every hour. Determining how often you actually release requires weighing several important factors, including:   How important are your updates? If changes to your app mostly involve mundane things such as interface tweaks, continuous deployment probably will confuse users more than please them. They will have to adapt constantly to new features. But if you can roll out big, user-friendly changes on a continual basis, then deploying continuously can help keep your users happy.  Is there a marketing advantage to be gained by waiting longer to release? Sometimes, advertising new features but waiting a while to release them can help build excitement. Case in point: Apple Inc.  Do other apps depend on your app? If you’re working within an ecosystem where your app integrates with other apps or platforms, continuous deployment makes the lives of partner developers more difficult because it requires them to adjust constantly to changes in your app. To help them ensure their work will always be compatible with yours, provide space between your releases.  Is your development pace consistent? If not, continuous deployment can be problematic because users will see rapid updates at some times, but stagnation at other times. Continuous deployment only works well for users if they can count on a relatively steady stream of updates.  Do your updates create a learning curve? If users will have to learn new tricks to use an updated app, continuous deployment may create more confusion than happiness.  Can multiple versions of your app coexist? If all users need to be running the same version of your app in order to be current, continuous deployment can help assure that they are. But if you can support multiple versions of the same app at once, less frequent releases should work for you.    If you can’t decide how frequently to release, you might consider releasing on a fixed time schedule—once every two months, every six months, every year or whatever works for you. This is what Canonical has done with Ubuntu Linux for a long time: It releases a new version of the operating system on the second Thursday of October and the fourth Thursday of April each year (with a few exceptions). This system assures that developers and users always know the schedule for a new release.  Whatever approach you take, the most important thing is to realize that continuous delivery does not require you to release as often as you can. It gives you the flexibility to release as often as you want. Deciding how often that should be is up to you.
  16. Teams collaborate to deliver each sprint a working product Integration is continue Tests are automated Tests are run from the build server Deployment is hands-off process TDD ensures no backlog in TA Acceptance criteria are clear Feedback loop to create better tests in place Product goes live regularly
  17. Teams collaborate to deliver each sprint a working product Integration is continue Tests are automated Tests are run from the build server Deployment is hands-off process TDD ensures no backlog in TA Acceptance criteria are clear Feedback loop to create better tests in place Product goes live regularly
  18. [Continuous Delivery – Jezz Humble & David Farley]
  19. [p95[ When dealing with
  20. [93]
  21. [95] Note that business might not understand why you have to spend time with defining tests for a system that is already accepted and in production