Upload
kareem-grant
View
214
Download
0
Embed Size (px)
Citation preview
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
1/101
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
2/101
tutorials goal
introduce lean concepts
discuss the how and why demonstrate Rails-specific techniques
give you a starting place to go further
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
3/101
questions are welcome at any point
lets be interactive encourage conversations
well have breaks
session guidelines
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
4/101
limited resources (time & money) uncertain of solution
unknown market
context for today
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
5/101
outline
1. lean overview
2. rails basics3. focusing on value
4. minimize effort
5. measuring
6. delivering fast
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
6/101
tutorial material
http://github.com/mghaught/getlean
http://github/mghaught/repohttp://github/mghaught/repo8/8/2019 Get Lean_ Slimming Down With Rails Presentation
7/101
flingr!
http://flingr.martyhaught.com
http://ciflingr.martyhaught.com
tutorial/install.md
http://ciflingr.martyhaught.com/http://ciflingr.martyhaught.com/http://github/mghaught/repohttp://github/mghaught/repohttp://ciflingr.martyhaught.com/8/8/2019 Get Lean_ Slimming Down With Rails Presentation
8/101
Longmont, Colorado
Boulder Ruby
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
9/101
why lean?
consulting entrepreneurship
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
10/101
other reasons
bloated, inefficient agile projects building software no one wants or uses
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
11/101
rockin with ramen
(pictured with Dokken)
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
12/101
1. lean overview
from manufacturing to software
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
13/101
discovering lean
Mary Poppendieck
http://www.poppendieck.com/
http://www.poppendieck.com/http://www.poppendieck.com/http://www.poppendieck.com/http://www.poppendieck.com/8/8/2019 Get Lean_ Slimming Down With Rails Presentation
14/101
history of lean
emerged from manufacturing in the 50s
Toyota production system translated for software projects in 90s
influenced agile thinking
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
15/101
lean startups
translating your startup vision into a successfulbusiness as quickly and efficiently as possible
Eric Ries
http://www.startuplessonslearned.com/
http://www.startuplessonslearned.com/http://www.startuplessonslearned.com/http://www.startuplessonslearned.com/http://www.startuplessonslearned.com/8/8/2019 Get Lean_ Slimming Down With Rails Presentation
16/101
customer development
Steve Blank
http://steveblank.com/
http://steveblank.com/http://steveblank.com/8/8/2019 Get Lean_ Slimming Down With Rails Presentation
17/101
new translation
http://www.custdev.com/
http://www.custdev.com/http://www.custdev.com/8/8/2019 Get Lean_ Slimming Down With Rails Presentation
18/101
changed my view
much like when I discovered XP in 2004 think just as much about the business asthe technical
engineers should own the business side
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
19/101
2. rails stack
preaching to the choir
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
20/101
why rails/sinatra
great for prototyping can be minimal or full stack
change is easy
start simple but can grow
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
21/101
community assets
helpful easy to pick up new resources
constantly improving
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
22/101
automation
automated testing
continuous integration data migrations
deployment
notifications
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
23/101
master your stack
practice your art to get faster use plugins and gems for common
functionality
anything to let you focus more on whatsimportant
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
24/101
context is king
pick the right amount of process
start simple and add on as you go know when not to use lean
A solar death ray assembler would likely need moretesting and process than a twitter-based web app.
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
25/101
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
26/101
3. focusing on value
work on the right things
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
27/101
defining your product
knowing your vision
clarify and agree as a team what is your value?
why are you creating this software?
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
28/101
business value
how do you define success?
how do you measure it? will people use it?
who?
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
29/101
agiles customer
dev team takes direction from client no questioning of business motives infeature requests
engineers dont own the business side
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
30/101
ice cream glove
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
31/101
drinking your kool-aid?
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
32/101
webbchange story
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
33/101
of excess
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
34/101
of too many features
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
35/101
valuing web content
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
36/101
demo time
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
37/101
everything but ...
Getting in all the features before launching
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
38/101
Built too much?!?
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
39/101
my mistake
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
40/101
will people use it?
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
41/101
got eyeballs on it
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
42/101
too complex
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
43/101
ran out of money
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
44/101
lessons learned
start simple and launch early validate against real use
get out of the building and talk to people
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
45/101
minimum viable product
rails rumble or startup weekend
starting place for validated learning with theleast effort
should be embarrassing early adopters see the potential
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
46/101
mvp exercise
what is flingrs mvp? what about webbchange?
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
47/101
learning process
make progress by reaching users
dont just execute a plan use feedback
pivot as you learn
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
48/101
Eric Ries feedback loop
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
49/101
4. minimize effort
less is more
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
50/101
strip features to the essence that achievesvalue
spiking large features
do the simplest thing that could possiblywork
simplicity
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
51/101
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
52/101
reducing waste
core value of lean, eliminating waste
does your current task add business value? eliminate activity that doesnt contribute to
progress
re-evaluate the value of what youre doing
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
53/101
seven wastes of lean
D l l f h
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
54/101
Overproduction Extra FeaturesDevelop only for the current
story
Inventory Backlog, Requirements
Story cards are detailed only
for the current iteration
Extra Processing Extra Steps Code directly from stories
Motion Finding Information Have everyone in the sameroom; customer included
Defects Defects not caught by testsTest first; including acceptance
tests
Waiting Waiting, Including Customers Deliver in small increments
Transportation HandoffsDevelopers work directly with
customers
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
55/101
5. measuring
know when youre making progress
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
56/101
pirate metrics
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
57/101
not vanity metrics
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
58/101
must be actionable
should help you make decisions
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
59/101
AARRR!
by Dave McClure
acquisition activation
retention referral revenue
http://www.slideshare.net/dmc500hats/startup-metrics-for-pirates-long-version
http://www.slideshare.net/dmc500hats/startup-metrics-for-pirates-long-versionhttp://www.slideshare.net/dmc500hats/startup-metrics-for-pirates-long-version8/8/2019 Get Lean_ Slimming Down With Rails Presentation
60/101
flingr metrics
unique visits (acquisition)
signups (activation) repeat use (retention)
fling backs (referral)
pro upgrade (revenue)
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
61/101
skip services for now
Google Analytics http://www.google.com/analytics
MixPanel http://mixpanel.com/ KISSMetrics http://kissmetrics.com/
others
http://kissmetrics.com/http://kissmetrics.com/http://mixpanel.com/http://mixpanel.com/http://www.google.com/analyticshttp://www.google.com/analyticshttp://kissmetrics.com/8/8/2019 Get Lean_ Slimming Down With Rails Presentation
62/101
diy metrics
you control the data
can track any event in your system good enough for actionable metrics
start simple, 5 at most
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
63/101
metrics exercise
tutorial/metrics.md
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
64/101
what to measure?
will the new story add value?
how will you measure progress? define when new stories are created
best when its one of your core metrics
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
65/101
split testing
presenting two or more variations andmeasuring user behavior to determine value
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
66/101
benefits
best mechanism to truly measure progress can answer internal debates
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
67/101
pitfalls
can lead to a mess if not well-guided
may not get conclusive reports dont go overboard
dont let it replace your vision
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
68/101
split test exercise
tutorial/abingo.md
tutorial/vanity.md
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
69/101
take away
limited to a single metric/conversion best when you can analyze all aarrr metrics
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
70/101
6. delivering fast
speed wins
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
71/101
small batches
reduce to smallest, meaningful chunks reduces integration costs
helps avoid overproduction think hours not days
amount of finished work that can be shipped
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
72/101
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
73/101
science behind it
queueing theory
theory of constraints proven in world of manufacturing
working in software projects
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
74/101
fixed time box, such as two weeks IPM to cover a set of stories make estimates
velocity to determine what fits
agiles iteration
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
75/101
reducing waste
no need to estimate
no need to force stories to fit just in time meetings
no big batch of stories
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
76/101
kanban exercise
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
77/101
kanban benefits
simple, less process limit work in progress, maximize
throughput
more easily spot bottlenecks
easy to change direction
less inventory of requirements/stories less time in meetings
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
78/101
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
79/101
kanban-tracker hybrid
one week iterations
ultra light weight complexity estimates continuously add stories to backlog asneeded
no ipm, just in time discussions deploy stories when complete
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
80/101
kanban
continuous deployment
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
81/101
continuous deployment
automatic flow of completed features
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
82/101
batch up all stories for iteration separate integration step explicit sign off process
qa -- staging -- production
agile way
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
83/101
the larger the gap between trunk andproduction, the heavier the process
not lean
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
84/101
classic stack
source control with commit hook
continuous integration deploy/rollback script
real time alerts
root cause analysis
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
85/101
Commit
Test
Deploy
Monitor
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
86/101
go lighter
deploy to a dev instance no monitoring
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
87/101
faking it
nothings automated once you commit a feature, deploy
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
88/101
monitoring
pingdom nagios with business metrics
stop the line on alert
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
89/101
five whys
determine source of issue take small steps to prevent
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
90/101
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
91/101
cd exercise
tutorial/contdeploy.md
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
92/101
take away
deliver code faster
focus on features, not integration reduces fear of pushing to production
quality does not have to decline
h
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
93/101
why we test exercise
?
ll h f ?
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
94/101
test all the fn time?
dont blindly follow some guideline
does 100% coverage have business value? are all tests valuable? cost of writing/maintaining all tests? cost of failure/bugs?
l f
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
95/101
value of testing
not all project phases value testing equally larger the team, the greater the need
context really matters
h f
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
96/101
phases of a startup
Kent Beckhttp://www.threeriversinstitute.org/blog/?p=251
1. Taxi (find a need)
2. Takeoff (validate need has a problem)
3. Climb (scaling)
4. Cruise (manage)
l
http://www.threeriversinstitute.org/blog/?p=251http://www.threeriversinstitute.org/blog/?p=2518/8/2019 Get Lean_ Slimming Down With Rails Presentation
97/101
lean up your tests
consider business value of features tested view tests as a garden, must prune strong integration layer test interesting/tricky business logic
look for high value, small footprint tests skip rarely used areas like admin UI
k
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
98/101
takeaway
really understand value for your project
focus on tasks that add value ship early and continuous automate all that you can minimize effort to get feedback asap
f h d k!
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
99/101
go forth and rock!
h k
8/8/2019 Get Lean_ Slimming Down With Rails Presentation
100/101
Marty Haught
@[email protected]://martyhaught.com
thank you
i di
http://martyhaught.com/mailto:[email protected]:[email protected]://martyhaught.com/http://chocolateheaven.org/8/8/2019 Get Lean_ Slimming Down With Rails Presentation
101/101
Long's Peak - http://www.flickr.com/photos/17972620@N00/2956076614/Pile of Money - http://www.flickr.com/photos/ironrodart/3841677517/Bowl of Ramen - http://www.flickr.com/photos/billselak/2388252659/George Lynch - http://www.rollingstone.com/artists/dokken/photos/collection/photo/1Lean Overview - http://pffc-online.com/mag/paper_latitudes_lean/Rails Stack - http://www.building-your-model-railroad.com/model-railroa d-operation.html
Gold Heart - http://www.flickr.com/photos/cryodigital/3060730616/Ice Cream Glove by Ali G - Sacha Baron CohenKool-Aid - http://www.flickr.com/photos/dyannafstop/2025899850/Various Black and Whites - http://blackandwtf.tumblr.com/Hammock - http://www.flickr.com/photos/wisdoc/3212710310/Seven Deadly Sins - Painter Hieronymus Bosch
Measuring - http://www.flickr.com/photos/captkodak/272746539Motley Crue - http://www.laughinsam.com/1980Images/MotleyCrue.jpgRunning Dog - http://www.flickr.com/photos/wisdoc/123640339/Chocolate Peanut Butter Cups - http://chocolateheaven.orgRandy Rhoads - www rudysarzo com/images/bio/Randy-Rhoads jpg
image credits
http://www.rudysarzo.com/images/bio/Randy-Rhoads.jpghttp://chocolateheaven.org/http://www.flickr.com/photos/wisdoc/123640339/http://www.laughinsam.com/1980Images/MotleyCrue.jpghttp://www.flickr.com/photos/captkodak/272746539http://www.flickr.com/photos/wisdoc/3212710310/http://blackandwtf.tumblr.com/http://www.flickr.com/photos/dyannafstop/2025899850/http://www.flickr.com/photos/cryodigital/3060730616/http://www.building-your-model-railroad.com/model-railroad-operation.htmlhttp://pffc-online.com/mag/paper_latitudes_lean/http://www.rollingstone.com/artists/dokken/photos/collection/photo/1http://chocolateheaven.org/http://chocolateheaven.org/http://chocolateheaven.org/http://www.flickr.com/photos/wisdoc/123640339/http://www.flickr.com/photos/wisdoc/123640339/http://www.laughinsam.com/1980Images/MotleyCrue.jpghttp://www.laughinsam.com/1980Images/MotleyCrue.jpghttp://www.flickr.com/photos/captkodak/272746539http://www.flickr.com/photos/captkodak/272746539http://www.flickr.com/photos/wisdoc/3212710310/http://www.flickr.com/photos/wisdoc/3212710310/http://blackandwtf.tumblr.com/http://blackandwtf.tumblr.com/http://www.flickr.com/photos/dyannafstop/2025899850/http://www.flickr.com/photos/dyannafstop/2025899850/http://www.flickr.com/photos/cryodigital/3060730616/http://www.flickr.com/photos/cryodigital/3060730616/http://www.building-your-model-railroad.com/model-railroad-operation.htmlhttp://www.building-your-model-railroad.com/model-railroad-operation.htmlhttp://pffc-online.com/mag/paper_latitudes_lean/http://pffc-online.com/mag/paper_latitudes_lean/http://www.rollingstone.com/artists/dokken/photos/collection/photo/1http://www.rollingstone.com/artists/dokken/photos/collection/photo/1http://www.flickr.com/photos/billselak/2388252659/http://www.flickr.com/photos/billselak/2388252659/http://www.flickr.com/photos/ironrodart/3841677517/http://www.flickr.com/photos/ironrodart/3841677517/http://www.flickr.com/photos/17972620@N00/2956076614/http://www.flickr.com/photos/17972620@N00/2956076614/http://www.rudysarzo.com/images/bio/Randy-Rhoads.jpg