Dieser Artikel ist der erste Tagesartikel von Adventskalender von Valtech Co., Ltd..
Ich bin Ingenieur im 4. Jahr und benutze Java für Unternehmen.
Die Gründe für die Wahl von "Ich möchte die Teamentwicklung aus der Ferne durchführen" als Thema sind folgende. ・ Ich möchte ein Team außerhalb der Arbeit bilden ・ Ich möchte Freunde finden, die an Teamentwicklung interessiert sind
Das Folgende ist diesmal eine Zusammenfassung. ・ [Teamentwicklungsimage und Ergebnisse im Prozess](# Teamentwicklungsimage und Ergebnisse im Prozess) ・ [Tools zur Unterstützung der Teamentwicklung](# Tools zur Unterstützung der Teamentwicklung) ・ [Tool zur Beschleunigung der Teamentwicklung](#Tool zur Beschleunigung der Teamentwicklung)
・ Internetumgebung ・ PC (SmartPhone, Tablet nicht verfügbar)
"Situationen wie diese werden angenommen" "Es gibt so ein Werkzeug" "Ich bin exzellent" Wenn Sie Fragen haben, folgen Sie bitte oder kommentieren Sie! Dieser Artikel wird nach dem Adventskalender gepflegt.
Lassen Sie uns zunächst die Vorteile der Teamentwicklung von zu Hause aus auflisten.
Vorteile | Bemerkungen |
---|---|
Ideen von 10 Personen und 10 Farben | Neue Ideen |
Durchführung gegenseitiger Überprüfungen | Erfahrung der Prüfer |
Weitergabe von Know-how | Aufnahme von anderem Wissen als der Person |
Einschränkungen | Bemerkungen |
---|---|
Unterschiede in den Maschinenspezifikationen | Tools werden möglicherweise aufgrund von Unterschieden im Betriebssystem unterstützt oder nicht |
Zeitsicherungsprobleme | Es gibt keine Garantie dafür, dass jeder an Wochentagen Zeit hat |
Umgang mit kostenpflichtigen Werkzeugen | Die meisten kostenlosen Werkzeuge können ersetzt werden |
Es wird angenommen, dass das entwickelte Produkt die folgende Konfiguration aufweist. Ich wünschte, ich könnte einen Mietserver mieten und eine Art Webanwendung veröffentlichen.
Application Server |
---|
Java9 |
Linux |
RDB(MySql 8.0) |
Wenn die Webanwendung auf der Server- und der Client-Seite streng getrennt ist Es scheint ein neuer Trend zu sein, Informationen vom Client über json zum Server auszutauschen.
Tatsächlich gab es eine Zeit, in der sich nach der festgelegten Zeit zwei Menschen in Baltec entwickelten. Es gibt eine Vorgeschichte von Fehlern aufgrund von Einschränkungen wie gegenseitigen Unannehmlichkeiten und der Unfähigkeit, Materialien innerhalb des Unternehmens herauszunehmen. .. .. Basierend auf den oben genannten Erfahrungen ist dies meine Best Practice für den Zeitplanprozess.
Annahme: Wasserfall bis zur ersten Veröffentlichung, dann agil
Wasserfall: Selbst wenn das Designdokument des vorherigen Prozesses eine Lücke enthält, wird die Datei ohnehin nicht überschrieben. Erstellen Sie ein Diff, schreiben Sie es dort, führen Sie es am Ende zusammen und geben Sie eine Nebenversion an. Agil: Wir werden das Designdokument von Zeit zu Zeit überarbeiten und nach der Veröffentlichung eine Nebenversion bereitstellen.
Lieferbar: Anforderungsdefinition
Wir werden grob besprechen, was Sie im Team machen möchten und welche Technologie Sie implementieren möchten. Als Diskussionsmittel, persönlich in einem Café oder einer Webkonferenz, Wenn es keinen Ausgangsteil gibt, wird es äußerst schwierig sein, das Gesamtbewusstsein zu vereinheitlichen. Beispiel: Whiteboard in einem Konferenzraum, Zeichnen in Excel
Zu erbringende Leistungen: Anforderungsdefinitionsdokument, Entwurfstabelle für Personal
Wir werden die technischen Spezifikationen für den Betrieb untersuchen und zusammenfassen, was Sie herstellen möchten.
Zum Zeitpunkt der ersten Version wird nur die Mindestkonfiguration verwendet, und umfangreiche Funktionen sind mit der nächsten Version kompatibel. (Weil es schwierig ist, die Motivation aufrechtzuerhalten, wenn Sie kein Horn machen und es bewegen)
Klären Sie, in welchem Prozess gemeinsame Verarbeitung und Vereinbarungen (Covenants) erörtert werden, wenn sie auf der Tagesordnung stehen.
Zu erbringende Leistungen: Bildschirmdefinitionsdokument, Schnittstellendefinitionsdokument, Datenbankdefinitionsdokument, detaillierte Entwurfs-Personaltabelle
Ich habe praktische Erfahrung mit der RESTFul-API Client <-> Ich habe Erfahrung mit Swagger (später beschrieben) als Schnittstellendefinitionsdokument zwischen Servern. Swagger wird als RESTFul-API-Dokumentation empfohlen.
Auf der Client-Seite halte ich es für notwendig, das HTML-basierte Modell als Ergebnis zu belassen. (Da Spring Boot Bildschirme basierend auf HTML erstellt) Zusätzlich ist es notwendig, das Bildschirmübergangsdiagramm und das Bildschirmmuster zum Zeitpunkt des normalen / abnormalen Auftretens abzudecken.
Zu erbringende Leistungen: Programmdesigndokument, Testdesigndokument, Nachrichtendefinitionsdokument, Entwicklungsaufwandstabelle
Erstellen Sie ein Programmdesigndokument und ein Testdesigndokument als Satz. Stellen Sie bei der Implementierung eines Testdesigns sicher, dass Sie Muster identifizieren, die gemeinsam implementiert werden können. Das Format des detaillierten Designdokuments in Japan scheint Excel zu sein. Da Excel jedoch in Rechnung gestellt wird, möchte ich ein anderes Format verwenden. Ich habe keine Erfahrung damit, aber ich möchte Sphinx verwenden (später beschrieben).
Identifizieren Sie Fehlermeldungen und verschiedene Meldungen und verwalten Sie sie so, dass keine doppelten Inhalte vorhanden sind.
Liefergegenstände: Produktcode, Testcode, Testaufwands-Tabelle
Stellen Sie sicher, dass Sie die Ergebnisse des Tages festlegen und veröffentlichen
Codierungsstandards, die gemeinsam genutzt werden können, statische Analyseregeln usw. sollten im gemeinsamen Speicher aufbewahrt werden
Verknüpfen und setzen Sie Tools für Versionsverwaltung und -erstellung und implementieren Sie [Continuous Integration](https://ja.wikipedia.org/wiki/Continuous Integration) hinter den Kulissen.
In diesem Prozess werden die Erstellung des Programms und die Erstellung der Testquelle (Unit Test) abgeschlossen.
Ergebnisse: Testspezifikationen, Testcode, Fehlerverwaltungstabelle
Tests, die im Entwicklungsprozess nicht durchgeführt werden können, werden in diesem Prozess durchgeführt. Manuelle Tests über den Browser, interfunktionale Integrationstests usw. ..
Stellen Sie sicher, dass Sie der Quelle vor und nach dem Start des Tests "Tags" hinzufügen. Erstellen Sie außerdem eine Fehlerverwaltungstabelle, um das Wissen über Erkennungsdifferenzen während der Teamentwicklung zu sammeln und ein Gefühl dafür zu bekommen.
Geben Sie die Quelle für den Produktionsserver frei und tippen Sie auf dem Bildschirm leicht auf verschiedene Funktionen. (Sie können die Vorgangsprüfelemente, die bei jeder Version ausgeführt werden müssen, automatisieren und später überprüfen.)
Wechseln Sie zu agil, wiederholen Sie die Tests von der Anforderungsdefinition und wiederholen Sie die Entwicklung für einen kurzen Zeitraum.
Notwendige Gegenstände | :----------------- | 1: Kann mit N sprechen | Bemerkung Protokoll bleibt, Protokoll kann durchsucht werden Der Fluss zu sprechen ist kein Umweg Es dauert nicht lange, um die Anzahl der Mitarbeiter zu erhöhen Nicht schwer
-> Slack
Referenz
Notwendige Gegenstände | :-------------------- | 1: Kann mit N ausgeführt werden | Kann sowohl Sprachanrufe als auch ausgehende Nachrichten tätigen | Bildschirmfreigabe ist möglich
-> Skype, Google Hangout
Referenz
Notwendige Gegenstände | :--------------- | Nicht von Dritten belauscht Es dauert nicht lange, um die Anzahl der Mitarbeiter zu erhöhen
-> Online-Speicher (Google Drive)
Referenz
Notwendige Gegenstände | :------------------------ Es ist klar, wer gezeichnet hat | 5W1H wird standardmäßig im Format ausgedrückt Kann Gantt-Diagramme erzeugen
-> Ticketverwaltung (Redmine)
Referenz
Notwendige Gegenstände | :------- | Frei zu benutzen Einfach zu vergleichende Unterschiede
-> Sphinx
Referenz
Notwendige Gegenstände | :------- | Frei zu benutzen Major
-> Swagger
Referenz
Notwendige Gegenstände | :------- Das Bauen ist kein Ärger Major
-> GitHub
Referenz
Notwendige Gegenstände | :------------ Die Operation ist nicht schwer | Syntax hebt die Arbeit hervor Kann ins Japanische übersetzt werden
Referenz
Notwendige Gegenstände | :------------ Kann mit der Versionsverwaltung arbeiten Selbstlösend Kann ins Japanische übersetzt werden
-> Überlass es dir
Zum Zeitpunkt der Veröffentlichung dieses Artikels konnten wir keine sichtbaren Probleme in die Teamentwicklung einbeziehen. Beispiel) Bei der Remote-Entwicklung kann ich nicht alle Fortschritte meiner Teamkollegen erfassen. Ich möchte es zum richtigen Zeitpunkt hinzufügen oder eine Risikoanalyse durchführen, wenn das Team gegründet ist.
SpecialThanx Bevor ich den Artikel veröffentlichte, bat ich meine Senioren, Junioren und meine Frau, den Text zu überprüfen. Ich möchte diesen Moment nutzen, um mich zu bedanken.
Außerdem suche ich einen Remote-Teamentwickler. Zu den Wörtern gehören "Spring Boot", "Java 9" und so weiter.
Recommended Posts