how to efficiently build great products in a startup
TRANSCRIPT
How to efficiently build great products
in a startupSTART Summit
Friday, March 24, 2017 Roger Dudler, Founder & CTO @ Frontify
Key Roles in a Product Team
The following roles will be essential in your product team, at some point you’ll need all of them (multiple times).
Product Manager / VP Product System Engineer Back-End Developer Front-End Developer UX Designer Visual Designer
Ramp-Up
Product Manager / VP Product
Decides what is being built and when
Key Skills Can say No! Ability to think 3 steps ahead Needs to know the company & product vision by heart Strong people management skills Strong in gathering feedback & requirements
Ramp-Up
System Engineer
Makes sure your product is always up and scales smoothly.
Key Skills Strong in system engineering (Linux, etc.) Knows cloud environments and virtualisation Knows about databases, storage and performance Knows about security
Ramp-Up
Back-End Engineer
Builds the logic into your application. Provides the API for your front-end applications (e.g. Browser UI, App, etc.).
Key Skills Strong in coding logic Passion for performance Knows how to build an application from scratch
Ramp-Up
Front-End Engineer
Builds the front-end experience of your application. In many cases this is a browser front-end. Could also be an iOS/Android engineer (but e.g. we don’t have a native app yet).
Key Skills (Web) Passion for design and user interactions Outstanding JavaScript skills HTML/CSS
Ramp-Up
UX Designer
Makes sure your product is usable.
Key Skills Strong in understanding your user’s behaviour Concept and strategy skills (e.g. Wireframing) Creativity
Ramp-Up
Visual Designer
Makes sure your product is beautiful.
Key Skills Strong in creating visual beauty Experienced in designing for digital Knows about making all user interactions visually appealing Creativity
Ramp-Up
Real-Life Scenario
Ramp-Up
All-in-One
Full-Stack Developer System Engineer
Visual / UX Designer Product Manager
Full-Stack Developer
System Engineer Full-Stack Developer
Visual / UX Designer Product Manager
Full-Stack Developer
Full-Stack Developer Focus: Back-End
System Engineer Full-Stack Developer
Product Manager Full-Stack Developer
Full-Stack Developer Focus: Back-End
Full-Stack Developer Focus: Front-End
Visual / UX Designer
1 2 3 5
Ramp-Up
Things that are important when making decisions
Focus on speed and stability (you are building for years, not days) Make sure there are enough recruiting options At least one very experienced guy on board for the chosen technology Let developers play with new technologies
Technology Stack
Well, that’s overall. Looking only at web or mobile development it would be different.
??Java, C, C++
Ramp-Up
1. Java 2. C 3. C++ 4. C# 5. Python 6. VisualBasic 7. PHP 8. JavaScript 9. Delphi/Pascal 10. Swift 11. Perl 12. Ruby
Ranking from TIOBE Index for March 2017
Expensive People, Infrastructure, Many people Expensive People, Embedded, etc. Expensive People, Embedded, etc. Web, Windows Scripting, Server-Side Processing, Not that many people (CH) Document Scripting, Legacy Many People, Mature Essential for Web / Front-End, Needed for Node Legacy Native Apps Legacy Modern, Not that much big production systems
Programming Languages
Your Choice
Ramp-Up
Choose between
Stable Mature
New Modern
More experienced developers, but less attractive and
“old-schooly” low risk
Less experienced developers, but more attractive and
feature-rich mid to high risk
Cloud Hosting
Ramp-Up
Choose between
Amazon Web Services
Own Infrastructure
Grows with you, bound to the provided features, not so powerful
performance, Low maintenance efforts
Bare metal, high performance, Expensive, High
maintenance efforts
You are normally setting up On-Demand Instances which are not meant to be used 100%. Which normally is the
case for you. Use reserved instances wherever you can, for your EC2 instances, DB instances, etc. It cuts cost about
60%.
??Reserved Instances!
Feedback
provide easy ways of giving feedback (no hurdles) carefully decide, what is important and what isn’t when launching something, monitor behaviour (e.g. Hotjar, etc.) When you feel the speed/pace of devs lowers down, hire support Categorise incoming feedback (e.g. Help & Support, Bugs, Pricing & Billing, Enterprise, Feature Requests)
Plan & Build
Track & Measure
know how people are using your product when you release something, track how people are using it
Plan & Build
Product Planning
Find a balance between the different demand groups - Wanted by team (because people believe in the impact) - Wanted by strategy (because it’s part of your master plan) - Wanted by users (because people requested it) - Wanted by market (because the trend or market demands it)
Find a balance between investments in - Wow - Usability - Revenue $
Link feedbacks to features, bugs, etc. to quantify the demand
Plan & Build
We’re not really following the scrum methodology closely, but use parts of it. We’re planning in weekly sprints and use points to quantify efforts, but don’t do standup, nor do we use comprehensive user stories. We focus on very close
collaboration, also we’re still all next to each other (currently).
??Kinda’
Product Planning Tool
Plan & Build
interesting especially for lean startups who are gathering feedback, having drivers, using initiatives
Shipping
Try to release as fast as possible, but always with quality in mind Continuously release small chunks, not huge packages Ideally, release every day (make sure the process is super-fast) Try to not think in v1, v2, v3, v2017 or similar
Plan & Build
Just make sure your team is aligned to the goal. If you strive for 100%, think about doubling your team or double your
time to market, also add QA engineers early.
??Who knows
Build a healthy Product Team
Make sure your team know the company goals Be empathic, developers need care and sometimes need to be handled completely different, from person to person Know strengths and weaknesses, find the perfect combo Try to understand what people build and stay on top of the game Plan and build in very small (trackable) chunks (<1d)
Insights
It’s a tough decision, we’re always re-validating. As long as it doesn’t slow down your product development and
doesn’t impact the whole company (e.g. marketing) too much, you can try both.
??We do both.
SMB vs. Enterprise Customers
Focus on one is easier in terms of marketing, features, etc. If you manage to do both, it’s great. Keep it one software, no individual versions Be restrictive with feature requests (they need to match your plan)
Insights
And it’s still worth it and less expensive than building and maintaining something by ourselves.
??We actually pay $1k/m
Self-Made vs. Third-Party Services
You have to decide, whether you want to build something essential by yourself into your own software or just use a service to reach your goal. Keep in mind that self-made normally seems less expensive, but on the long run it’s nearly always more expensive (and also not as good) as external services.
They might become expensive at some point, but then you’ll have the money and resources to build something by yourself.
Insights
Thank You!Visit us on www.frontify.com
Questions? [email protected]