Как вы узнаете, сколько программистов для успеха конкретного проекта?
Компания, в которой я работаю, выполняет заказы для компаний-клиентов. Мы разработали собственную систему управления складом, которая занимается управлением запасами на основе местоположения, обработкой заказов, формированием накладных, выставлением счетов, аудитом грузов и отчетами (вероятно, 50 отчетов). Он также имеет функции сканирования штрих-кода и клиентский портал, а также десятки других небольших функций. Он также включает в себя полное время сотрудника. Он интегрируется с Quickbooks, UPS и FedEx. Он обрабатывает работу как минимум для 50 клиентов, каждый из которых немного отличается по своей функциональности. Например, мы импортируем заказы из файлов, которые отправляют клиенты, но каждый клиент отправляет свой формат файла (csv, excel, flat file и веб-сервисы), поэтому у нас есть более десятка настроек методов преобразования заказов. Экспорт это та же история.
Проект сложен и растет с каждым днем: более четверти миллиона строк кода. Это около 250 000 строк кода VB.NET, 6200 строк кода Ruby и, возможно, 5000 строк PHP. Он также имеет базу данных MySQL с около 200 таблицами.
Из-за постоянно меняющихся требований и различных потребностей десятков клиентов сам код значительно отличается по качеству от крайне плохого до относительно хорошего кода.
В настоящее время в этом проекте есть только один программист - я сам. Я также в настоящее время делаю всю поддержку продукта для нашей компании приблизительно 75 человек. Это включает устранение неполадок и настройку новых клиентов, а также любые новые необходимые функции. Кроме того, мы пытаемся переписать все это на 100% на основе Ruby on Rails. И мы хотели бы продать всю систему в течение следующего года или около того для использования другими компаниями.
В настоящее время у нас есть только я как программист, но я не считаю, что этого достаточно. Есть ли у кого-нибудь рекомендации относительно того, сколько программистов должен иметь проект такого масштаба или как мы должны определить ответ на этот вопрос? Особенно учитывая тот факт, что руководство хотело бы, чтобы продукт стал коммерческим качеством к следующему году?