product teams & software development
TRANSCRIPT
Product Teams & Software Development
Physic Ventures8/6/2012
The People
Developers
PM
TestDesign
Sales BD Evangelism Product Marketing
Usability
Content
Internationalization
Cross-platform
• 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
Developers
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
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
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
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
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
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
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
Agile is…
• Sometimes called SCRUM– Burn down, product backlog
• Managing a complex project as discrete 2 week releases
• Improves quality and agility over waterfall
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
http://theoatmeal.com/comics/design_hellhttp://www.youtube.com/watch?v=xwqPYeTSYng
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
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
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