Общие принципы выбора средства разработки для тиражируемого программного продукта
Выбор средства разработки для нового программного продукта - вопрос очень индивидуальный и, конечно, зависит от множества факторов. Однако, можно назвать некоторые важные факторы, которые нужно учесть при выборе инструментов:
- Ваш собственный опыт работы с определенной средой разработки и языком программирования.
Если вы планируете вести разработку продукта самостоятельно, хотя бы на начальных этапах, то знание и опыт работы с выбранным инструментом и технологией были вам знакомы. Изучение новых технологий, создает большие риски и может отодвинуть создание MVP на существенный срок. Кроме того, не будучи знакомым с технологией, вам будет сложно собеседовать и оценивать компетентность нового сотрудника при росте команды разрабочиков.
- Поддержка перспективных платформ и кросс-платформенность.
Средства разработки должны позволять создавать программы и системы, которые в будущем можно будет с минимальными усилиями адаптировать для новых версий целевой платформы или перенести на новые популярные платформы. Технология разработки не должна быть завязана на архитектуру или механизмы, которые могут устареть через несколько лет.
- Стоимость лицензии на выбранные инструменты разработки.
Немаловажный фактор, который может быть значимым в условиях жесткого бюджета, - это доступность лицензии на средства разработки. Работа на пиратских версиях портит карму и создает репутационные, финансовые и уголовные риски. Если выбор пал на платные инструменты, то в целях экономии средств советуем изучить программы поддержки от поставщиков инструментов для начинающих команд. Участие в подобных программах позволяет получить практически полный инструментарий совершенно бесплатно на первые годы деятельности. Самой известной из таких программ является Microsoft BizSpark.
- Активное развитие выбранных средств разработки.
Желательно, чтобы средства разработки продолжали развиваться вместе с платформой, для которой создан ваш продукт. Так, например, с выходом новой версии операционной системы выбранный язык программирования, среда разработки, компоненты и библиотеки должны также оперативно обновляться, чтобы давать вам возможность использовать новые функции и особенности очередной ОС.
- Наличие большого и активного сообщества разработчиков.
Как бы хорошо вы не владели выбранным средством разработки, рано или поздно у вас возникнут проблемы. Поэтому обязательно должно быть профессиональное сообщество, в котором можно попросить помощи, задать вопрос, получить примеры решения типовых задач.
- Доступность разработчиков с опытом работы с данными средствами на рынке.
Когда придет время привлечь кого-то еще к работе над своим проектом, на свободном рынке труда или фрилансерских биржах должно быть достаточное число людей с определенной экспертизой. Экзотическое средство разработки - гарантия проблем с поиском кадров и их стоимостью.
- Защищенность кода на выбранном языке программирования.
Поверьте. Вас будут "ломать" даже в случае минимальной успешности проекта. Не надо искусственно облегчать задачу пиратам.
- Возможность интеграции с другими рабочими инструментами и системами.
Чем более тесно выбранное средство разработки интегрировано в определенную "экосистему", тем более сложные проекты можно будет на нем реализовывать. Кроме того, интеграция открывает новые возможности для трансформации не только самого программного продукта, но и всей бизнес-модели вашего проекта.