The Lean Startup Ninja

46
The Lean Start-up Ninja Martijn Verburg (@karianna) Ben Evans (@kittylyst) http://www.jclarity.com - @jclarity 1 Sunday, 8 September 13

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 of The Lean Startup Ninja

Page 1: The Lean Startup Ninja

The Lean Start-up Ninja

Martijn Verburg (@karianna)

Ben Evans (@kittylyst)

http://www.jclarity.com - @jclarity1Sunday, 8 September 13

Page 2: The Lean Startup Ninja

2Sunday, 8 September 13

Remember these guys?

Page 3: The Lean Startup Ninja

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

Page 4: The Lean Startup Ninja

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

Page 5: The Lean Startup Ninja

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

Page 6: The Lean Startup Ninja

6Sunday, 8 September 13

Start-up life if you believe Hacker News

Page 7: The Lean Startup Ninja

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

Page 8: The Lean Startup Ninja

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

Page 9: The Lean Startup Ninja

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

Page 10: The Lean Startup Ninja

Why "Lean" and "Agile"?

10Sunday, 8 September 13

Your amazing idea......

Page 11: The Lean Startup Ninja

11Sunday, 8 September 13

The truth!

Page 12: The Lean Startup Ninja

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

Page 13: The Lean Startup Ninja

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

Page 14: The Lean Startup Ninja

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

Page 15: The Lean Startup Ninja

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

Page 16: The Lean Startup Ninja

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

Page 17: The Lean Startup Ninja

Part II - Be a Ninja

• Automation

• Everything is a first class citizen

• Technical Debt

• Picking the right technology

• Usability

17Sunday, 8 September 13

Page 18: The Lean Startup Ninja

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

Page 19: The Lean Startup Ninja

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

Page 20: The Lean Startup Ninja

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

Page 21: The Lean Startup Ninja

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

Page 22: The Lean Startup Ninja

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

Page 23: The Lean Startup Ninja

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

Page 24: The Lean Startup Ninja

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

Page 25: The Lean Startup Ninja

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

Page 26: The Lean Startup Ninja

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

Page 27: The Lean Startup Ninja

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

Page 28: The Lean Startup Ninja

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

Page 29: The Lean Startup Ninja

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

Page 30: The Lean Startup Ninja

30Sunday, 8 September 13

It was a big step forward in our devops story

Page 31: The Lean Startup Ninja

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

Page 32: The Lean Startup Ninja

32Sunday, 8 September 13

Think distributed node.js with a real VM and ployglot language support

Page 33: The Lean Startup Ninja

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

Page 34: The Lean Startup Ninja

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

Page 35: The Lean Startup Ninja

MongoDB Report Card

35Sunday, 8 September 13

Hands up if Mongo concerns you about...?

Page 36: The Lean Startup Ninja

36Sunday, 8 September 13

Page 37: The Lean Startup Ninja

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

Page 38: The Lean Startup Ninja

38Sunday, 8 September 13

We wanted functional programming and lambdas because we were dealing with asynchronous messaging (think handlers etc)

Page 39: The Lean Startup Ninja

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

Page 40: The Lean Startup Ninja

40Sunday, 8 September 13

Directive based approach - true Javascript front end framework

Page 41: The Lean Startup Ninja

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

Page 42: The Lean Startup Ninja

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

Page 43: The Lean Startup Ninja

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

Page 44: The Lean Startup Ninja

Often you will feel like this

44Sunday, 8 September 13

Page 45: The Lean Startup Ninja

But at least you don't work for

45Sunday, 8 September 13

But at least you won't be working for this guy!

Page 46: The Lean Startup Ninja

Built for the Cloud. Works in the Enterprise.

http://www.jclarity.com

Martijn Verburg (@karianna)Ben Evans (@kittylyst)

46Sunday, 8 September 13