Звідки ви знаєте, скільки програмістів потребує конкретний проект, щоб досягти успіху?
Компанія, в якій я працюю, виконує замовлення для клієнтів. Ми написали внутрішньобудинкову систему управління складами, яка обробляє управління запасами на основі місця розташування, обробку замовлень, генерацію накладних, виставлення рахунків, аудит вантажу та звітність (можливо, 50 звітів). Він також має функції сканування штрих-коду та портал клієнта, а також десятки інших менших функцій. Сюди також входить повний годинний годинник працівника. Він інтегрується з Quickbooks, UPS та FedEx. Він обробляє роботу щонайменше для 50 клієнтів, які дещо відрізняються своєю функціональністю. Наприклад, ми імпортуємо замовлення з файлів, які клієнти надсилають, але кожен клієнт надсилає інший формат файлів (csv, excel, плоскі файли та веб-сервіси), тому у нас налаштовано понад десяток методів конверсії замовлень. Експорт - це та сама історія.
Проект є складним і щодня стає складнішим з понад чвертю мільйонів рядків коду. Це приблизно 250 000 рядків коду VB.NET, 6200 рядків коду Ruby і, можливо, 5000 рядків PHP. Він також має базу даних MySQL з приблизно 200 таблицями.
Через постійно мінливі вимоги та різні потреби десятків клієнтів, сам код сильно відрізняється за якістю від надзвичайно поганого до відносно хорошого коду.
Наразі в цьому проекті є лише один програміст - я. Наразі я підтримую всю продукцію для нашої компанії із 75 чоловік. Це включає в себе усунення несправностей та налаштування нових клієнтів та будь-які нові функції, які потрібні. Крім того, ми намагаємось переписати все, щоб бути 100% Ruby на Rails. І ми хотіли б продати всю систему протягом наступного року або близько того, щоб її використовувати інші компанії.
Наразі у нас є лише я як програміст, але я не вважаю, що цього достатньо. Хтось має якісь рекомендації щодо того, скільки програмістів повинен мати проект такого масштабу або як нам слід вирішувати відповідь на це питання? Зокрема, враховуючи той факт, що керівництво хоче, щоб продукт був комерційної якості до наступного року?