460 likes | 647 Views
The Lean Start-up Ninja Martijn Verburg (@karianna) Ben Evans (@kittylyst) http://www.jclarity.com - @jclarity. Who are we?. NINJAS (obviously) And mostly lean ;-) Martijn Verburg (@karianna) Founder & CTO at jClarity aka "The Diabolical Developer"
E N D
The Lean Start-up NinjaMartijn Verburg (@karianna)Ben Evans (@kittylyst)http://www.jclarity.com - @jclarity
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
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...
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
Part I - Lean and Agile • Why it's important • Why the principles matter • Implementation in your culture • Cargo Cult is bad
So why "Lean" and "Agile"? • People bang on about this.... • But why is it important in start-up life? • Is it not important elsewhere?
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
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"
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
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....
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"
Part II - Be a Ninja • Automation • Everything is a first class citizen • Technical Debt • Picking the right technology • Usability
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...
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
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
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
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
Part III - Lessons from start-up life • Minimum Viable Product (MVP) • Being a business • Culture • Vultures, Vampires and Sharks • And some good guys • Technology
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Built for the Cloud. Works in the Enterprise.http://www.jclarity.com Martijn Verburg (@karianna) Ben Evans (@kittylyst)