www.poppendieck.com [email protected]
Mary PoppendieckPhoto © Tom Poppendieck
Copyright©2018 Poppendieck.LLC 2
Peter Drucker
Photo © Tom Poppendieck
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
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.
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
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
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
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
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
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
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
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?
Copyright©2018 Poppendieck.LLC 13Photo © Tom Poppendieck
‘Application Development Without Programmers’ – James Martin, 1981
Do we Really Need Programmers?
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.
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.
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
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
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
“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
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:
Copyright©2018 Poppendieck.LLC 21