Beginnen wir mit der Einstellung eines guten Teams der richtigen Fachleute für Ihr Projekt. In einer typischen Geschäftsanwendung müssen Sie mindestens einen Datenbankentwickler und einen DBA, eine QA-Person, einen Systemadministrator, einen Geschäftsanalysten, Anwendungsentwickler, einen UI-Spezialisten und Teamleiter einstellen. DBA, Systemadministrator, Geschäftsanalysten und QS sollten sich in einer separaten Berichtskette vom Entwicklungsteam befinden. Der Spezialist für Entwicklungsdatenbanken sollte sich an denselben technischen Leiter wie der Anwendungsentwickler und der UI-Spezialist wenden.
Richten Sie die Büroräume ein. Private Büros sind großartig, wenn Sie sie bekommen können (ich wünsche Ihnen viel Glück dabei), aber für ein Minimum benötigen Sie Schreibtische, Telefone, Computer, Whiteboards und ein paar dedizierte Konferenzräume. Stellen Sie sicher, dass ein Platz für die Mittagspause, einen Kühlschrank, alkoholfreie Getränke, Snacks und Kaffee zur Verfügung steht. Kostenlose alkoholfreie Getränke und Kaffee noch besser.
Richten Sie dev / qa / staging- und prod-Server sowohl für die Anwendung als auch für die Datenbanken ein. Datenbanken sollten sich niemals auf demselben Server wie die Anwendungen befinden. Abhängig von der Größe und dem Umfang des Projekts benötigen Sie möglicherweise mehrere Server oder SANs usw. für jede Umgebung.
Sobald Server eingerichtet sind, planen Sie Sicherungen des Dateisystems, der Datenbank und der Datenbanktransaktionsprotokolle. Tun Sie dies gleich am ersten Tag, wenn die Dinge eingerichtet sind. Mieten Sie eine Firma wie Iron Mountain, um wöchentlich Backups außerhalb des Unternehmens zu erstellen.
Richten Sie ein Versionsverwaltungssystem ein und erstellen Sie ein Dokument, in dem die Verwendung beschrieben wird. Vergessen Sie nicht, darauf zu bestehen, dass ALLE Datenbankstrukturänderungen und Dateneinfügungen für Lookup-Typ-Tabellen in Skripten in der Quellcodeverwaltung enthalten sind. Dies erleichtert die Bereitstellung.
Kaufen Sie kommerzielle Software oder laden Sie Open Source-Software für das Toolset herunter, das Sie für alle relevanten Benutzer mit Lizenzen verwenden möchten.
Kaufen Sie Entwicklermaschinen, die schnell schreien und zwei Monitore haben. Kaufen Sie mindestens eine Testbenutzermaschine, die langsam stöhnt und typisch für das ist, was die Benutzer auf ihren Desktops haben.
Trainieren Sie Ihre neuen Entwickler darin, wie Sie Dinge erledigen möchten. Wenn Sie ein Team haben, das groß genug ist, um einige Nachwuchsentwickler zu beschäftigen, planen Sie zusätzliche Schulungen für diese und beziehen Sie die Zeit in Ihre Projektplanung ein. Überwachen Sie Junioren mindestens drei Monate lang sehr genau. Überwachen Sie im ersten Monat alle neuen Mitarbeiter genau. Beseitigen Sie so schnell wie möglich Totholz und Schurkenentwickler.
Bestimmen Sie, was in welcher Reihenfolge getan werden muss (der kritische Pfad). Weisen Sie Aufgaben erst am Ende des kritischen Pfads zu, wenn die Aufgaben, von denen sie abhängen, abgeschlossen sind.
Erstellen Sie Testpläne und Anforderungen.
Richten Sie regelmäßig geplante Fortschrittsbesprechungen mit den Kunden ein. Sie verdienen es zu wissen, was Sie tun und was die Straßensperren sind. Versäumen Sie nicht, ihnen zu sagen, wann die Dinge zu spät kommen werden. Wenn Sie drei Wochen von einer Frist entfernt sind und bereits wissen, dass Sie diese verpassen werden, verschwindet dieses Defizit nicht auf magische Weise, bevor Sie es dem Kunden mitteilen müssen. Stellen Sie sicher, dass der Kunde weiß, dass zusätzliche Anforderungen zusätzliche Kosten und Zeit bedeuten und dass für jede zusätzliche Anforderung entweder andere Aufgaben gelöscht werden müssen oder sich die Frist um die Anzahl der Stunden in den neuen Aufgaben ändert. Wenn Sie dies von Anfang an klarstellen, sparen Sie viele Schmerzen und Überstunden sowie Kostenüberschreitungen, die von Ihrer Gruppe und nicht vom Kunden in Kauf genommen werden.
Richten Sie eine Umgebung für den Leistungstest ein, und zwar nicht nur die Geschwindigkeit eines Benutzers, sondern eine Umgebung, in der Sie die erwartete Anzahl gleichzeitiger Benutzer testen können. Warten Sie nicht, bis Sie den Test am Tag vor dem Start durchgeführt haben.
Bei der Projektplanung wird davon ausgegangen, dass QA Fehler findet und die Behebung einige Zeit in Anspruch nimmt. Planen Sie die Qualitätssicherung am Ende nicht nur für einen Tag.
Erstellen Sie Testdaten, die ungefähr der Größe entsprechen, die Sie für die Datenbank halten. Lassen Sie alle Entwickler ihren Code anhand der Datenbank dieser Größe testen. Erlauben Sie Entwicklern nicht, nur gegen eine kleine Datenbank auf ihren PCs zu entwickeln. Dies ist eine häufige Ursache für Code, der einwandfrei funktioniert, bis er die Produktion erreicht.
Planen Sie Belohnungen in das Budget ein. Es demotiviert Leute, wenn sie monatelang ihren Hintern abarbeiten und nur Manager Boni bekommen. Sagen Sie auch häufig und schriftlich Danke.
Möglicherweise benötigen Sie ein Projektmanagementsystem oder richten zumindest Tabellenkalkulationen ein, um zu verfolgen, was Sie nachverfolgen müssen. Nehmen Sie bei der Projektplanung nicht mehr als sechs Stunden pro Tag als Person in Ihrem Plan an. Auf diese Weise wird die Zeit berücksichtigt, die nicht für das Projekt aufgewendet wird, z. B. Urlaub, Krankheit, Urlaub, Personalbesprechungen, Leistungsüberprüfungen usw. Wenn Sie wissen, dass sich das Projekt in einer Phase hoher Nichtverfügbarkeit befindet (z. B. in einem laufenden Projekt) vom 1. November bis 1. Januar in den USA) müssen Sie möglicherweise zusätzliche Urlaubs- und Urlaubszeiten berücksichtigen. Es ist nicht fair zu erwarten, dass Entwickler ihren Urlaub und ihre Ferien aufgeben und niemand kann vorhersagen, wann Dinge wie Krankheitszeiten, Geschworeneingriffe, Trauerzeiten usw. eintreten werden. Angenommen, sie werden Ihrem Team bei diesem Projekt passieren.