Prowadzę małą firmę złożoną tylko z 2 programistów. Budujemy bardzo dużą aplikację dla jednego z naszych klientów. Prace nad tym projektem trwają od 1,5 roku.
Teraz ten klient uzyskał ważny sponsoring i organizuje wydarzenia związane z tym projektem. Teraz mamy termin za 2 miesiące i nie możemy go przekroczyć.
Myślimy o dodaniu nowego programisty do zespołu i zastanawiam się, co możemy zrobić, aby pomóc w jego integracji.
Oto sytuacja:
- Zbliżamy się do progu prawa Brooksa - moment, w którym dodanie nowych programistów przyniesie efekt przeciwny do zamierzonego.
- Aplikacja jest stosunkowo dobrze zaprojektowana, ale w niektórych punktach implementacja jest chaotyczna (szczególnie starszy kod).
- Istnieją testy jednostkowe tylko dla nowszego kodu. Kiedy rozpoczął się ten projekt, nie przeprowadzaliśmy regularnie testów.
- Dokumentacja i komentarze są niekompletne.
- Aplikacja jest zarówno duża, jak i złożona.
- Klient zapisał prawie każdy szczegół na temat swojego projektu, w bardzo jasny i „przyjazny dla programisty” sposób.
Czy warto teraz dodać osobę? Jeśli tak, co możemy zrobić, aby pomóc nowemu deweloperowi zintegrować się z zespołem?
EDYTOWAĆ:
Sponsor organizuje internetowe wydarzenie sportowe na wiosnę. Musi zacząć się w określony dzień roku. Nie możemy tego zmienić.
Co my, programiści (jestem jednym z dwóch), musimy zrobić:
Wypełnianie istniejącej aplikacji (około 25% pracy do wykonania).
Stworzenie nowego modułu, niezbędnego do organizacji tego wydarzenia (około 75% pracy do wykonania). Tego nowego modułu nie można opracować bez zrozumienia API głównego programu.
Nie mogę dokładnie oszacować czasu, ale jesteśmy w ryzykownej sytuacji.