Übernahme von Projekt - Was soll ich Fragen der vorherigen Programmierer?[geschlossen]

StackOverflow https://stackoverflow.com/questions/436212

  •  22-07-2019
  •  | 
  •  

Frage

Ich bin dabei, über eine Entwicklung einer kommerziellen Website.Diese Seite wurde entwickelt, über zwei Jahre von einem anderen Programmierer.Es ist meist ein ein-Mann-job (Erhalt und ausbau der Website).Ich werde 2-3 Tage übergang Zeit, als die anderen Programmierer, die mir zeigen, das system.Aber von dem, was ich weiß, gibt es nur wenig Dokumentation.Alles ist in den code (welcher Art dokumentiert).Hier ist, was ich bin der Planung zu Fragen, so weit:

  • Erklärung der komplexesten Elemente des Systems
  • Beschreibung der Gesamtarchitektur
  • Beschreibung des support-tools (IDE-setup, unit-tests, deployment Mechanismus)
  • Ein Buch, Internetseite, podcast, er verwendet, um Einfluss auf die Architektur der system

Jede andere, die ich bin fehlt?

[EDIT] vielen Dank allen.Verloren, der gute Vorschläge.Ich wünschte, ich könnte akzeptieren, mehr als eine Antwort!Zusätzlich würde ich auch hinzufügen:

  • Was haben Sie getan, speziell zu verbessern die Leistung der system, und wo ist der Engpass im Moment?
  • Bezug auf das, was haben Sie getan, in Bezug auf die Sicherheit des Systems?(was haben Sie gemacht, und wo sind die Sicherheit, die Löcher jetzt)

Eine Letzte Sache:der Entwickler sagte, dass er verfügbar sein wird, um meine Fragen zu beantworten später, wenn ich es brauche.Es ist sein "baby", nachdem alle.Aber ich glaube wirklich, dass in 6 Monaten wird er sich und seine Verfügbarkeit wird viel mehr reduziert!

War es hilfreich?

Lösung

Achten Sie darauf, für alle login-Daten für den web-Server, domain-Registrare, Datenbank-Server, Mail-Server, und alles, was Sie sich vorstellen können.Es klingt verrückt, aber oft Entwickler-domain-Namen mit sich selbst, als die administrative und technische Kontakte.Das Unternehmen wird dann haben zu springen durch alle Arten von Reifen mit der registrar, um die Domäne zurück, wenn der ursprüngliche Programmierer nicht kontaktiert werden kann.

Andere Tipps

Bevor man sich die code:

Deaktivieren Sie das objs und exes, und ihm/Ihr Wiederaufbau der Sache.Watch jegliche manuelle Interaktion (baut via "machen" alleine oder gibt es etwas, das hantieren beteiligt).

Besser noch:geben Sie ihm/Ihr ein nackt (gerade gekauft) Maschine, lassen Sie ihm/Ihr zeigen, eine Kasse und neu erstellen.Dann sehen Sie, wie die app gestartet wird, und, kommt alle geheimen Möglichkeiten, um Eingang?).

Dann:in a pair programming session, fügen Sie eine oder zwei Funktionen, um das system und sehen, wo und wie diese umgesetzt werden.

Das oben klingt dumm, aber ich habe gesehen, Projekte, in denen die Gebäude allein war ein Albtraum, und eine Menge wissen im Gehirn war der Entwickler nur.Nicht mit einer vertrauenswürdigen build-Umgebung und müssen herausfinden, wie Sie die Neuerstellung der ist ein nighmare.

"Wenn Sie wieder gehen konnte-und der Neuentwicklung dieses Systems, was würden Sie anders machen"

Fragen:a) was Sie nicht wollen, dass ich Sie bitten, über dieses system?b) was wirst du am glücklichsten sein, wenn Sie sind nicht länger an diesem Projekt zu arbeiten?c) Was sind die Teile des Systems, die zu Komplex sind, dokumentiert zu werden?

Sein Telefon.

Wer sind Ihre erfahrene Nutzer, wessen Meinung sollte ich suchen oder Vertrauen?

