by Tony Karrer
32 Questions Developers Should Ask a Startup Founder was originally published in SoCal CTO
Almost every day I’m talking to early stage startup founders (see Free Startup CTO Consulting Sessions) about what they plan to do. I tend to ask a lot of questions, challenge aspects, make suggestions. But I’ve often been very surprised by one aspect of these conversations. Many of these founders have talked with several developers or development firms about their plans. Yet, I’m often the first person who’s asking them questions that I consider to be pretty basic. Of course, it’s way more complex than just these questions. It needs to be a conversation. There’s just too much variation. Still, if you’ve not heard these questions from a developer, they are not helping you as much as they should.
Before I jump into the 32 questions, let me start with 14 questions that I will want to go through first so I know a bit more about what we are talking about. Think of these as the big upfront questions:
1. Who are the customers? What’s their specific need / pain? Please be able to provide me with a few specific examples of different types of customers, what they need, what the system will do for them.
2. Tell me about the business. How are you funding this? What level of funding do you currently have? What are the big milestones you have as a business? Do you have any specific deals done that are a basis of this? Where are you today and what’s happening right now?
3. What have you done so far to validate the concept?
4. What’s different, special here? Where’s the mystery (see Matching Algorithm)?
5. Who are the other stakeholders involved? Other types of users? Partners? Administrators?
6. How will you be taking this to market? What channels will you use (e.g., SEO for Startups)?
7. What are your key Startup Metrics? How do you make your money? How do you measure success?
8. What already exists in your space? Who are your big competitors? What are some good examples of similar sites? How will you differentiate from these?
9. What special data, content, APIs, etc. are you going to leverage? What’s the state of the relationships that brings you that data? What’s the state of those systems?
10. Where do you stand on your brand, name, logo, positioning? Examples of other brands/sites that are similar from a brand perspective?
11. Are there any specific hard dates or important time sensitive opportunities?
12. What do you see as some of the bigger risks / challenges?
13. Major Phases / Major Features – What are the major features in the major phases for the product? What set of functionality would make your company launch-ready?
14. What has been captured so far? Are there specs? Mock-ups? Wireframes? Comps?
Questions Developers May Have Forgotten to Ask
So here are some of the questions that developers may not have thought to ask and a little bit of commentary around each question.
1. eCommerce – Is this subscription? If so, how many kinds of subscriptions? What are the rules for subscriptions? Discount support? Free-trials? Bundling? Coupons? Often this ties to marketing support. In other words, you want to offer a discount to a given group to provide incentive. Is it pay-to-play? Do you transact immediately or on delivery of some product or service? Do you have a merchant account already set up? Do you have a payment gateway?
2. Targets – Is this browser only? How concerned are we about design for mobile? Which devices? Native mobile apps? Obviously, it’s far simpler to aim for browser-based systems and basically aim your design to work okay on mobile devices with some additional effort on the part of the user.
3. Registration – will you support Facebook Connect or similar authentication? Will you also have a separate login? See also When to Use Facebook Connect – Twitter Oauth – Google Friend Connect for Authentication. Do you need to round trip an email to validate the email? Captcha? How much member profile information do you need before allowing a user to login?
4. Member Profiles – What data is included? Is there a step-by-step wizard? Pictures?
5. Social Integration/Viral Outreach – are you integrating in some way with social networks? Is your integration limited to login and “like” buttons or are you building a presence within the social networks themselves? Messaging? Any other kind of viral outreach? See Branchout an Example of Viral Spread Opportunity for Startups. Refer a friend? Cloudsponge for email invites to large group?
6. Communication/Forums – are there discussion forums? Commenting? Messaging? Flagging? Moderation?
7. Social Interaction – how do you represent users/members to one another? Is there interaction? What kinds? Friends? I would actually suggest that asking if you want friending/connections is a bit of a trick question. Generally, the answer should be “no.” How, if at all, are users grouped by the system? By background (employer, university)? By preferences?
8. Location/Geography – are you using geographic information? How? Is your application location-aware? Will you tap into geolocation services provided by the browser or license a third-party lookup table? How does the application behave when location data is not available?
9. Gamification/Scoring – any kind of scoring and/or gamification to encourage participation? Are there achievements and badges? A leaderboard among users or groups?
10. Video (and Audio) – if you have video, are you hosting it or can we use YouTube, Vimeo? Do you need to process user-contributed media? What about reporting and moderation? Do you want Flash video, HTML 5 video, or both? Does it need to playback on mobile devices?
11. Notifications – what notifications are needed in the system? Dismissable? Do they generate emails or other external notifications? Do you need to provide RSS?
12. Email – are you sending out emails periodically? Are these blasts manually created? Are there complex rules for when emails go out? How often are emails updated, i.e., do you need to be able to edit the email easily? Do we want to use something like SendGrid in order to help with delivery? Do you need to track views and bounces? What are your privacy rules?
13. Marketing Support – what will the system need to do in order to help track with marketing and tracking marketing effectiveness? Are there specific landing pages? Tracking URLs? Referral sources? Affiliate tracking?
14. SEO Support – will URLs need to be well formed? Will back-end support for SEO be needed?
15. Content Management – do we need to allow easy editing of content in the system? How robust does this need to be? Arbitrary new pages? Lists of pages in the interface? Dates/times for posting? Content access controls? Are regular users contributing content or only system administrators?
16. Dates/Time Zones – Do we need to handle multiple Time Zones and do conversion automatically?
17. Search – is there search? What is searchable? How advanced does it need to be initially?
18. Logging/Auditingg – do we need to log certain operations in order to help with customer support or for auditing?
19. Analytics/Metrics – what are the key startup metrics that you will need to track? Are there specific metrics needed for future funding rounds or for operations? Beyond simple web analytics, what is needed?
20. Administration – what will you need to be able to do from a back-end? Administer users? Dump out data?
21. Reporting – What needs to be reported? Are data dumps (CSV for Excel) sufficient? Important note here: reporting can be endless, keep it small.
22. Accounting – Do we just need to dump out transactions or is there more to it? Are you tracking inventory? What does the system need to provide to support fulfillment?
23. Customer Service Support – Do you need specific interfaces and support for customer service? Ticket tracking? Are customer service reps heavily constrained or free to make arbitrary changes (and run arbitrary transactions) on behalf of users?
24. Security – are there any specific kinds of security risks? Is the whole site SSL/HTTPS, only the login process, or something in between? Does the site need to throttle potential malicious activity?
25. Scalability – what do you expect from a scale standpoint? What kinds of spikes in traffic could we have? How will we address these without significant cost?
26. Integration Points – are there any third-party systems that we will need to be able to integrate with?
27. Existing People Capabilities – what capabilities such as graphic design, user interaction, product manager, QA do you already have access to? Who? How much availability?
28. Hosting – is there anything in place for hosting? Any preferences? Do you need help getting hosting going?
29. Site Management – what will be needed in terms of site management?
30. Platform – are there pre-existing technical platform decisions that must be considered?
31. Team – is there or will there be multiple segments in the development team? If so, are specific software development processes necessary?
32. Product Management – Do you have a clear vision of the initial product and a plan for sequencing changes after the initial launch? Do you have the internal staff to manage changes?
Dr. Tony Karrer works as a part-time CTO for startups and midsize software companies providing – helping them get product out the door. He is considered one of the top technologists in e-Learning, but over his 20 years; experience as a CTO he has worked on many different kinds of startups including being the original CTO for eHarmony for its first four years. Dr. Karrer taught Computer Science for eleven years. He has also worked on projects for many Fortune 500 companies including Credit Suisse, Royal Bank of Canada, Citibank, Lexus, Microsoft, Nissan, Universal, IBM, Hewlett-Packard, Sun Microsystems, Fidelity Investments, Symbol Technologies and SHL Systemhouse. Dr. Karrer was valedictorian at Loyola Marymount University, attended the University of Southern California as a Tau Beta Pi fellow, one of the top 30 engineers in the nation, and received a M.S. and Ph.D. in Computer Science. He is a frequent speaker at industry and academic events. Contact Tony at firstname.lastname@example.org