Ich leite eine kleine Firma, die nur aus 2 Entwicklern besteht. Wir erstellen eine sehr große Anwendung für einen unserer Kunden. Die Entwicklung dieses Projekts dauerte 1,5 Jahre.
Jetzt hat sich dieser Kunde ein wichtiges Sponsoring gesichert und organisiert Veranstaltungen im Zusammenhang mit diesem Projekt. Jetzt haben wir eine Frist von 2 Monaten und wir können sie nicht verfehlen.
Wir denken darüber nach, dem Team einen neuen Entwickler hinzuzufügen, und ich frage mich, was wir tun können, um seine Integration zu unterstützen.
Das ist die Situation:
- Wir nähern uns der Schwelle des Brooks-Gesetzes - der Punkt, an dem neue Entwickler hinzugefügt werden, wird kontraproduktiv sein.
- Die Anwendung ist relativ gut gestaltet, aber die Implementierung ist in einigen Punkten (insbesondere bei älterem Code) chaotisch.
- Es gibt Unit-Tests nur für neueren Code. Zu Beginn dieses Projekts haben wir keine regelmäßigen Tests durchgeführt.
- Dokumentation und Kommentare sind unvollständig.
- Die Anwendung ist sowohl groß als auch komplex.
- Der Kunde hat fast jedes Detail seines Projekts sehr klar und "programmiererfreundlich" aufgeschrieben.
Ist es eine gute Idee, jetzt eine Person hinzuzufügen? Wenn ja, was können wir tun, um den neuen Entwickler bei der Integration in das Team zu unterstützen?
BEARBEITEN:
Der Sponsor organisiert für das nächste Frühjahr eine internetbasierte Sportveranstaltung. Es muss an einem bestimmten Tag des Jahres beginnen. Wir können es nicht ändern.
Was wir Entwickler (ich bin einer der beiden) tun müssen, ist:
Fertigstellung der bestehenden Bewerbung (ca. 25% der zu erledigenden Arbeit).
Erstellen eines neuen Moduls, das für die Organisation dieser Veranstaltung unerlässlich ist (ca. 75% der zu erledigenden Arbeit). Dieses neue Modul kann nicht entwickelt werden, ohne die API des Hauptprogramms zu verstehen.
Ich kann keine genaue Zeitschätzung vornehmen, aber wir befinden uns in einer riskanten Situation.