1. Product Teams & Software
Development
Physic Ventures
8/6/2012
2. The People
Developers
Usability Internatio
nalization
Design Test
Content Cross-
PM platform
Sales Product
BD Evangelism
Marketing
3. Developers
• Every project needs a great lead developer
• 50-75% of the day spent hacking
• 25-50% code reviews, writing automation,
architecture/design meetings
• Love lean process, more time coding
• Teams work best with ~ 5 devs
– > 5 devs = new team
4. Product Manager
• 1 PM per project
• Priority #1: prioritized list of features
• 50% of time spent inbound with dev, design,
test, specing features and making sure
everything works
• 50% of time spent outbound with customers,
marketing, evangelists, BD, sales
• Good hire when the team hits 2 devs
5. Test/SDET/QA
• Need for testers depends on the project –
fault tolerance, complexity, international,
cross-platform plan
• Testers write code that attempts to break the
product
• Stress and performance test – huge issue
• Good hire when the team hits 3 devs
6. Design
• Must hire if building a consumer-facing service
• Designers have UX and/or visual design
expertise
– Be wary of visual designers without UX experience
– Visual design is easier to contract out
– Few university degrees or programs teach this skill
• 1 designer to a 5 dev team
• If the designer is also usability testing or
content writing, likely to have a busy schedule
7. Sales/BD/Evangelism/Marketing
• Product marketing handles messaging and
pricing
• Evangelists are important for platforms,
especially developer services, work closely
with PMs
• Sales/BD funnel feedback and feature
requests to the PM
8. What Developers Want
• Great technical co-founder!
– Should be a great manager, mentor, creator of
culture, and leader, NOT the most technical
person the other founder knows
• Sexy consumer brand!
– Google, Facebook, Airbnb, Pinterest, etc.
• Geek-out worthy product!
– Anything cloud, anything AI, developer tools
9. Hiring and Retaining Developers
• Technical co-founder should be able to staff the first
feature team with his network
– Must be well liked by previous employees
– Must know the ideal process/perks for hiring devs
– Don’t invest in a team who’s CTO doesn’t meet these
qualifications!
• As the team grows
– Hire interns & recent college grads (especially away from
SF)
– Referrals
• Hiring seasoned technical talent is really difficult
– Provide meaningful equity
10.
11. Process
• Design
– PM: Requirement gathering, scenario building
– Designer + PM: Development of non-functional prototypes
– Designer + PM: Testing, iteration of non-functional prototypes
– Lead dev + PM: Development of technical architecture and API requirements
• Development
– Developers: code, check-in, test
– Designer + PM: UX test the build, gather data
– PM + Lead Dev: triage bugs
– Test: write automation
• Support + iteration
– PM + Design: gather data about product usage
– PM: prioritize new features + bug fixes
– Developers: refactor, rearchitect, clean up, fix bugs
– Test: identify bugs
12. Agile is…
• Sometimes called SCRUM
– Burn down, product backlog
• Managing a complex project as discrete 2
week releases
• Improves quality and agility over waterfall
13. How does code turn into a product?
• Track time, work items, burndown
• Write code in an IDE (editor, build automation,
debugger)
• Code reviews, test automation (test harness)
• Commit/check-in to GitHub (version control,
source code repository)
• Deploy finished bits/executable onto
AWS/hosting server/iTunes store
15. A few words on design…
• Great design is hard
• Design is contentious
• The best designers have well-honed intuition
hard to interview and hire for
• Designers tend to be paid less and respected
less than developers
• A few designer-founded startups: Airbnb,
Path, Pinterest, Tumblr, Hipstamatic, Etsy,
Instagram, Fab
16. Usability Testing
• Watch the user complete discrete tasks
• Good for:
– Can the user figure out what is going on?
– Does the UX flow make sense?
– Is there anything distracting/awful?
– Sanity check: is there anything important missing?
• Bad for:
– Determining real-world engagement
– Learning what users like/don’t like
17. A/B and Multivariate Testing
• No one uses A/B testing anymore
• Multivariate testing used to tests hypotheses on
complex multi-variable systems
• Good for what you know you don’t know:
(Google)
– Conversion funnels
– Getting a user to commit a particular action
• Bad for what you don’t know you don’t know:
(Twitter)
– Validating design
– Encouraging stickiness