These are exciting times for anybody working on new software products. Software can be developed fast and inexpensively. Key ingredients enabling this are:
- Minimum Viable Product (MVP) philosophy. Building minimum set of features to start with – enough to deploy the product and get user feedback and nothing more.
- Agile methodology. For example I have been developing products using Scrum based process with a biweekly production release cycle and a goal of delivering meaningful new features every two weeks.
- High productivity development tools such as Ruby on Rails (RoR). Working with RoR you can simply accomplish your objectives with fewer lines of code.
- Low cost infrastructure. Cloud hosting solutions in particular, with their pay as you go business models, allow launching applications without any capital expenditure, with low starting costs and ability to expand hardware footprint as application usage and traffic grows.
- Small, focused, co-located team. With right individuals, small teams can be incredibly productive. Small size and collocation makes communication easy, facilitates ideation, keeps everybody in sync and supports rapid iteration.