Wie verwalten Sie Projekte anderer Mitarbeiter? [geschlossen]


15

Es kommt vor, dass jemand plötzlich die Firma verlässt. Nun muss seine Arbeit abgeschlossen sein und Ihnen wird sie zugewiesen. Da Sie keine Ahnung haben, was er vorhatte (waren es 90% oder 9%), wie gehen Sie mit dem Rest um?

  1. Soll ich bei Null anfangen? Was wäre, wenn es zu 90% erledigt wäre?
  2. Soll ich versuchen zu verstehen, was er getan hat? Was wäre, wenn es nur Unsinn wäre?

10
+1, um der unverdienten Ablehnung der IMHO entgegenzuwirken. Ich denke, das ist eine anständige, echte und beantwortbare Frage, die hier zum Thema wird. Es ist traurig zu sehen, dass diese Seite auf dem Weg von SO selbst immer feindlicher und ungeduldiger wird :-(
Péter Török

2
@ PéterTörök Ich denke, es wird immer enger abgestimmt, weil jeder eine Antwort schreiben kann, die mit einer Vielzahl von Best Practices zu tun hat, wenn er mit anderem Code arbeitet. Die Antworten unten sind bisher ausgezeichnet, aber ich kann sehen, dass dies 50 lahme Antworten erzeugt.
maple_shaft

Alles, was ich brauche, ist eine anständige Strategie. Wenn solche Situationen auftreten, sind alle nur durcheinander .
Shirish11

2
@maple_shaft, meiner Meinung nach könnte dies auf so ziemlich jede Frage auf dieser Website zutreffen ;-)
Péter Török

In einer vernünftigen Firma hätte die Person, die das Unternehmen verlässt, im Standup täglich über ihre Fortschritte berichtet, und außerdem wären ihre Aufgaben sowieso in vernünftige Teile zerlegt worden.
MSalters

Antworten:


7

Um herauszufinden, was zu tun ist, müssen Sie wissen, was Sie haben und wie gut es ist.

Sehen Sie sich zunächst alle Quellen an und finden Sie heraus, was Sie haben. Wenn es klar ist, ist es am einfachsten, nur das zu beenden, was fehlt. Führen Sie Unit-Tests durch, um herauszufinden, was funktioniert und was nicht.

Wenn es nicht klar ist, fangen Sie an herauszufinden, was mit neuen Unit-Tests funktioniert. Wenn dies nicht möglich ist, teilen Sie Ihrem Teamleiter mit, dass Sie ein Problem haben und möglicherweise nicht in der Lage sind, es zu lösen. Er kann dann entscheiden, ob die verbleibende Arbeit trotzdem gerettet werden soll oder ob sie einfach zu schlecht ist und Sie sie wiederholen müssen.


Das Herausfinden der Anforderungen wäre auch wichtig, um herauszufinden, was Sie vermissen?
Svish

7

Zusätzlich zu dem, was andere geschrieben haben, würde ich vorschlagen, dass Sie mit jedem sprechen, der direkten Kontakt zu dem Typen hatte. Ich verstehe aus Ihrer Beschreibung, dass er alleine gearbeitet hat und sich trotzdem bei jemandem gemeldet hat? Und es könnte QA-Mitarbeiter geben, die getestet haben, was er produziert hat ... Diese Personen sollten (normalerweise) zumindest eine ungefähre Vorstellung davon haben, wie weit der Typ mit seinem Projekt gekommen ist, bevor sie gegangen sind. Es sei denn natürlich, die von ihm gelieferten Informationen / Produkte erwiesen sich als völlig unzuverlässig und trugen zu seiner Entlassung bei.

Besprechen Sie dies mit Ihrem Vorgesetzten, und legen Sie einen Zeitrahmen für die anfängliche Erkundung / Prüfung des verbleibenden Codes sowie für das Verständnis der Spezifikationen und Anforderungen fest. Dies könnte ungefähr ein Tag für ein Projekt auf der Zeitskala einiger Personenmonate sein, höchstens eine Woche für ein Projekt mit einem oder mehreren Personenjahren usw.