Wer sind Ihre gefährliche non-expert users - wem soll ich Zuhören und dann aktiv zu ignorieren?

Was ist das periodische "hand-Arbeit", die das system benötigt?

Wissen Sie, diese kleinen jobs, die auftauchen, jeder so oft, dass noch nicht automatisiert noch.Wie tun Sie lösen es, und wie erkennt man es.

Fragen Sie, was die real Anforderungen.Die meisten Projekte haben entweder keine SCHRIFTLICHEN Anforderungen oder out-of-date geschrieben-Anforderungen.Die Echtzeit-Dokumentation ist in der Regel mündliche Gespräche.Finden Sie heraus, wer zu reden.Wenn Sie widersprechen sich die Anforderungen aus verschiedenen Benutzer finden Sie heraus, wer ist der wichtigste glücklich zu machen.

  • Bekannt1 Themen
  • Bekannt1 Bereiche der Verbesserung
  • Die bestehenden code-coverage-Daten, test-pass-rate etc.um als Grundlage verwendet werden
  • Tipps zur Fehlerbehebung (Verständnis-log-Dateien, Debuggen abstürzt, Allgemeine Hinweise)
  • Erklärung der Konfigurationsparameter

1 Bekannt ist nur, um ihm oder Ihr

Die erste Frage, die ich in der Regel Fragen bei der übernahme eines Projekts ist, wie man es aus der Quelle die Kontrolle (im Grunde, "Wo ist es?").Andere als, dass, ich glaube, du hast alle wichtigen Punkte erfasst.

IDE-setup, unit-tests, deployment-Mechanismus

das sind wohl die wichtigsten Dinge, die Sie Fragen können.

Wenn Sie Fragen, was websites beeinflusst, den Sie übernehmen, stellen Sie sicher, dass Sie erhalten eine Liste mit links.Ich habe gefunden, dass viele Entwickler halten Lesezeichen auf Websites, die Sie haben, aufgenommen.Stellen Sie sicher, dass Sie sich mit diesen.

Stellen Sie sicher, Sie können ES ERSTELLEN und FREIGEBEN.

Zu oft gibt es Probleme mit fehlenden Informationen.

Sie müssen WISSEN, ALL DIE zusätzlichen Sachen.

Holen Sie sich eine frische Maschine und machen sicher, Sie können duplizieren Sie ein build-und release.

EDIT:nach, dass, es wäre:"Was sind all die Dinge, die Sie haben, Bedeutung zu fixieren, aber nicht bekommen, und die nicht dokumentiert sind irgendwo"?

Nicht Fragen.Sperre ihn in einen Raum - weisen, dass er ihn nicht bekommen Nahrung oder Wasser, bis er beginnt von Anfang an und erzählt Ihnen alles, was er weiß über das system.Dann Fragen Sie relevanten Fragen, wie Sie kommen.Nach diesem - verbringen Sie ein paar Tage Blick auf den code.Dann wiederholen Sie den Vorgang.Tun Sie dies, bis Sie sich wohl fühlen mit dem system.

  • Wie installieren Sie die site auf einem neuen server.
  • Was die Website tut und wofür es verwendet wird.
  • Welche Datenbanken werden verwendet,&, wo Sie sind.

Stellen Sie sicher, dass Sie alle "Fallstricke" für die Anwendung.Sie sind oft die Daten oder business-Elemente, die zu minute oder skurrilen formellen Dokumentation, sondern mit dem wind mit großen Auswirkungen oder viele debug-Zeit, wenn Sie nicht wissen, was Los ist.

Zum Beispiel, in einer der Anwendungen, die ich derzeit pflegen wir die Oberfläche mit einem Dritten system, das ein "web viewer" type client.Das "Manko" ist, dass der web viewer nicht richtig pflegen the user ' s session state (gebrochen wird, wenn es aktualisiert wurde, um Ihre neueste version zu reparieren anderen kritischen Fragen).Als Ergebnis habe ich zu erinnern die Benutzer von Zeit zu Zeit, um einfach minimieren Sie das browser-Fenster so, dass der timeout tritt auf, natürlich, sonst werden Sie gesperrt für einen längeren Zeitraum der Zeit, bis die Ops-Leute, um hier zu bekommen, die neueren version installiert ist.

