the lean startup ninja
DESCRIPTION
Talk we gave at JavaOne in San Francisco September 2013. An entertaining tale of the technical, financial and cultural journey that jClarity has taken to date as a new start-up in the Java/JVM performance analysis tools space.TRANSCRIPT
The Lean Start-up Ninja
Martijn Verburg (@karianna)
Ben Evans (@kittylyst)
http://www.jclarity.com - @jclarity1Sunday, 8 September 13
2Sunday, 8 September 13
Remember these guys?
Who are we?
• NINJAS (obviously)– And mostly lean ;-)
• Martijn Verburg (@karianna)– Founder & CTO at jClarity– aka "The Diabolical Developer"– Java Champion, J1 Rockstar, Author, Speaker etc <yawn>
• Ben Evans (@kittylyst)– Founder & Chairman at jClarity– Deep dive technologist– Java Champion, J1 Rockstar, Author, Speaker etc <yawn>
• adoptopenjdk.java.net / adoptajsr.java.net
3Sunday, 8 September 13
Context - What our start-up does
• See what we did here? ;-)
• Java/JVM Performance Analysis Tools– For cloud and enterprise
• Lots of deep dive or bleeding edge tech– Hotspot (JVM) internals– Linux internals– Virtualisation technologies– vert.x– Angular.js & pals– MongoDB– etc...
4Sunday, 8 September 13
What we're going to cover
• How to be Lean & Agile– What does this really mean?– How do you implement it?
• How to be a Ninja– Ninjas were actually on the good team originally– Do not read Hacker News - ever.
• Lessons from start-up life– Technology
• MongoDB, Angular JS, vert.x and more!)– Culture
• From office hours to bust ups and in between– Angels / VCs / Lawyers
• aka Vampires and Sharks
5Sunday, 8 September 13
6Sunday, 8 September 13
Start-up life if you believe Hacker News
7Sunday, 8 September 13
Most startups fail in 12 monthsWe are not Instagram, Uber, Yelp etc - We're still alive and kicking after 18 months which is awesome
Part I - Lean and Agile
• Why it's important
• Why the principles matter
• Implementation in your culture
• Cargo Cult is bad
8Sunday, 8 September 13
So why "Lean" and "Agile"?
• People bang on about this....
• But why is it important in start-up life?– Is it not important elsewhere?
9Sunday, 8 September 13
Why "Lean" and "Agile"?
10Sunday, 8 September 13
Your amazing idea......
11Sunday, 8 September 13
The truth!
Where you actually end up
• Start-ups transition...... a lot.– Their entire product / idea / market– More than twice in a single year
• We transitioned product twice– GC Log Analyser to general purpose performance analyser
• We transitioned markets three times– From cloud to enterprise and back to cloud again
• We laugh at our original business plan
12Sunday, 8 September 13
Quote the business school quote
Don't make my eyes bleed
• Famous post by a VC/Investor
• WHO are your target market?– Make them real people
• WHY will they use your product?– This varies for different customers
• HOW will they give you money?– Our FD says "Make money while you sleep"
13Sunday, 8 September 13
Lean / Agile practices that helped
• Stand-ups– 24 hour warning on anything that went right or wrong– Great for team building (celebrate success / help on failure)
• Retrospectives– Kept us honest with each other (most of the time)
• Small, 1-week long achievable sprints– With a very real goal at the end– Even planning 2 sprints in advance didn't work
14Sunday, 8 September 13
What we failed to do
• Validate product against users, early.– We waited too long to get our product out as a Beta
• Revenue stream from product, early.– Nothing beats a self sustaining business– Even if you think your product isn't up to scratch yet
• Sales and Marketing– Need to get someone in at the start– If you've solve Cold Fusion but can't sell it....
15Sunday, 8 September 13
Cargo cults
• You are not your users– Our peer group are Java/JVM performance specialists– Our customers are (generally speaking) not specialists
• Not Invented Here (NIH)– Very easy to fall into when you're a green field product– We have a strict culture of "Avoid if at all possible"
16Sunday, 8 September 13
Part II - Be a Ninja
• Automation
• Everything is a first class citizen
• Technical Debt
• Picking the right technology
• Usability
17Sunday, 8 September 13
Automation
• It changes *everything*
• One-click release / deploy– We took a long time to get there– But we always worked on it each sprint
• Chef / Vagrant solves everything?– No– You need shell scripts, build tool skills, AWS skills,
networking skills, Linux skills, SSL skills...
18Sunday, 8 September 13
Everything is a first class citizen
• Only as strong as your weakest link
• All tech should be treated 1st class– Your product code– Your website code– Your customer reporting code– Your accounting / E-Commerce code
19Sunday, 8 September 13
Technical Debt
• Is a much bigger risk than people think
• It slows you down
• It makes you inflexible
• We focus a sprint ~1/month on this
20Sunday, 8 September 13
Picking the right technology
• Follow the "Matt Raible" principle– See his decision matrix on Java/JVM web frameworks
• Set out criteria
• Add weightings
• Run the numbers
• Prototype the top two
21Sunday, 8 September 13
Usability
• Consumers are spoiled today– Beautiful and useful UI/Ux, thanks Apple for the trend!– They expect the same at work
• Poorly thought out Ux will kill your idea– Your idea can get "lost" in the noise
• We hired an expert!
• But we failed on running studies / labs
22Sunday, 8 September 13
Part III - Lessons from start-up life
• Minimum Viable Product (MVP)
• Being a business
• Culture
• Vultures, Vampires and Sharks– And some good guys
• Technology
23Sunday, 8 September 13
Minimum Viable Product
• Cold hearted capitalist– "Whatever people will pay for"
• Hackernews Fanboy/girl– "What I coded over the weekend"
• The perfectionist– "When it's ready"
• The ideal scenario– Gets you revenue and receives generally positive press
24Sunday, 8 September 13
Sometimes a MVP is a Webpage that allows potential customers to show intent
Being a business
• Identify if you need professional help– Tech people aren't always good business people
• Get strong mentors– Be prepared to spend equity on this
• Admin matters as much as product– Invoicing, Accounting, Legal, Sales, Marketing etc
• Stick to your vision
25Sunday, 8 September 13
Culture
• Culture varies massively– Even in the so called meritocracy of the tech world
• Remote vs local teams– Distributed teams are hard– Technology can help– Social infrastructure is far more important
• Hierarchies are minimal– Act like "A Boss" and you'll quickly lose respect
• It's like a family– Fight, forgive and move on
26Sunday, 8 September 13
Vultures, Vampires and Sharks
• When things are looking tough– You'll get 'rescue offers'– It's just business, don't take it personally– But don't take the 'offer'
• Angels are Devils in disguise– Most VC's are just plain evil– Do your research
• Lawyers are expensive– They smile lots and have nice suits– That suit is more than your monthly run rate
27Sunday, 8 September 13
There are good guys
• Aimar Capital– Moss Mosimann is an investor who gets it– They actually mentor the start-up
• Crowell and Moring– Lawyers who have a specialist arm for tech start-ups– Guide you through Patents, Trademarks, Contracts etc
28Sunday, 8 September 13
TODO More
Technology
• We had to chose a modern tech stack– Asynchronous messaging– Browser based UI that had great Ux– Distributed
• Minimum reliability and scalability– Could scale if need be– Could failover if need be
• Security / Data protection– SaaS service - don't divulge customer data– Customer data needs to live georgraphically
29Sunday, 8 September 13
30Sunday, 8 September 13
It was a big step forward in our devops story
Chef Report Card
• 7/10
• Positives– Recipes galore!
• Java/JVM recipes• PHP/Wordpress recipes• MongoDB recipes...
• Negatives– Inconsistent command line– Fairly complex– Doesn't do deletions
31Sunday, 8 September 13
32Sunday, 8 September 13
Think distributed node.js with a real VM and ployglot language support
Vert.x 2.x
• 6/10
• Positives– Websocket support– Eventbus shared across– Easy, no shared state
• CSP style concurrency– Eventbus to the browser!– Multiple JVM language support
• We used Groovy
33Sunday, 8 September 13
TODO: Explain CSP
Vert.x 2.x
• Negatives– NIH Logging– Release a new version without supporting old version– No security
• SSL support in hazelcast• Not for eventbus traffic
• Architected for local data centres– When we’re moving into the cloud
34Sunday, 8 September 13
MongoDB Report Card
35Sunday, 8 September 13
Hands up if Mongo concerns you about...?
36Sunday, 8 September 13
MongoDB Report Card
• 4/10
• Positives– Document models– Nice Java API
• Negatives– No support for timezones other than UTC– Security
• compiled own SSL-enabled daemon– Difficult to sysadmin– Election Algorithm broken– constant reconnects
• Not an issue, but very confusing
37Sunday, 8 September 13
38Sunday, 8 September 13
We wanted functional programming and lambdas because we were dealing with asynchronous messaging (think handlers etc)
Groovy 2.x scorecard
• 5/10
• Positives– Looks like Java– Has fairly nice JSON and handler support– Friendly devs, respond via twitter
• Negatives– 2.0 was a joke (compiler broken etc)– IDE fail– Build system fail
39Sunday, 8 September 13
We wanted
40Sunday, 8 September 13
Directive based approach - true Javascript front end framework
Angular JS
• 8/10
• Positives– Ability to implement early Html5 features– Declarative
• Easy to understand and read• Two-way data binding
– Structures your code into simple– Client side templating– Clean language separation vs templating
41Sunday, 8 September 13
Angular JS
• Negatives– Testing --> Testacular/Karma
• Requires node.js <blurgh>– Google search gives you testicular cancer results– Doesn’t fit the eventbus so well
• $scope.$apply– Documentation/Stackoverflow presence– People are familiar with jQuery, declarative is new to them.– Javascript tooling sucks
• IDEs• Libraries• Maven integration
42Sunday, 8 September 13
Summary
• Start-ups are very tough– Beautiful and useful UI/Ux, thanks Apple for the trend!– They expect the same at work
• Poorly thought out Ux will kill your idea– Your idea can get "lost" in the noise
• We hired an expert!
• But we failed on running studies / labs
43Sunday, 8 September 13
Often you will feel like this
44Sunday, 8 September 13
But at least you don't work for
45Sunday, 8 September 13
But at least you won't be working for this guy!
Built for the Cloud. Works in the Enterprise.
http://www.jclarity.com
Martijn Verburg (@karianna)Ben Evans (@kittylyst)
46Sunday, 8 September 13