Nach dieser ersten Erkundung sollten Sie eine grobe Schätzung von haben

  • was das Produkt tun soll,
  • was kann es aktuell und wie gut,
  • Wie viel Zeit und Risiko würde es dauern, von Grund auf neu zu schreiben,
  • Wie viel Zeit und Risiko würde es dauern, um das zu beenden, was bereits getan wurde.

Dann können Sie sich wieder mit Ihrem Vorgesetzten zusammensetzen, um eine Entscheidung zu treffen.


Der Versuch, Kontakt mit dem Kerl aufzunehmen, scheint ausgeschlossen, weil sie einfach verschwinden.
Shirish11

1
Ich wollte die Jungs kontaktieren Projektmanager oder jemanden in einer ähnlichen Rolle seine Arbeit beaufsichtigte.
Péter Török,

Die Manager wissen nicht genau, was im Codierungsteil tatsächlich geschieht.
Shirish11

1
@ Shirish11 natürlich nicht, aber jeder Projektmanager, der sein Geld wert ist, sollte zumindest grob darüber informiert sein, inwieweit seine Teammitglieder derzeit eine bestimmte Aufgabe / ein bestimmtes Projekt abgeschlossen haben.
Péter Török,

6

Nach meiner Erfahrung ist dies keine ungewöhnliche Situation. Leider haben Sie hier wirklich zwei Probleme :

1) Die Reste dieses Projekts 2) Die Gründe, warum du überhaupt in dieses Chaos geraten bist

Für (1) müssen Sie die Größe / Komplexität des Projekts berücksichtigen. Wenn es eine Woche Arbeit ist, müssen Sie wahrscheinlich von vorne anfangen. Wenn es sich um ein Jahr Arbeit handelt, müssen Sie möglicherweise sehen, was Sie aus dem vorhandenen Code retten können.

In jedem Fall müssen Sie sofort die folgenden Schritte ausführen:

a) Sagen Sie Ihren Managern, dass Sie ein großes Problem haben

b) Besorgen Sie sich die Projektspezifikation und machen Sie sich ein genaues Bild von dem, was Sie erreichen müssen - oder sprechen Sie mit den Projektsponsoren, wenn es keine Spezifikation gibt.

c) Sprechen Sie mit Manager / Kunden usw. und finden Sie heraus , ob jemand hat / denkt , sie haben jede Vorstellung vom Stand des Projekts .

Sobald Sie dies getan haben, können Sie den Code untersuchen und eine Strategie ausarbeiten.

(Ich denke, Unit-Tests werden Ihnen nicht viel helfen - sie sagen Ihnen vielleicht, ob die geschriebenen Funktionen tatsächlich funktionieren, aber sie sagen Ihnen nicht, welche Funktionen vorhanden sein sollten.)

Als nächstes möchte ich keinen Überblick über die Architektur des vorhandenen Codes erhalten und wie dieser auf das in der Spezifikation definierte Problem abgebildet wird. Ermitteln Sie dann die Unterkomponenten der einzelnen Hauptkomponenten und sehen Sie, wie sie in das Gesamtbild passen. Auf diese Weise erfahren Sie (ungefähr), welche Komponenten fehlen.

Sobald Sie wissen, was vorhanden ist, müssen Sie den vorhandenen Code untersuchen, um festzustellen, ob er das tut, was er tun soll.

Wenn Sie dies alles erledigt haben, können Sie abschätzen, wie viel Arbeit noch zu tun ist.

In Teil (2) muss Ihr Unternehmen möglicherweise die Einstellungsrichtlinien / Personalbindungsrichtlinien prüfen und nach Wegen suchen, um Programmierer für den Fortschritt zur Rechenschaft zu ziehen.

Schließlich sollten Sie sich auch überlegen, wie Sie verhindern können, dass dies dem Unternehmen passiert, wenn Sie in Eile gehen.


+1 für das Erhalten der Spezifikation. Manchmal war der einzige Ort, an dem er existierte, im Kopf des Entwicklers und bei den Leuten, die ihn gebeten hatten, ihn zu bauen.
Spencer Rathbun

