Slide 1

Slide 1 text

The Transition from Product to Infrastructure Paul Stack http://twitter.com/stack72 mail: [email protected] The evolution of Software Delivery

Slide 2

Slide 2 text

About Me Infrastructure Engineer Reformed ASP.NET / C# Developer DevOps Extremist Conference Junkie

Slide 3

Slide 3 text

Being a software engineer is easy*

Slide 4

Slide 4 text

1. Someone has an idea

Slide 5

Slide 5 text

2. Requirements are gathered

Slide 6

Slide 6 text

3. Development happens

Slide 7

Slide 7 text

4. Testing / Feedback happens

Slide 8

Slide 8 text

99. The software is deprecated

Slide 9

Slide 9 text

ALL SOFTWARE has a should have a lifespan

Slide 10

Slide 10 text

The creation of software is only the beginning…

Slide 11

Slide 11 text

“Until your pretty code is in production, making money, or doing whatever it does, you’ve just wasted your time” Chris Read @cread #LondonCI

Slide 12

Slide 12 text

How does code get to your users?

Slide 13

Slide 13 text

Delivery isn’t the #1 priority of the average developer

Slide 14

Slide 14 text

“How long would it take your organisation to deploy a change that involved just one single line of code? Do you do this on a repeatable, reliable basis?” Implementing Lean Software Development Mary Poppendieck

Slide 15

Slide 15 text

Value Stream Map

Slide 16

Slide 16 text

Has anyone read this book?

Slide 17

Slide 17 text

Continuous Delivery …. is a set of practices and principles aimed at, building, testing and releasing software faster and more frequently.

Slide 18

Slide 18 text

Why do we have a problem releasing our software?

Slide 19

Slide 19 text

1. Continuous Delivery is something only startups can achieve

Slide 20

Slide 20 text

2. Continuous Delivery only works for NodeJS / Ruby / Go developers

Slide 21

Slide 21 text

3. We can hire a consultant to help us implement ‘Continuous Delivery’

Slide 22

Slide 22 text

4. Right click and deploy in Visual Studio is continuous delivery

Slide 23

Slide 23 text

5. Continuous delivery is as simple as hooking github to our Azure account…..

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

Image by John Turner of PaddyPower.com

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

So what does an infrastructure engineer do?

Slide 35

Slide 35 text

1. Provides the ability for development teams self service tools

Slide 36

Slide 36 text

2. Be an evangelist of getting developers to take ownership of their systems

Slide 37

Slide 37 text

3. Take responsibility for the health of the entire system

Slide 38

Slide 38 text

This sounds a lot like that DevOps thing I’ve heard of..

Slide 39

Slide 39 text

“DevOps is not about learning each other's job, it's understanding the money is made when software is actually running in production.” Dave Mangot @davemangot

Slide 40

Slide 40 text

We are *all* part of the same team!

Slide 41

Slide 41 text

The Benefits of Continuous Delivery • High Performing IT Teams are more Agile! • High Performing IT Teams can recover faster! • High Performing IT Teams can experiment more! https://puppetlabs.com/sites/default/files/2014-state-of-devops-report.pdf

Slide 42

Slide 42 text

I work in a Windows environment, can I take advantage of these practices?

Slide 43

Slide 43 text

Further Reading

Slide 44

Slide 44 text

Paul Stack @stack72