Why?It is easy to build an app• It is not easy to scale that app to a million people• Or update it as needs and priorities change• Or build a team that can handle everything
What you want to know…• Capability• Stability• Expandability• Security• Cost to operate and support• Support methods and stability• Company dependency on partner technology• Risks• Planned initiatives• IP & Defensibility• Vendors/partners
Team assessment• Management team capabilities & policies• Staff capabilities• Team structure• Depth (& missing depth)• Conspicuous lack of a certain discipline• Individual flight risks• Turnover• Process
Risk• Scalability – Do you incur huge costs as you get more users? – Will the system hold up? – Does performance degrade?• Supportability – Can be a huge cost driver & impede scale• IP – If patents exist, are they defensible? – Are there heavy patent players in this space? (Ex: mobile)• Partnerships/service providers – Outsourced development/development partners – OSS vs. licensed
What is technically hard?• Performance at a level for good user experience – Rich media – images, video – Big data• Anything relying on data cleanliness and/or completeness – Data is never clean or complete• Machine learning• Language processing• Supporting lots of devices, cross-device sync• Globalization/localization• Marketplaces
Who?• The best person to do diligence has been in a similar situation – Deep familiarity with the specific technology (not just tech in general) – Understanding of the tradeoffs & costs
Do your own diligence None of this is scary hard. You canask, and understand the answer to all of these questions…
Good Tech Diligence Questions – Product• Do you have a clear vision for where you want the product to be in one month, six months?• How do you capture user feedback about the product? What is your process for product iteration?• How many releases have you had in the last 6 months?• Do you have patentable IP? What is the timeframe for filing?
Good Tech Diligence Questions - Team• Do you have people working for you now, who worked for you elsewhere in the past? (Hint: talk to these people)• What does your interview and recruitment process look like for technical talent?• What skills do you need in technical talent that may be difficult to find? (ex: special AI, networking expertise)
Good Tech Diligence Questions - Scale• What would you have to change to accommodate 10, 100, 1000 times more users?• What would you have to change to accommodate a million users?• What metrics do you use to determine if you are not scaled appropriately?• Where are you hosted, and why?• Do you use any third party services, what happens if they go down?
Good Tech Diligence Questions - Maintenance• Do you build on check-in, daily, weekly, whenever?• Do you create unit tests? Do you have code reviews?• What development methodology do you use?• Can you deploy a build to staging or production with one click?• Do you have dedicated testers?• When do you deploy?• Does the software automatically notify you of errors?• Do you have a bug tracking/triage system?• How do you prioritize bugs vs. features?