5

Sie müssen auf jeden Fall versuchen, die Software auszuführen, um zu sehen, was funktioniert und was nicht.

Sie müssen dann prüfen, welche Dokumentation noch vorhanden ist. Gibt es schriftliche Anforderungen? Gibt es bestimmte Aufgaben - werden Aufgaben auf irgendeine Weise verfolgt? Hat es jemand getestet - wenn ja, wissen sie, was getan wird und was nicht.

Ich denke, ein Aktionsplan wäre:

  1. Markieren Sie, welche Anforderungen erfüllt wurden (durch schnelles Durchlaufen des Systems wie bei einem Tester).

  2. Schauen Sie sich den Code an - können Sie ihn verstehen? Ist es gut geschrieben?

Klar, wenn es zu 90% fertig ist und der Code gut geschrieben ist, würden Sie es einfach beenden.


1
Ich fing an, eine Antwort mit genau demselben (Wort für Wort) ersten Satz wie Ihrem zu schreiben. Das ist nur gesunder Menschenverstand. Die andere Frage wäre: Warum wissen Manager / Verantwortliche nicht, welche Fortschritte erzielt wurden?
Anonym

@Anonyme Manager arbeiten nicht direkt am Projekt, sodass der einzige Fortschritt, den sie kennen, darin besteht, sie darüber zu informieren. Wenn diese Person wusste, dass sie gehen würde, blies sie wahrscheinlich nur aus Trotz oder nur aus Faulheit oder Dummheit Rauch. Ich war schon einmal in dieser Situation und es macht keinen Spaß, denn wenn das Management feststellt, dass sie zu etwa 90% belogen wurden, erinnert es sie daran, wie wenig Kontrolle sie die meiste Zeit tatsächlich haben.
maple_shaft

@maple_shaft - In diesem Fall machen die fraglichen Manager ihre Arbeit nicht richtig. Ihre Aufgabe ist es, ein Team zu führen, um ein bestimmtes Ziel zu erreichen. Wenn sie den Fortschritt nicht verfolgen und Aufgaben entsprechend delegieren, wofür sind sie da?
Anonym

1
@ Anonymous- Du hast sehr lange als Softwareentwickler gearbeitet ;-)? Im Laufe der Jahre ist meine Meinung über einen guten Manager auf eine Person gefallen, die mir aus dem Weg geht und gelegentlich Hindernisse beseitigt .
maple_shaft

1
@maple_shaft - Lol, das ist fair genug. Offensichtlich hat dieser Führungsstil für die Firma des Einsatzleiters nicht geklappt. :-p
Anonym

3

Noch nicht erwähnt.

Versuche den Kerl zu kontaktieren, der gegangen ist. Es ist nicht in jedem Fall möglich. Aber wenn er gesund ist und zumindest ein bisschen von seiner Arbeit mag, wird er helfen und Ihnen eine ehrliche Antwort auf Fortschritte und fehlende Teile geben. Und er könnte Ihnen das große Ganze erklären.


+1: Wenn möglich, ist dies wahrscheinlich die einfachste und effektivste Lösung.
Leo

1

Herzlichen Glückwunsch, dies ist Ihre Chance zu glänzen und einen wirklich positiven Eindruck bei Ihren Chefs zu hinterlassen. Was Sie hier haben, ist eine unbezahlbare Gelegenheit. Also, was müssen Sie tun und wie?

Holen Sie sich zuerst den Code. Möglicherweise hat er nicht alles eingecheckt (der Typ, der uns das angetan hat, hat es nicht getan). Deshalb hat jemand mit Administratorrechten es von seinem Computer gezogen und für Sie eingecheckt.

