Upload
aboutyougmbh
View
420
Download
0
Embed Size (px)
Citation preview
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
WHY THIS TALK?
2
STRUCTURE AND TOPICS
3
PROTOTYPES
TESTING
ENVIRONMENTS
SECURITY
agile approach
challenges
adopted approach
introduction
lessons learned
PROJECT OVERVIEW
4
PRODUCT SYSTEM
CONNECTED PRODUCT
SMART PRODUCT
PRODUCT
KEY CHALLENGES
5
STAY AGILE IN A GLOBAL PROJECT
KEY CHALLENGES
6
GETTING THINGS CONNECTED
KEY CHALLENGES: GET CONNECTED
7
KEY CHALLENGES
8
EVERYTHING IS OFFLINE
KEY CHALLENGES
9
USER FLOWS ACROSS DEVICES
1
2
3
45
6
7
KEY CHALLENGES
10
THERE IS NO MACHINE
KEY CHALLENGES: GET THE UX RIGHT!
11Photo by Wikipedia/Terabass CC BY-SA 4.0
KEY CHALLENGES
12
HTTPS?! JSON?! That’s just fancy candy for the internet kiddies… 01100111001101010101 !!!
PROTOTYPES
13
PROTOTYPES
14
DUMMIES
low fi hi fi
clickable
WALKING SKELETON
Hello World!
ALPHA
core functions
BETA
real users
RELEASE
live!
PROTOTYPES
15
DUMMIES
USER TESTING / IDEATION
3D PRINTED
SPEAKERS TO MAKE COFFEE SOUNDS
167
PROTOTYPES
17
FAKE SERVICE
NEEDED TO IMPLEMENT APP / BACKEND
SOFTWARE THAT CAN RUN ON ANY DEV MACHINE
18
PROTOTYPES
19
FAKE MACHINE
WIFI SETUP DEVELOPMENT
BEAGLEBONE + NODE.JS
20
PROTOTYPES
21
THE BOX
SOME REAL HARDWARE
REAL USER CONTROLS
DOESN’T BREW COFFEE
Double-click to edit
PROTOTYPES
23
FUNCTIONAL PROTOTYPE
and !nally …
… YEAH! SOME COFFEE :)
24Photo by Wikipedia/Takeaway CC BY-SA 4.0
PROTOTYPES
25
DUMMIES WALKING SKELETON ALPHA BETA RELEASE
DUMMIES FAKE SERVICE
FAKE MACHINE
THE BOX
FUNCTIONAL PROTOTYPE
PROTOTYPES
26
DUMMIES WALKING SKELETON ALPHA BETA RELEASE
DUMMIES FAKE SERVICE
FAKE MACHINE
THE BOX
FUNCTIONAL PROTOTYPE
minutes hours
weeks months
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
TESTING
28
29
“YOU CAN'T BE AGILE WHEN YOU'RE KNEE-DEEP IN MUD”
Martin Fowler
AGILE
30
working software
fast feedback
respond to change
simplest solution
automation
small, continuous improvements
LIGHTWEIGHT FAST FLEXIBLE
TESTING
31
unit
integration
functional
TESTING
32
CONTINIOUS INTEGRATION FTW!
33
TESTING
34
CONTRACT TESTS
FAKE / GUIDED USER INTERACTION
PARTIAL USER JOURNEYS
ENVIRONMENTS
35
ENVIRONMENTS
36
DEV TEST PROD
db
backendclient
dev machine
client
cloud
backend
cloud
db
cloud
ENVIRONMENTS
37
db backend
client simulator
dev machine
fake machine
DEV
ENVIRONMENTS
38
TEST
client
phone
cloud
db
backend
fake machine
local device
wi!
fake machine
local device
wi!
real machine
local device
wi!
ENVIRONMENTS
39
cloud desk
automatic manual
minutes hours
SECURITY
40
SECURITY
41
What is the agile approach to security?
cross functional teams
automated testing
automated provisioning
threat modelling
SECURITY
42
scenario I: you break your own machine
oh…
SECURITY
43
scenario II: you break somebody else’s machine
oh…
haha!
SECURITY
44
scenario III: you break ALL machines
it doesn’t stop!
haha!
what happened?!
I want co"ee!
oh…
LESSONS LEARNED
45
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
THANK YOU! LET’S MEET AT OUR STANDThilo Horstmann - @thilo
47