Essential Types of Software for Startups