thilo horstmann - 50000 lines of code to brew a coffee - code.talks 2015
TRANSCRIPT
![Page 1: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/1.jpg)
c o d e . t a l k s 2 0 1 5 , H a m b u r g , S e p 3 0 t h 2 0 1 5
50000 LINES OF CODE TO BREW A COFFEE
Thilo Horstmann !@thilo
![Page 2: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/2.jpg)
WHY THIS TALK?
2
![Page 3: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/3.jpg)
STRUCTURE AND TOPICS
3
PROTOTYPES
TESTING
ENVIRONMENTS
SECURITY
agile approach
challenges
adopted approach
introduction
lessons learned
![Page 4: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/4.jpg)
PROJECT OVERVIEW
4
PRODUCT SYSTEM
CONNECTED PRODUCT
SMART PRODUCT
PRODUCT
![Page 5: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/5.jpg)
KEY CHALLENGES
5
STAY AGILE IN A GLOBAL PROJECT
![Page 6: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/6.jpg)
KEY CHALLENGES
6
GETTING THINGS CONNECTED
![Page 7: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/7.jpg)
KEY CHALLENGES: GET CONNECTED
7
![Page 8: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/8.jpg)
KEY CHALLENGES
8
EVERYTHING IS OFFLINE
![Page 9: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/9.jpg)
KEY CHALLENGES
9
USER FLOWS ACROSS DEVICES
1
2
3
45
6
7
![Page 10: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/10.jpg)
KEY CHALLENGES
10
THERE IS NO MACHINE
![Page 11: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/11.jpg)
KEY CHALLENGES: GET THE UX RIGHT!
11Photo by Wikipedia/Terabass CC BY-SA 4.0
![Page 12: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/12.jpg)
KEY CHALLENGES
12
HTTPS?! JSON?! That’s just fancy candy for the internet kiddies… 01100111001101010101 !!!
![Page 13: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/13.jpg)
PROTOTYPES
13
![Page 14: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/14.jpg)
PROTOTYPES
14
DUMMIES
low fi hi fi
clickable
WALKING SKELETON
Hello World!
ALPHA
core functions
BETA
real users
RELEASE
live!
![Page 15: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/15.jpg)
PROTOTYPES
15
DUMMIES
USER TESTING / IDEATION
3D PRINTED
SPEAKERS TO MAKE COFFEE SOUNDS
![Page 16: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/16.jpg)
167
![Page 17: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/17.jpg)
PROTOTYPES
17
FAKE SERVICE
NEEDED TO IMPLEMENT APP / BACKEND
SOFTWARE THAT CAN RUN ON ANY DEV MACHINE
![Page 18: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/18.jpg)
18
![Page 19: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/19.jpg)
PROTOTYPES
19
FAKE MACHINE
WIFI SETUP DEVELOPMENT
BEAGLEBONE + NODE.JS
![Page 20: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/20.jpg)
20
![Page 21: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/21.jpg)
PROTOTYPES
21
THE BOX
SOME REAL HARDWARE
REAL USER CONTROLS
DOESN’T BREW COFFEE
![Page 22: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/22.jpg)
Double-click to edit
![Page 23: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/23.jpg)
PROTOTYPES
23
FUNCTIONAL PROTOTYPE
and !nally …
![Page 24: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/24.jpg)
… YEAH! SOME COFFEE :)
24Photo by Wikipedia/Takeaway CC BY-SA 4.0
![Page 25: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/25.jpg)
PROTOTYPES
25
DUMMIES WALKING SKELETON ALPHA BETA RELEASE
DUMMIES FAKE SERVICE
FAKE MACHINE
THE BOX
FUNCTIONAL PROTOTYPE
![Page 26: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/26.jpg)
PROTOTYPES
26
DUMMIES WALKING SKELETON ALPHA BETA RELEASE
DUMMIES FAKE SERVICE
FAKE MACHINE
THE BOX
FUNCTIONAL PROTOTYPE
minutes hours
weeks months
![Page 27: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/27.jpg)
PROTOTYPES
27
DUMMIES WALKING SKELETON ALPHA BETA RELEASE
DUMMIES FAKE SERVICE
FAKE MACHINE
THE BOX
FUNCTIONAL PROTOTYPE
FAKE SOFTWARE
REAL SOFTWARE
FAKE HARDWARE
REAL HARDWARE
![Page 28: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/28.jpg)
TESTING
28
![Page 29: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/29.jpg)
29
“YOU CAN'T BE AGILE WHEN YOU'RE KNEE-DEEP IN MUD”
Martin Fowler
![Page 30: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/30.jpg)
AGILE
30
working software
fast feedback
respond to change
simplest solution
automation
small, continuous improvements
LIGHTWEIGHT FAST FLEXIBLE
![Page 31: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/31.jpg)
TESTING
31
unit
integration
functional
![Page 32: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/32.jpg)
TESTING
32
![Page 33: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/33.jpg)
CONTINIOUS INTEGRATION FTW!
33
![Page 34: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/34.jpg)
TESTING
34
CONTRACT TESTS
FAKE / GUIDED USER INTERACTION
PARTIAL USER JOURNEYS
![Page 35: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/35.jpg)
ENVIRONMENTS
35
![Page 36: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/36.jpg)
ENVIRONMENTS
36
DEV TEST PROD
db
backendclient
dev machine
client
cloud
backend
cloud
db
cloud
![Page 37: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/37.jpg)
ENVIRONMENTS
37
db backend
client simulator
dev machine
fake machine
DEV
![Page 38: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/38.jpg)
ENVIRONMENTS
38
TEST
client
phone
cloud
db
backend
fake machine
local device
wi!
fake machine
local device
wi!
real machine
local device
wi!
![Page 39: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/39.jpg)
ENVIRONMENTS
39
cloud desk
automatic manual
minutes hours
![Page 40: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/40.jpg)
SECURITY
40
![Page 41: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/41.jpg)
SECURITY
41
What is the agile approach to security?
cross functional teams
automated testing
automated provisioning
threat modelling
![Page 42: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/42.jpg)
SECURITY
42
scenario I: you break your own machine
oh…
![Page 43: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/43.jpg)
SECURITY
43
scenario II: you break somebody else’s machine
oh…
haha!
![Page 44: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/44.jpg)
SECURITY
44
scenario III: you break ALL machines
it doesn’t stop!
haha!
what happened?!
I want co"ee!
oh…
![Page 45: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/45.jpg)
LESSONS LEARNED
45
![Page 46: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/46.jpg)
LESSONS LEARNED
46
resources matter, hardware is hard to change software has to be build around it5
offline + complex user flows analyse more than you used to4
don’t reinvent the wheel when getting things connected3
automate more than you first think is possible2
co-locate with the hardware people1
![Page 47: Thilo Horstmann - 50000 Lines Of Code to Brew a Coffee - code.talks 2015](https://reader034.vdocument.in/reader034/viewer/2022051707/58d0eec41a28abba558b69a5/html5/thumbnails/47.jpg)
THANK YOU! LET’S MEET AT OUR STANDThilo Horstmann - @thilo
47