I believe in the double-diamond, triad-based development approach to product development - from my past experience, this is the most effective way empower teams of individuals to build products that users love and that create significant customer value. I also believe this also helps shape a culture that top talent loves to work in.

User-Centered Design aka The Double-Diamond Process

Triad-Based Product Teams

A triad-based "scrum" team with a partnership between Engineering, Design, Product where each function has a seat at the table (scales up from 1 to N teams as the company grows):

Responsibilities by role

Role Owns Represents
Product • building software that delivers differentiated user value
• prioritization and roadmap
• requirements and scope definition
• customer relationships (in partnership with sales)
• internal xfn relationships (gtm, customer support, ops, community) • buyer’s needs (via customer research)
• user’s needs (shared with Design, via user research)
• company vision / strategy
• GTM strategy + tactics (sales, marketing, education, community, support)
Design • building software that delivers differentiated user value
• design aesthetic and language
• end-to-end user experience including the information hierarchy • user’s needs (shared with Product, via user research)
Engineering • building software that delivers differentiated user value
• technical architecture
• technical implementation
• technical debt management • technology capabilities and constraints

A real world example

Sources: thanks Jay Kaufmann for extending the triad analogy to a tripod/cannon, credit to this article for the shamelessly borrowed real world example