22
www.poppendieck.com [email protected] Mary Poppendieck Photo © Tom Poppendieck

Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

www.poppendieck.com   [email protected]

Mary PoppendieckPhoto © Tom Poppendieck

Page 2: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

Copyright©2018 Poppendieck.LLC 2

Peter Drucker

Photo © Tom Poppendieck

Page 3: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

COLOSSUS – Designed & Prototyped ENIAC – Commissioned

Copyright©2018 Poppendieck.LLC 3

U.S. Army photo from the archives of the ARL Technical Library

Image Credit: The National Archives (UK). Public Domain

Page 4: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

Copyright©2018 Poppendieck.LLC

4

Image Credit: University of Pennsylvania

The six ENIAC ‘operators’:Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Wescoff, Fran Bilas, Ruth Lichterman

Mary Jackson Katherine Johnson Dorothy Vaughan Image Credit: NASA

Before electronic computers, there were human computers.

Page 5: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

1952 : Grace Hopper experimented with a prototype compiler despite skepticism from management.Her philosophy “Go ahead and do it. You can apologize later."

1953: First Compiler released by UNIVACFirst open source: Customers received source code and were invited to send improvements.

First Compiler

Copyright©2018 Poppendieck.LLC 5

Page 6: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

Copyright©2018 Poppendieck.LLC 6

Grace Hopper entering ‘codes’ on paper tape ~1944 Grace Hopper teaching COBOL ~1961

Image Credit: Bettmann/Getty Images Image Credit: Jeffrey Chuan Chu Collection, Computer History Museum

Page 7: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

First Electronic Switching SystemDesign goal: As reliable as existing switching systems  A maximum of two hours downtime in 40 years.Over half the hardware and software was dedicated to reliability 

Programmers (scientists, engineers, and mathematicians) worked at Bell Labs on developing ESS, along side hardware & manufacturing engineers.

Copyright©2018 Poppendieck.LLC

7

1ESS – Succasunna, NJ – Installation began in 1963, operational in 1965.

Image Credit: AT&T Archives& History Center

Page 8: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

Copyright©2018 Poppendieck.LLC

8

Software came bundled with hardware. It was enhanced by customers with COBOL.

1964:  IBM announced the 360

Image Credit: NASA

“...I believe this nation should commit itself to achieving the goal, before this decade is out, of landing a man on 

the Moon and returning him safely to the Earth."

1961:  John F Kennedy proposed going to the moon

Page 9: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

Copyright©2018 Poppendieck.LLC 9

The major cause of the software crisis is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem. — Edsger W. Dijkstra, 1972

Photo © Tom Poppendieck

Page 10: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

Ethernet is BornBob Metcalfe envisions the connected office of the future.

Copyright©2018 Poppendieck.LLC 10

Image Credit: DigiBarn Computer Museum

A Major Milestone See: Gil Press, A Very Short History of Information Technology, Forbes, April 2013

Page 11: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

Information Systems & Data Processing

Managers uncomfortable with technologyProgrammers in a separate department Emphasized cost control and governanceContracting model

Engineering Systems & Technology

Managers very comfortable with technologyProgrammers in engineering departmentEmphasized good engineering and responsibilityStrategic asset

Copyright©2018 Poppendieck.LLC 11

Page 12: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

Copyright©2018 Poppendieck.LLC

12

Image Credit: Time Inc.

PLC’s using Ladder Logic become the building blocks of factory automation

Image Credit:RepairZone.com

A Domain-Specific

Language!

Is that a computer?

Page 13: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

Copyright©2018 Poppendieck.LLC 13Photo © Tom Poppendieck

‘Application Development Without Programmers’  – James Martin, 1981

Do we Really Need Programmers?

Page 14: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

April 1993:  CERN put Web software into the Public DomainMosaic Browser released by10 students at the  University of Illinois, Champaign‐Urbana

Copyright©2018 Poppendieck.LLC 14

The World Wide Web is Born

Tim Berners‐Lee proposal, 1989.

Page 15: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

CIOs doubled down on the Contracting Model

WaterfallCost CenterGovernance‘The Business’OutsourcingProjects

Responsibility for Software:

Any system running on enterprise infrastructure:  

CIOFactory automation: 

Facilities EngineeringEmbedded software:

Product Engineering Software product startups:

Business Units

Copyright©2018 Poppendieck.LLC 15

IT decisions were increasingly madeby people who had never written code.

Page 16: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

Chris Pinkham proposed an infrastructure service to Amazon Management. 2006 – Amazon released EC2, its 1st cloud offering

Google hired Ben Treynor to lead a team of seven 

software engineers running a production environment.The team proceeded to invent the job of Site Reliability Engineer

Copyright©2018 Poppendieck.LLC 16

+Extremely Large, 

Exceptionally Reliable Data CentersSelf‐provisioned Infrastructure

=The Cloud

Page 17: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

Meanwhile, at companies like Google,Engineers push technology to its limits

Agile:  Small Teams, Short Release Cycles, Test‐Driven Dev, Continuous Integration

1. Emphasis is on ‘Delivering Working Software’, not outcomes or impact.

2. Strong distinction between ‘The Business’ and developers remains.

3. Developers are not responsible for ‘Building the Right Thing’. 

Copyright©2018 Poppendieck.LLC 17

Jeff Dean

Origins of Big Data:  Google File System, MapReduce, BigTable…

Sanjay Ghemawat

BUT

Now working on Artificial Intelligence

Page 18: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

The Internet of Smart Things

1. Always on 3G cell connection to the internet, paid for by Tesla. 

2. Mobile app can control the car and read its sensors.

3. Updates to firmware / software are downloaded and installed. 

Car recalled? No problem! Just download new software.

4. Autopilot was added in 2014/15. 

Copyright©2018 Poppendieck.LLC 18

Tesla Model S – Car of the Year

Page 19: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

“We are a technology company that happens to ___________.”

Technology EnablersInfrastructure as CodeContinuous Delivery

Architecture EnablersMicroservicesOrganization  Architecture

Cultural EnablersAlert to Cognitive BiasesComfortable with Messy Uncertainty

Copyright©2018 Poppendieck.LLC 19

Photo © Tom Poppendieck

Page 20: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

Copyright©2018 Poppendieck.LLC 20

We Don’t Need Proxies:The ProcessThe Market Study‘The Business’The Product Owner

Most companies are in business to make money. Lean companies make money to stay in business. – Jon Shook 

ProfitProductivityShareholder ValueCost, Schedule, Scope

Not Even Financial Proxies:

Page 21: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

Copyright©2018 Poppendieck.LLC 21

Page 22: Stop Delivering Software · Do we Really Need Programmers? ... Dev, Continuous Integration 1.Emphasis is on ‘Delivering Working ... Continuous Delivery Architecture Enablers Microservices

Photo © Tom Poppendieck

[email protected] www.poppendieck.com

Mary Poppendieck