Budgeting, Collaboration, Communication, Design, Engineering, Project Management, Quality Assurance Making the Most of a Small Software House Team