introductie continuous delivery 3.0 door het nederlands instituut voor de software industrie
TRANSCRIPT
1
Continuous Delivery 3.0Velocity Culture: “Amazon releases software every 11.6 seconds”,
Amazon 2011
Session 1: Introduction
2017Q1-Q2
Jan Vlietland, Carlo Kuip
Continuous Delivery 3.0
• Introduction Continuous Delivery 3.0• Organized by:
– Utrecht University - www.uu.nl– Netherlands Institute for the Software Industry - nisi.nl
• In collaboration with:– NederlandICT - www.nederlandict.nl– Software VOC
• Powered by:– Search4Solutions – www.search4solutions.nl
2
• Course is part of the Netherlands Institute for the Software Industry
• NISI is a spin-off of Utrecht University• Mission: provide (scientific) knowledge in practical courses to
advance the software industry in the Netherlands• With the results we fund new scientific research
3
NISI
4
NISI core team
Dr. Jan Vlietland has a doctorate in Agile eco-systems, is co-founder and head of NISI, and has been working in the software industry for over 20 years.
Prof. Sjaak Brinkkemper is head of the faculty of Information and Computer Science and professor at Utrecht University, and NISI initiator.
Dr. Slinger Jansen is assistant professor at the faculty of Information and Computer Science of Utrecht University, and heads research at large software companies.
Garm Lucassen performs PhD research about User Stories.
5 5
Practice Continuous Delivery 3.0• Sjaak Brinkkemper• Fabiano Dalpiaz• Arjan Franzen• Slinger Jansen• Ewan Klomp• Garm Lucassen• Maikel Meeuwse• Jan Vlietland
• Theme: Agility of software companies
• Research themes – Continuous Delivery– Agile scaling: – Social ecosystems
6
Research Agenda
Course Objectives
• Help companies to cope with fast moving markets• Advance participants knowledge about Continuous Delivery 3.0• Help participants to implement CD 3.0 in their organizations• Knowledge sharing between Continuous Delivery experts of
different companies• Certification by NISI
7
Certification
• Continuous Delivery 3.0 exam and (hopefully) certification at the end of the course
• We are currently working on getting an independent institute for the certification of Continuous Delivery 3.0 in place
9
Homework
• As preparation for the next course part• Confidential• No criteria for certificate• Participant presentations• Active participation increases value for money
Preparing questions• What is your role?• Software development, software architecture (support) or a business role?• How many years of experience do you have with Continuous Delivery and CD
3.0?• Which products are developed in your company / unit and for which markets?• How often would you like to release new product versions to the market?• How large is your company (and your unit)?• What is your largest customer network and how big is your network?• Can you briefly describe the IT landscape?
Participants
Various roles:• Senior Management (2)• Product Manager (1)• Project Manager (1)• Consultant (2)• Senior Software Developer (5)
Participants
Average years of experience with Continuous Delivery (3.0):• None to little (6)• 1 year (4)• 2+ years (1)
Participants
Product & Services:• Consulting (1)• Public Transport (2)• Enterprise Resource Planning (4)• Public sector (2)• Finance (1)• Health care (1)
Participants
Company size• >1.000 (5)• 100 – 1000 (2)• 10 – 100 (4)
Participants
Objectives Continuous Delivery 3.0• 2x per year (1)• 4x per year (1)• 6-12x per jaar (3)• 24x per year (1)• Faster (2)• Continuous (4)
Participants
Used technology:
• What is your biggest Continuous Delivery impediment?
• What do you hope to find in this course?
• As many needs as participants!
Participants Needs
17
18
Agenda1. Introduction2. Continuous Integration, Testing, Deployment
– Questions & Answers– Break & Discussion
3. Continuous Tracking, Continuous Planning– Questions & Answers– Break & Discussion
4. Tooling & Cloud– Demonstration– Break & Discussion
5. Continuous Improvement– Questions & Answers
6. Closure
• Continuous Delivery enables fast delivery of new software to the market, with technology that integrates, tests en distributes software in a fast pace
• But what do you need to have in place to enable such delivery?• And how to grasp the need of your customers and market?• How do your select the right features to deliver customer oriented software?
• This course offers answers to these questions!• We take modern software companies as an example and go in the details of a
Continuous Delivery 3.0 cycle from concept to cash.
19
Market theme
20
Agile/Scrum
Product
BacklogScrum Master
ProductOwner
Developmentteam
Customers
21
Continuous Delivery 3.0 overview
ContinuousTesting
ContinuousDeployment
Continuous Integration
ContinuousPlanning
Continuous Tracking
Continuous Delivery 3.0 defined
Continuous delivery (CD) is the automation of the software delivery process, which enables teams to continuously produce software. It aims at
building, testing, and releasing software faster and more frequently.
Continuous delivery 3.0 (CD3.0) is the automation of the full software engineering cycle, which enables teams to continuously produce software, track usage and adapt planned engineering. It aims at tracking, planning,
building, testing, and releasing software faster and more frequently. Sources: https://en.wikipedia.org/wiki/Continuous_delivery
Continuous Delivery topics
Commit BuildCheck Code
Quality
Store in
respository
Unit testing
Acceptance testing
Performance
testing
Deploy on
acceptance
Deploy on
performanceenvironment
Deploy to
production
ContinuousTesting
ContinuousDeployment
Continuous Integration
24
Agenda1. Introduction2. Continuous Integration, Testing, Deployment
– Questions & Answers– Break & Discussion
3. Continuous Tracking, Continuous Planning– Questions & Answers– Break & Discussion
4. Tooling & Cloud– Demonstration– Break & Discussion
5. Continuous Improvement– Questions & Answers
6. Closure
25
Continuous Integration
Continuous Delivery workflow orchestrator
CommitBuild &
Document generation
Check Code
Quality
Store in
respository
Unit testing
SourceCode
Repository
Build Processor & Document
Generator
Code Quality Checker Unit Test Runner Component
Repository
26
Continuous Testing
Store in
respository
Unit testing
Acceptance testing
Performance
testing
Deploy on
acceptance
Deploy on
performanceenvironment
Deploy to
production
Continuous Delivery workflow orchestrator
Unit Test Runner System Tests Acceptance Tests Performance
Tests
27
Continuous Deployment
Store in
respository
Unit testing
Acceptance testing
Performance
testing
Deploy on
acceptance
Deploy on
performanceenvironment
Deploy on
production
Continuous Delivery workflow orchestrator
Deploy on
Acceptance
Deploy on
PerformanceEnvironment
Deploy for A/B Testing on
Production
Deploy on Production
28
Stack Building
Application
Configuration
Infrastructure
Application
Configuration
Host Operating System
Platform (e.g. Docker Engine)
Host Operating System
Bin/Libs Bin/Libs
Hypervisor
Application
Configuration
Application
Configuration
Bin/Libs Bin/Libs
Guest OS Guest OS
29
Questions & Answers
ContinuousTesting
ContinuousDeployment
Continuous Integration
30
Break & Discussion
31
Agenda1. Introduction2. Continuous Integration, Testing, Deployment
– Questions & Answers– Break & Discussion
3. Continuous Tracking, Continuous Planning– Questions & Answers– Break & Discussion
4. Tooling & Cloud– Demonstration– Break & Discussion
5. Continuous Improvement– Questions & Answers
6. Closure
32
Continuous Delivery 3.0 overview
ContinuousTesting
ContinuousDeployment
Continuous Integration
ContinuousPlanning
Continuous Tracking
ContinuousPlanning
Continuous Tracking
Continuous Tracking topics
Data Collecting
Data Analyzing
ResultReporting
Sources• App & Browser• Social Media• Client Contact
Types• Qualitative• Quantitative• Offline• Online
34
Data Collection sources Data Collecting
• Session Reply – recordings of real user sessions. Provides insight of user actions.
• User Heatmaps – offers insight about app or web usage by visualizing screen usage of multiple users.
• Real-time In-App data – offers data to help understand user engagement, such as activities, underlying platform, underlying hardware, and geographical distribution.
• Crash Recordings- automatic detection and storage of crashed sessions.
• Auto-Detect UI Problems – detect of unresponsive actions of users, such as tapping, swiping and pressing.
35
Data Collection Methods Data Collecting
• Correlation Analysis - researches the relationships between variables
• Regression Analysis – researches the causal relationship between one or more independent variables and a dependent variable
• Monte Carlo – simulation method in which a physical process is simulated many times, each time with different starting conditions
• Neural networks - analyzing mathematical models with a neural network, by recognizing patterns and manipulating data
37
Data Analyzing Methods Data Analyzing
38
Information Reporting ResultReporting
Tools: https://www.adpushup.com/blog/web-analytics-tools-google-analytics-alternatives/
ContinuousPlanning
Continuous Tracking
Continuous Planning topics
Data Collecting
Data Analyzing
ResultReporting Visualization
Agile Portfolio
Decision making
40
Continuous Portfolio Planning
Large development chunks
More traditional releases?
Sprint
Sprint
Sprint
DD
D
Epic
Story
Task
Feature
Agile Portfolio
41
Continuous Planning Roadmap Visualization
Epic 2016Q4 2017Q1 2017Q2 2017Q3 2017Q4
Integrate with partner app
Improve UI conversion rate
Automate IT Operations
Continuous Planning specials Decision making
• Agile business cases• Managing deadlines• Supply based planning• Fast laning (e.g. Incident Handling)• Agile Scaling automation
42
43
Questions & Answers
ContinuousTesting
ContinuousDeployment
Continuous Integration
44
Break & Discussion
45
Agenda1. Introduction2. Continuous Integration, Testing, Deployment
– Questions & Answers– Break & Discussion
3. Continuous Tracking, Continuous Planning– Questions & Answers– Break & Discussion
4. Tooling & Cloud– Demonstration– Break & Discussion
5. Continuous Improvement– Questions & Answers
6. Closure
Client Story
Dimensions Data Modeler
Dimensions
SQL
developer
SMART-R SMART-T
48
Continuous Delivery 3.0 ToolingSCM Build Integrate Quality Store Test DeployPlanTrack
49
Cloud Offering
√ √ √ √ √ √ √ √√ √ √ √ √√ √ √ √ √
Remark: Currently under research
SCM Build Integrate Quality Store Test DeployPlanTrack
50
Agenda1. Introduction2. Continuous Integration, Testing, Deployment
– Questions & Answers– Break & Discussion
3. Continuous Tracking, Continuous Planning– Questions & Answers– Break & Discussion
4. Tooling & Cloud– Demonstration– Break & Discussion
5. Continuous Improvement– Questions & Answers
6. Closure
• Continuous Delivery 3.0 Maturity Assessment• Continuous Delivery 3.0 Growth Model• Value Stream Mapping• Monitoring, transparency & Feedback• Engagement factors
51
Continuous Improvement
ContinuousTesting
ContinuousDeployment
Continuous Integration
ContinuousPlanning
Continuous Tracking
53
Questions & Answers
ContinuousTesting
ContinuousDeployment
Continuous Integration
ContinuousPlanning
Continuous Tracking
54
Agenda1. Introduction2. Continuous Integration, Testing, Deployment
– Questions & Answers– Break & Discussion
3. Continuous Tracking, Continuous Planning– Questions & Answers– Break & Discussion
4. Tooling & Cloud– Demonstration– Break & Discussion
5. Continuous Improvement– Questions & Answers
6. Closure
Session Date Topic Teacher
1 22 feb Introductie en CD 3.0 Jan Vlietland, Carlo Kuip-Snelstart
2 01 mrt Continuous Integration Sjaak Brinkkemper/Jan Vlietland, Arjan Franzen-Zen Software
3 08 mrt Continuous Testing Jan Vlietland / Jeroen Bultje, Ewan Klomp-Universiteit Utrecht
4 15 mrt Continuous Deployment Arjan Franzen-Zen Software, Dmitriy Novakovskiy-Google NL
5 22 mrt Continuous Tracking Jan Vlietland
6 29 mrt Continuous Planning Jan Vlietland, Ewan Klomp-Universiteit Utrecht
7 05 apr Cloud Solutions Jan Vlietland, Gerard van der Pol-Microsoft NL
8 12 apr Continuous Improvement Jan Vlietland
55
Course dates and Topics
Homework
• Pick a software solutions used by end customers• Develop a pipeline for that solution• Bear in mind the
– Existing technological landscape– Current working processes and methods– Contracts with suppliers
• Prepare questions with regard to Continuous Integration• Send the homework in 1A4 by mail to [email protected]
• Knowledge development• Knowledge sharing• Connecting the Software Industry
57
Workgroup Continuous Delivery 3.0
58
Course website
http://nisi.nl/cursussen/continuousdeliverypipelines
You will receive the slides by mail or via the website
59
InformationFor more information about the course you can contact• Jan Vlietland• [email protected]• 06 – 2041 1834Don’t forget to submit your homework!
[email protected] +31(0)30 - 268 5398
Copyright © 2017 Netherlands Institute for the Software Industry (NISI) and Utrecht University
Thank you for your attention!