Das nächste Mal wird das Problem untersucht. Nehmen Sie die Anforderungen und notieren Sie, für welche Teile Code geschrieben zu sein scheint und für welche nicht. Dies ist die grobe Liste dessen, was noch nicht fertig ist. Es wird wachsen, wenn Sie den nächsten Schritt tun. Gehen Sie dann den Code durch, werten Sie ihn aus, führen Sie ihn aus und sehen Sie, was gerade funktioniert und was anscheinend nicht funktioniert, obwohl Code geschrieben ist. Fügen Sie die nicht funktionierenden Teile zur Liste hinzu. Suchen Sie nach Unit-Tests (Ich wäre überrascht, wenn Sie sie finden würden. Die Leute, die kurz vor Ablauf einer Frist aussteigen, weil sie wissen, dass sie versagen, schreiben sie in der Regel nicht). Jetzt haben Sie zumindest eine gute Vorstellung davon, wie schlimm es ist. Sehen Sie sich auch die Anforderungen an und finden Sie heraus, welche Fragen beantwortet werden müssen. Häufig treten Projektfehler aufgrund schlechter Anforderungen auf, und ein Entwickler möchte (aus unzähligen Gründen) keine weiteren Fragen stellen.

Jetzt machen Sie Ihren Projektplan. Beginnen Sie mit einer Liste der Fragen, die Sie aus den Anforderungen haben (schreiben Sie sie formell in ein Dokument), und listen Sie dann die Dinge auf, die Sie tun müssen, um die Arbeit abzuschließen. Schätzen Sie, wie viel Zeit die einzelnen Schritte in Anspruch nehmen werden. Stellen Sie fest, ob das, was derzeit existiert, gerettet werden kann (und wenn nicht, begründen Sie, warum nicht).

Treffen Sie sich jetzt mit dem Projektmanager (und Ihrem Chef, wenn es sich um zwei verschiedene Personen handelt) und teilen Sie ihm die schlechten Nachrichten mit. (Es ist fast immer eine schlechte Nachricht, wenn jemand plötzlich geht und man dort weitermachen muss, wo er aufgehört hat. Gute Entwickler lassen die Leute nicht im Stich - sie geben zumindest eine Liste darüber, was sie getan haben und was noch zu tun ist Die Ausnahme kann sein, wenn jemand aus gesundheitlichen Gründen abreist.) In Ihrer Diskussion erhalten Sie möglicherweise einige der Antworten, die Sie benötigen, und Sie und der PM überarbeiten möglicherweise den Projektplan ein wenig.

Senden Sie im Anschluss an die Besprechung eine Kopie Ihrer zu beantwortenden Fragen und den von Ihnen ausgearbeiteten Projektplan an den Ministerpräsidenten und andere wichtige Stakeholder (der Ministerpräsident ermittelt, wer die Person ist).

Jetzt haben Sie alles, was Sie brauchen, um mit dem eigentlichen Codieren zu beginnen. Machen Sie sich an die Arbeit.

In der Zwischenzeit wurden Sie wahrscheinlich von etwas anderem abgezogen, um dieses Projekt zu retten. Stellen Sie sicher, dass Ihre Arbeit in der richtigen Form ist, damit sie von jemand anderem oder nach Abschluss des Projekts von Ihnen übernommen werden kann. Das bedeutet die gleichen Dinge, ein Dokument, in dem Sie sagen, was getan wird und was nicht, und ein Check-in des gesamten Quellcodes (nicht erforderlich, wenn dies nicht getan wird, sondern an einem Ort, an dem jemand anderes darauf zugreifen kann .

Wenn Sie nicht von Ihrer bestehenden Arbeit abgezogen wurden, müssen Sie mit Ihrem Chef abklären, wie viel Zeit Sie an dem jeweiligen Arbeitstag verbringen werden. Dies ist eine der Zeiten, in denen Überstunden erforderlich sein können und geschätzt werden. Je näher die tatsächliche Frist rückt, desto verzweifelter ist das Management, und Sie können möglicherweise Überstundenvergütungen oder einen großen Bonus ausrechnen, wenn die Frist knapp wird. Wenn diese Arbeit die andere Arbeit erheblich verzögert, müssen Sie sicherstellen, dass die Stakeholder in diesem Projekt darüber informiert sind.

Wenn Sie das Projekt erfolgreich gerettet haben, geben Sie dies bei Ihrer nächsten Leistungsbeurteilung an.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.