Open source, DevOps, cloud computing, and the internet of things don't just require new technology, they require new thinking about how society and business is to be organized. It's critical, therefore, to infuse the work that developers do with human values, and to build a world that we are proud of.
2. #oscon @oscon @timoreilly
âWe know about all these new technologies. What we
donât know is how to organize ourselves to use them
effectively.â
- An IT executive at Fidelity, during Q&A
after a talk I gave there in 2008
Wednesday, July 23, 14
3. #oscon @oscon @timoreilly
Open Source
âIn âThe Mythical Man-Monthâ, Fred Brooks observed that programmer time is
not fungible; adding developers to a late software project makes it later. He
argued that the complexity and communication costs of a project rise with the
square of the number of developers, while work done only rises linearly. This
claim has since become known asâBrooks's Law' and is widely regarded as a
truism. But if Brooks's Law were the whole picture, Linux would be impossible.
Gerald Weinberg's classic âThe Psychology Of Computer Programmingâ
supplied what, in hindsight, we can see as a vital correction to
Brooks. ...Weinberg observed that in shops where developers are not territorial
about their code, and encourage other people to look for bugs and potential
improvements in it, improvement happens dramatically faster than elsewhere.â
Eric Raymond, âThe Cathedral and the Bazaarâ
Wednesday, July 23, 14
There is no question that tools - especially version control systems and the wide area communication and coordination capabilities of the internet -
were key to the open source revolution. But it was also a profound cultural revolution: a statement about how the world ought to be different.
And people - especially in the corporate world - struggled with those cultural differences. What? Show my code to the world. A lot of the
resistance was as much about embarrassment and trust and not knowing how to collaborate, rather than economics.
5. #oscon @oscon @timoreilly
Wednesday, July 23, 14
to the White House sharing their code on Github, I think you can say that the cultural change is well underway.
Open source was also rooted in a culture of generosity and reciprocity. I remember asking Larry Wall why he gave away patch, and RN, and
Perl, and he said âI had gotten so much from others that it seemed only fair to give back.â
Now that we are all blinded by the lights of Silicon Valley, itâs easy to think that tech is all about making it big. But itâs really still about
giving something back in thanks for all weâve received.
6. #oscon @oscon @timoreilly
Wednesday, July 23, 14
When I was asked that question at Fidelity, I also thought about the transformation of Amazon from an online bookstore into a
platform.
7. #oscon @oscon @timoreilly
How Amazon Became a Platform
â[Jeffâs] Big Mandate went something along these lines:
1) All teams will henceforth expose their data and functionality through service interfaces.
2) Teams must communicate with each other through these interfaces.
3) There will be no other form of interprocess communication allowed: no direct linking, no direct reads of
another teamâs data store, no shared-memory model, no back-doors whatsoever. The only
communication allowed is via service interface calls over the network.
4) It doesnât matter what technology they use. HTTP, Corba, Pubsub, custom protocols â doesnât matter.
Bezos doesnât care.
5) All service interfaces, without exception, must be designed from the ground up to be externalizable.
That is to say, the team must plan and design to be able to expose the interface to developers in the
outside world. No exceptions.
6) Anyone who doesnât do this will be fired.â
Steve Yegge, in http://siliconangle.com/furrier/2011/10/12/google-engineer-accidently-shares-his-internal-
memo-about-google-platform/
Wednesday, July 23, 14
How this happened was described by former Amazon engineer Steve Yegge in a leaked memo he wrote at Google, about how to become a platform.
Steve focused more on the technology side of this, but there was also a business organization side, as Amazon was organized into small
âtwo pizza teamsâ that reflected the Service Oriented Architecture of the platform in the service-oriented structure of the company.
8. #oscon @oscon @timoreilly
DevOps
ââŠitâs not about making developers and sysadmins report to
the same VP. Itâs not about automating all your configuration
procedures. Itâs not about tipping up a Jenkins server, or
running your applications in the cloud, or releasing your
code on Github. Itâs not even about letting your developers
deploy their code to a PaaS. The true essence of DevOps is
empathy.â
Jeff Sussna, âEmpathy: The Essence of DevOpsâ
Wednesday, July 23, 14
But thereâs an even more important point to be made about what has now come to be called DevOps - the native cultural and business
practices of the cloud era. As Jeff Sussna wrote in a recent post....
9. #oscon @oscon @timoreilly
Emergent Enterprise
âPromise theory doesnât naively assume that all promises will be kept. Humans break their promises
all the time; machines (which can also be agents in a network of promises) just break. But with
promise theory, agents are aware of the commitments theyâre making, and their promises are more
likely to reflect what theyâre capable of performing. ...
... we know the estimates were made with accurate information by the agent responsible, not by
external wishful thinkers without a clue.
And a well-formed network of promises includes contingencies and backups. What happens if Actor A
doesnât deliver on promise X? It may be counterintuitive, but a web of promises exposes its weak
links much more readily than a top-down chain of command. Networks of promises provide services
that are more robust and reliable than command and control management pushed down from above.â
Wednesday, July 23, 14
Mark Burgess has another take on it, which he calls Promise
Theory.
10. #oscon @oscon @timoreilly
Rescuing healthcare.gov
A team of engineers. They came in and worked tech
wizardry, right?
Maybe some of that, but a lot of the work was debugging the
communications failures that led the contractors to build
software components that didnât work together.
Wednesday, July 23, 14
11. #oscon @oscon @timoreilly
18 hour days
100 days straight
Standup meetings focused on why people werenât
able to keep the promises theyâd made to each other
Mikey Dickerson
Google Site Reliability Engineer
Wednesday, July 23, 14
12. #oscon @oscon @timoreilly
Of course, what he found out was that healthcare.gov was
designed and delivered by a system that doesnât allow developers
to make promises to each other, or to operations engineers, or to
end users. Instead, all of the promises are from policy makers
and politicians to other policy makers and politicians, and are
handed down from on-high through hard-coded specifications and
waterfall project management methodologies.
What the healthcare.gov rescue team brought was a cultural
revolution
Wednesday, July 23, 14
13. #oscon @oscon @timoreilly
Wednesday, July 23, 14
If you want to understand more about that cultural revolution, this book is a great read - a novelized version of how DevOps was
brought to a failed IT project in a big manufacturing company.
It mirrors the healthcare.gov rescue very closely.
14. #oscon @oscon @timoreilly
ââŠone privilege the insured and well-off have is to excuse the
terrible quality of services the government routinely delivers to
the poor. Too often, the press ignoresâââor simply never knowsâââ
the pain and trouble of interfacing with government
bureaucracies that the poor struggle with daily. That can allow the
problems in those bureaucracies to fester.â
ââEzra Klein
Wednesday, July 23, 14
But I want to take this story a bit further. One of the most important pieces about the healthcare.gov rescue was written by Washington Post
columnist (now vox.com founder) Ezra Klein. He wrote about how healthcare.gov was not an exception, but the rule, when it came to government
services.
15. #oscon @oscon @timoreilly
Wednesday, July 23, 14
And in that context, letâs talk a bit about food stamps, or as theyâve been renamed, the Supplemental Nutrition Assistance Program, or SNAP.
Recently, I heard an eye opening segment on the radio show Marketplace. Do you know that a huge proportion of food stamp dollars
are spent at stores like Walmart between midnight and 1 am on the one night that peopleâs SNAP cards are electronically refilled?
Who goes food shopping at midnight? People who havenât eaten for a few days, thatâs who.
So it really matters when you show up at the front of the line, and suddenly your SNAP card doesnât work because of some
bureaucratic SNAFU!
16. #oscon @oscon @timoreilly
Wednesday, July 23, 14
Some of the Code for America Fellows went to work on this problem last year, in partnership with the Human Services Agency in San
Francisco.
17. #oscon @oscon @timoreilly
âUser needs. An empathetic service would ground itself in the concrete needs of concrete people. Itâs
not about innovation, big data, government-as-a-platform, transparency, crowd-funding, open data,
or civic tech. Itâs about people. Learning to prioritize people and their needs will be a long slog. Itâs
the kind of change that happens slowly, one person at a time. But we should start.â
Wednesday, July 23, 14
Jake Solomon, one of the Fellows, wrote an amazing piece about his experience, entitled People, Not Data. In it, he describes the problem: people
were falling out of the SNAP program because they didnât comply with bureaucratic letters that they didnât understand. No one can understand them. But
nobody who was implementing the program had ever themselves tried to comply with the rules and to respond to the instructions, until the Code for
America fellows they did that. They replaced these obscure letters with text messages that effectively said, âThereâs a problem with your benefits. Call the
office!â As Jake said, âUser needs...â
Thereâs a lot of talk in Silicon Valley about measuring and paying attention to users. We talk about Lean Startup and âGrowth Hacking.â But thereâs a
big difference to paying attention to user behavior so you can exploit it - say to drive ad clicks on in-app purchases - and to paying attention to it
so you can make a real difference in the lives of real people.
18. #oscon @oscon @timoreilly
GDS
Wednesday, July 23, 14
Thatâs why one of the bibles of user centered design, in my opinion, should be the UK government Digital Serviceâs Design Principles.
Itâs about technology, yes, but far more importantly, itâs about putting technology to work for humans, not the other way around.
This is a huge cultural change for government, and thatâs one reason itâs so interesting and challenging a set of problems to work on.
19. #oscon @oscon @timoreilly
Cultural Change Required!
Wednesday, July 23, 14
Cultural change is also required by many of the big disruptive startups and technologies weâre hearing about today.
The cultural changes that started with open source and the internet are far from over. Thereâs a lot more work to be done. But itâs
important to get beyond the Silicon Valley cult of disruption and to think about what weâre building towards.
20. âUber is a $3.5 billion lesson in building
for how the world *should* work
instead of optimizing for how the
world *does* workâ - Aaron Levie of
Box.net
Wednesday, July 23, 14
There was a great tweet by box.net founder Aaron Levie talking about Uber... Aaron was talking about how we can use technology to
rethink the way a service like taxis ought to work for users. But thereâs also a huge moral dimension to this statement - or there should be!
In the end, building towards the world we want - and making it a better one than the one we started with - is the only job worth doing.
Iâm reminded of a Jack Handy Deep Thought I saw once. It said something like this: âIf aliens came down and said âShow us your civilizationâ, weâd
say, âCome back in 20 years. This isnât really our civilization. Itâs just something weâre playing around with right now.ââ
Itâs about time we built a civilization weâd be proud to show. Developers today play a huge role in building our civilization. Letâs take that
responsibility seriously!