what every developer can learn from startups
DESCRIPTION
My talk on which aspects of agile work in startups and which don't, as well as some general rules of thumb for launching software projectsTRANSCRIPT
![Page 1: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/1.jpg)
What every developer can learn from startups
![Page 2: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/2.jpg)
/me #1
Got hooked on startups at Riot-ESearch for “riot on” on YouTube
Startup cult member since 30+ companies totalexpert on failure
![Page 3: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/3.jpg)
/me #2
Do technical due diligence for investors get paid to criticize other's work
Keen on JavaScript the older I get, the more lazy I get
![Page 4: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/4.jpg)
Why write code?
![Page 5: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/5.jpg)
What drives developers?
Self actualizationRespect of others
![Page 6: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/6.jpg)
What drives managers?
???Profit
![Page 7: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/7.jpg)
What drives customers?
Value (for money)
![Page 8: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/8.jpg)
Software development is like ...
![Page 9: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/9.jpg)
![Page 10: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/10.jpg)
![Page 11: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/11.jpg)
![Page 12: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/12.jpg)
![Page 13: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/13.jpg)
![Page 14: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/14.jpg)
… Biological Systems
Evolving, interacting systems
… that nobody quite understands
Everything somehow still works
… but may end up being a monster
![Page 15: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/15.jpg)
How do projects get started?
Somebody thinks they know what others want
raise → build → sell
Should validate their assumption first
sell → build → raise?
![Page 16: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/16.jpg)
Be Lazy
The only projects that get delivered on time and according to spec are the ones that never
get started at all
![Page 17: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/17.jpg)
Customers #1
You're not in the service industry
The customer is not always right!Learn how to say NO, excessive customer collaboration results in bloat
37signals vs. Salesforce
![Page 18: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/18.jpg)
Customers #2
Don't build just for one customer
Discover product market fitYou're building a long term relationship
![Page 19: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/19.jpg)
The Team
Communication overhead to be avoided at all costs, this increases exponentially with team size
Cross functional teams are great, but smaller teams of specialized generalists are better
![Page 20: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/20.jpg)
Rockstars and Ninjas
Developer output varies by an order of magnitude, so finding the best developers (who are nice people) is key
![Page 21: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/21.jpg)
Expectations
It's all about managing themVery hard to do when requirements changeAlmost always means more work
Burn-down & burn-up charts
![Page 22: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/22.jpg)
![Page 23: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/23.jpg)
![Page 24: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/24.jpg)
Milestones
Needed to achieve sense of accomplishment and self worth
Needed for invoicingHaving something working badly is better than having nothing that works well
![Page 25: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/25.jpg)
Embarrassment
“If you are not embarrassed by the first version of your product, you’ve launched too late”
Reid Hoffmann, LinkedIn
![Page 26: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/26.jpg)
Prototypes #1
Changes are easier to make early in the development cycle, but this gets progressively more difficult
Functional prototypes are great for conveying the big picture and user journey
![Page 27: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/27.jpg)
Prototypes #2
Basis for a contractYou do need those sometimesWorks even when you are your own customer
Great for validating the customer
![Page 28: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/28.jpg)
Features #1
Features are like sexLess is moreNot every piece of work can be described as a story or a feature
![Page 29: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/29.jpg)
Features #2
You can think through a feature without implementing it
You can build a feature without rolling it out
![Page 30: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/30.jpg)
Modularity #1
Monolithic systems are hard to reason about
The Unix philosophy is the way forwardWrite programs that do one thing and do it well. Write programs to work together.
![Page 31: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/31.jpg)
Modularity #2
Creating reusable modules is the right thing to doDespite having no visible benefit to end users
Because you don't always want to scrap everything
![Page 32: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/32.jpg)
Open Source
Give away everything you canPromotes your businessRecruiting toolMotivational aid
![Page 33: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/33.jpg)
Technical Debt
“Eventual consequences of slapdash software architecture and hasty software development”
Do take on, as long as you know you're doing it
![Page 34: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/34.jpg)
Failure
Failure is changeEmbrace itLearn from itKnow when to quit
Don't throw good money after bad
![Page 35: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/35.jpg)
Distributed Teams
Increasing trendRockstars and Ninjas are on the road a lot
Meetings are evilTools can help
![Page 36: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/36.jpg)
Operations & Metrics
Roll out updates quickly and often
Trust your developers
It's a numbers gameTrack everything you can
![Page 37: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/37.jpg)
Summary
This is not an exact scienceUse whatever works for youThink about the bigger pictureEnjoy the process, not the end goal
![Page 38: What every developer can learn from startups](https://reader035.vdocuments.site/reader035/viewer/2022062617/54c7ff9e4a79597b698b4580/html5/thumbnails/38.jpg)
Thank you!
@olegpodsechin
github.com/olegp