Was sind die ersten 5 Dinge, die Sie tun, bevor Sie ein neues Projekt starten?
Verbringen Sie immer einen Tag damit, nach neuen Frameworks zu suchen? Oder ähnliche oder konkurrierende Produkte verwenden?
Was sind die ersten 5 Dinge, die Sie tun, bevor Sie ein neues Projekt starten?
Verbringen Sie immer einen Tag damit, nach neuen Frameworks zu suchen? Oder ähnliche oder konkurrierende Produkte verwenden?
Antworten:
Das ist ziemlich projektabhängig. Ist dies ein Projekt, das ich mit der Absicht des Verkaufs beginne, oder ein Projekt für einen bestimmten Kunden? Was macht "Starten" aus? Ist das vor oder nach dem Sammeln von Anforderungen? Eine grobe Liste:
Holen Sie sich einen Kontext für das Projekt. Finden Sie heraus, was Ihr Kunde oder potenzieller Benutzer erreichen möchte und warum. Wenn Sie ein Hotelregistrierungssystem erstellen, was ist beispielsweise mit den OTS-Optionen falsch?
Anforderungen sammeln. Treffen Sie sich mit Stakeholdern. Treffen Sie sich mit Benutzern. Treffen Sie sich mit allen, die am Projekt beteiligt sind, wenn Sie können. Schauen Sie sich vorhandene Lösungen an, die dieses Projekt ersetzen wird, entweder die der Kunde verwendet oder die auf dem Markt vorhanden sind. Schreiben Sie von dort aus alles in einer nicht-technischen Sprache auf, wie Sie können. Ein gutes Anforderungsdokument sollte beschreiben, was zu tun ist, aber nicht, wie es zu tun ist. Besprechen Sie dieses Dokument dann mit dem Kunden und wiederholen Sie es, bis er damit einverstanden ist. Dieser Schritt kann für kleinere Projekte weniger formal sein (möglicherweise sogar vollständig verbal).
Treffen Sie technische Entscheidungen. Wählen Sie Sprachen, Frameworks, ORMs, Datenbanken usw. aus, die das Problem am besten lösen, unabhängig davon, ob Sie sich an etwas halten, das Sie kennen, oder etwas Neues lernen.
Analysieren Sie die Risiken für dieses Projekt. Wenn es sich um einen Regierungsvertrag handelt, möchten Sie wahrscheinlich einen 100-seitigen Leder-Risikobericht. Wenn es sich um ein 3-Mann-4-Monats-Projekt handelt, sind einige Notizen in einer Textdatei oder einer Tabelle möglicherweise in Ordnung. In jedem Fall möchten Sie herausfinden, was mit dem Projekt schief gehen kann, wie wahrscheinlich es ist, wie sehr es schaden wird und was Sie tun werden, um sich darauf vorzubereiten, es zu handhaben und / oder es zu mildern Effekte nachträglich. Ein häufiges Beispiel ist beispielsweise "Einer der Entwickler wird von einem Bus angefahren, steigt aus, wird krank usw." Sie können dies also abschwächen, indem Sie die Programmierung von Paaren durchführen, um Wissen auszutauschen, gute Methoden zur Quellcodeverwaltung anwenden, um den Code zentral zu halten usw.
Richten Sie die Technologie ein. Es ist die Art von Dingen, die niemand tun möchte, wenn Sie mitten im eigentlichen Codieren sind. Richten Sie also Ihr Repo, Ihren Build-Server, Ihr Build-System, Ihre Wikis, Ihren Bug-Tracker oder was auch immer Sie verwenden möchten ein dein Projekt.
Ich werde nur diesen Teil der Frage beantworten, weil es der einzige Teil ist, auf den ich mich beziehen kann:
Verbringen Sie immer einen Tag damit, nach neuen Frameworks zu suchen?
Nein, ich bezweifle ernsthaft, dass das überhaupt funktionieren könnte ... Wie könnte jemand an nur einem Tag vor jedem Projekt neue Frameworks erforschen und etwas Relevantes lernen? Das passiert einfach nicht so. Stattdessen verbringe ich jeden Tag Teile meines Tages damit, verschiedene Technologien zu erforschen (nicht nur neue Frameworks). Forschung ist nichts, was ich mache, wenn ich muss. Es ist etwas, das ich die ganze Zeit mache und das ist schon da, wenn ich es brauche, um dort zu sein. Programmieren macht Spaß, deshalb bin ich in diesem Geschäft. Sie können mich nicht davon abhalten, jeden Tag andere Dinge auszuprobieren.
Verbringt ein Schriftsteller einen Tag damit, Ideen zu sammeln, bevor er ein neues Buch beginnt?