introductie continuous delivery 3.0 door het nederlands instituut voor de software industrie

58
1 Continuous Delivery 3.0 Velocity Culture: “Amazon releases software every 11.6 seconds”, Amazon 2011 Session 1: Introduction 2017Q1-Q2 Jan Vlietland, Carlo Kuip

Upload: maikel-meeuwse

Post on 13-Apr-2017

112 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

1

Continuous Delivery 3.0Velocity Culture: “Amazon releases software every 11.6 seconds”,

Amazon 2011

Session 1: Introduction

2017Q1-Q2

Jan Vlietland, Carlo Kuip

Page 2: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 3: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

• 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

Page 4: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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.

Page 5: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

5 5

Practice Continuous Delivery 3.0• Sjaak Brinkkemper• Fabiano Dalpiaz• Arjan Franzen• Slinger Jansen• Ewan Klomp• Garm Lucassen• Maikel Meeuwse• Jan Vlietland

Page 6: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

• Theme: Agility of software companies

• Research themes – Continuous Delivery– Agile scaling: – Social ecosystems

6

Research Agenda

Page 7: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 8: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 9: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

9

Homework

• As preparation for the next course part• Confidential• No criteria for certificate• Participant presentations• Active participation increases value for money

Page 10: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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?

Page 11: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

Participants

Various roles:• Senior Management (2)• Product Manager (1)• Project Manager (1)• Consultant (2)• Senior Software Developer (5)

Page 12: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

Participants

Average years of experience with Continuous Delivery (3.0):• None to little (6)• 1 year (4)• 2+ years (1)

Page 13: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

Participants

Product & Services:• Consulting (1)• Public Transport (2)• Enterprise Resource Planning (4)• Public sector (2)• Finance (1)• Health care (1)

Page 14: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

Participants

Company size• >1.000 (5)• 100 – 1000 (2)• 10 – 100 (4)

Page 15: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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)

Page 16: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

Participants

Used technology:

Page 17: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

• What is your biggest Continuous Delivery impediment?

• What do you hope to find in this course?

• As many needs as participants!

Participants Needs

17

Page 18: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 19: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

• 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

Page 20: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

20

Agile/Scrum

Product

BacklogScrum Master

ProductOwner

Developmentteam

Customers

Page 21: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

21

Continuous Delivery 3.0 overview

ContinuousTesting

ContinuousDeployment

Continuous Integration

ContinuousPlanning

Continuous Tracking

Page 22: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 23: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 24: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 25: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 26: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 27: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 28: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 29: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

29

Questions & Answers

ContinuousTesting

ContinuousDeployment

Continuous Integration

Page 30: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

30

Break & Discussion

Page 31: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 32: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

32

Continuous Delivery 3.0 overview

ContinuousTesting

ContinuousDeployment

Continuous Integration

ContinuousPlanning

Continuous Tracking

Page 33: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

ContinuousPlanning

Continuous Tracking

Continuous Tracking topics

Data Collecting

Data Analyzing

ResultReporting

Page 34: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

Sources• App & Browser• Social Media• Client Contact

Types• Qualitative• Quantitative• Offline• Online

34

Data Collection sources Data Collecting

Page 35: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

• 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

Page 36: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

• http://www.mousestats.com/sales/playbackdemo

36

Data Collection demo

Page 37: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

• 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

Page 38: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

38

Information Reporting ResultReporting

Tools: https://www.adpushup.com/blog/web-analytics-tools-google-analytics-alternatives/

Page 39: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

ContinuousPlanning

Continuous Tracking

Continuous Planning topics

Data Collecting

Data Analyzing

ResultReporting Visualization

Agile Portfolio

Decision making

Page 40: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

40

Continuous Portfolio Planning

Large development chunks

More traditional releases?

Sprint

Sprint

Sprint

DD

D

Epic

Story

Task

Feature

Agile Portfolio

Page 41: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

41

Continuous Planning Roadmap Visualization

Epic 2016Q4 2017Q1 2017Q2 2017Q3 2017Q4

Integrate with partner app

Improve UI conversion rate

Automate IT Operations

Page 42: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

Continuous Planning specials Decision making

• Agile business cases• Managing deadlines• Supply based planning• Fast laning (e.g. Incident Handling)• Agile Scaling automation

42

Page 43: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

43

Questions & Answers

ContinuousTesting

ContinuousDeployment

Continuous Integration

Page 44: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

44

Break & Discussion

Page 45: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 46: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

Client Story

Page 47: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

Dimensions Data Modeler

Dimensions

SQL

developer

SMART-R SMART-T

48

Continuous Delivery 3.0 ToolingSCM Build Integrate Quality Store Test DeployPlanTrack

Page 48: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

49

Cloud Offering

√ √ √ √ √ √ √ √√ √ √ √ √√ √ √ √ √

Remark: Currently under research

SCM Build Integrate Quality Store Test DeployPlanTrack

Page 49: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 50: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

• 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

Page 51: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

53

Questions & Answers

ContinuousTesting

ContinuousDeployment

Continuous Integration

ContinuousPlanning

Continuous Tracking

Page 52: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 53: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 54: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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]

Page 55: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

• Knowledge development• Knowledge sharing• Connecting the Software Industry

57

Workgroup Continuous Delivery 3.0

Page 56: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

58

Course website

http://nisi.nl/cursussen/continuousdeliverypipelines

You will receive the slides by mail or via the website

Page 57: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

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

Page 58: Introductie Continuous Delivery 3.0 door het Nederlands Instituut voor de Software Industrie

Thank you for your attention!