Was die größten Probleme, mit denen die Website ausgeführt hat wurden und wie wurden Sie gelöst?Es ist zu leicht zu versuchen und zu beheben etwas, das macht keinen Sinn überhaupt erst zu entdecken, dass das, was erscheint unsinnig ist eigentlich nur der fix für einige subtile, aber fiesen Fehler.

Gehen Sie durch den code und schaut, dass alles schaut auf alle schwer zu verstehen und nur zu Fragen, "was hat das zu tun, warum haben Sie es hinzufügen?"

Stellen Sie sicher, dass Sie notieren Sie Ihre Antworten - vielleicht sogar kommentieren Sie in den code so, dass Sie da sind, wenn Sie Sie benötigen.Es gibt nichts unangenehmeres als das Gefühl, "ich weiß Mir wurde gesagt, über das..."

Sowie die techy Zeug (das ist "einfach", um herauszufinden,:)) informieren Sie sich über business-Regeln!Diese sind selten dokumentiert ordnungsgemäß (in meiner Erfahrung), und Sie in der Regel nur herauszufinden, die harte Weise, wenn etwas schief geht.

2-3 Tage klingt die Abkürzung für die übergabe, so haben Sie keine Angst zu Fragen, für mehr.

Zuerst besorgen Sie sich eine lokale Umgebung mit source-control -, ide -, build-und release-Schritte, die alle bis auf die lokal ausgeführt.

Dann versuchen Sie und bekommen einen Eindruck von der Qualität des Codes, indem es kurz auf.Wenn es schlecht aussieht, dann bekommen Sie vielleicht nicht so viel nützliche Informationen in Bezug auf die Umsetzung von Ihrem Vorgänger.

Aber alles, was mit Bereitstellungen, db-Server, backup-Strategie , Anmeldungen, etc.sollte überprüft werden.Auch alle Lizenzen für Bibliotheken usw. und auch eine Liste der häufigsten Fehler aus (wenn Sie ein bug-tracker-tool dies kann nützlich sein)

Auch müssen Sie sehen, wie hilfreich Ihre Vorgänger hat, ist, wie ich gesehen habe verschiedene Stile der übergabe bilden diejenigen, bei denen die person, die die übergabe war freundlich, aber irreführend, wo Sie gab sarkastische Antworten auf die Fragen, die Sie in form von einem Fragebogen (die zwar lustig, war nicht professional) einfach nur desinteressiert.

Blick auf den code für 5 Minuten ist der beste start, wenn der code ist wirklich gut organisiert und kommentiert, es könnte keinen Grund, mit ihm zu sprechen überhaupt.

Wenn der code ist hässlich, auch nicht erwarten, dass ein intelligenter Gründe, warum er gehackt etwas zusammen, am besten können Sie ihn als Referenz für einige cruddy code und fragt, was der Zweck.

So oder so, reden von der Vergangenheit-Entwickler ist die am wenigsten nützliche Sache zu tun, weil entweder Weg, Sie stecken mit es jetzt.

Sorgfältig überprüfen Sie die Anwendung, und versuchen zu Figur es heraus erste.Dann gehen Sie in Ihr meeting mit Fragen und am wichtigsten ist, Kontext.

Haben Sie arbeiten in der gleichen Firma?
Wenn nicht, und dies ist nicht direkt mit dem Projekt verbunden, aber ich würde ihn Fragen, warum er verlassen.Es kann Ihnen einen Einblick in die Politik involviert sind, oder wenn etwas stört ihn bei der Arbeit mit ihm oder mit dem AUFTRAGGEBER.

Fragen über irgendwelche Hindernisse oder Tricks die ursprünglichen Entwickler gestoßen.

Erfahren Sie mehr über Ihre Kunden als gut.Sind Sie wählerisch?Was erwarten Sie?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top