Kommunikation und Zusammenarbeit

zuerst

Kommunikation

Treffen

Abhängig vom gewählten Kooperationsmodell organisieren wir regelmäßige Treffen mit dem Kunden, bei denen wir Anforderungen sammeln und den Fortschritt unserer Arbeit zeigen. In der agilen Methodik kommen sie häufiger vor und in der Regel nehmen wir innerhalb einer Woche teil an:

5x

Täglich

1x

Wöchentlich mit Vorführung

1x

Retrospektive und Planung

2x

Erfassung von Anforderungen
Treffen
Werkzeuge für Gruppenarbeit

Unsere Kunden erhalten vollen Zugriff auf unser Azure DevOps, wo sie den Projektfortschritt laufend überprüfen können. Wir verwenden auch Sharepoint mit Office Online und ownCloud für die Dokumentenfreigabe und Zusammenarbeit.

Werkzeuge für Gruppenarbeit
Slack
#slack

Als Hauptkommunikationsplattform nutzen wir meist Slack. Von täglichen Nachrichten über Sprachanrufe bis hin zu Präsentationen. Gut organisierte Kanäle ermöglichen es dem Team und dem Kunden, sich auf die Arbeit und Aufgaben zu konzentrieren, ohne durch unnötige Kommunikation unterbrochen zu werden.

Die Nachrichten
Gespräche
Präsentationen
Teilen
Dann

Dokumentation

Dokumentation

Wir beginnen mit den Grundanforderungen und machen uns daraus lose Notizen. Anschließend erstellen wir mithilfe des in Azure DevOps integrierten Wiki einen Entwurf von High- und Low-Level-Anforderungen. Im nächsten Schritt werden alle Geschäftsprozesse, Algorithmen und Abläufe mit dem Tool draw.io abgebildet. Wir erstellen Rahmenmodelle mit Axure oder Sketch. Wir verwenden dieses zweite Tool auch, um visuelle Mockups in Verbindung mit Adobe CC zu erstellen. Abschließend generieren wir mit Sandcastle eine automatische Codedokumentation basierend auf Kommentaren und Metadaten.

Anforderungen
Dokumentation
Diagramme
Rahmenmodelle
Modelle
Code-Dokumentation
Jetzt

Rückstand

Sprints

Jeder Sprint erfordert eine sorgfältige Planung, einschließlich Teamkapazität, Aufgabenliste, Prioritäten, Geschäftswerten und Lieferfristen für fertige Funktionalität. Deshalb erstellen wir einen vollständigen Arbeitsplan für alle Teammitglieder mit Schätzungen für jede Aufgabe. So können wir sicher sein, dass alles pünktlich geliefert wird.

Teamkapazität
Planung
Retrospektive
Prioritäten
Sprints
Tische

Wir verwenden SCRUM-Boards in Azure DevOps, um Aufgaben zu verwalten und deren Status zu verfolgen. Die mehrstufige Aufgabenhierarchie wird über verschiedene Tabellen abgebildet. Diese Lösung erleichtert Projektmanagern und Projekteigentümern das Verständnis und die Verwaltung des gesamten Entwicklungsprozesses. Wir unterteilen Tafeln auch durch horizontale Linien und bilden so Gestaltungsbereiche ab.

Tische
Immer aktuelle Daten
Detaillierte Protokolle
Lieferzeit entspricht den Schätzungen
Hohe Effizienz im Verhältnis zu den Kosten
Zeitüberwachung

Wir verwenden ein Tool von 7pace - TimeTracker. Es handelt sich um eine umfassende Lösung zur Zeitüberwachung und Bereitstellung detaillierter Berichte. Dadurch überwachen wir jedes Projekt aus vielen Perspektiven – wir können nicht nur Berichte einzelner Teammitglieder einsehen, sondern auch überprüfen, wie viel Zeit jede Phase vom Entwurf über die Entwicklung bis zum Test in Anspruch genommen hat.

Zeitüberwachung
Zu guter Letzt

Entwicklung

Jeden Tag erstellen wir Tausende von Codezeilen, die sicher, effektiv und optimiert sind, um die Bedürfnisse unserer Kunden zu erfüllen. Wir entwickeln auch unser internes SDK, dank dessen wir immer mehr Funktionalitäten bereitstellen, indem wir sie aus dem Paket extrahieren und so die Projektkosten senken. Erleben Sie, wie unsere Magie geschieht.

Hier ist es!

Implementierung

Bevor die fertige Lösung die Produktionsserver erreicht, testen wir sie in der internen Umgebung. Wir haben jederzeit Zugriff auf eine voll funktionsfähige Anwendung, die wir zu Demonstrationszwecken testen und nutzen können. Wir können echte Daten importieren oder anonymisierte Testdaten verwenden. Die Implementierung ist dank Azure Pipelines und Azure Artifacts ein vollautomatischer Prozess, sodass die Kosten für jede nachfolgende Veröffentlichung nahezu bei Null liegen. Dank dieses Ansatzes können wir uns auch auf eine reibungslose Implementierung vorbereiten, ohne dass die Lösung in der Produktionsumgebung nicht verfügbar ist. Seit 2019 implementieren wir alle unsere Lösungen mit Containern, die mit Docker und Kubernetes kompatibel sind.

Implementierung
Wenn sich der Staub legt

Unterstützung

Der perfekte Zustand der fertigen Lösung ist ebenso wichtig wie der Designprozess selbst. Wir testen unsere Lösungen vielfältig anhand von mehrstufigen Szenarien. Angefangen bei Unit-Tests des Codes über automatische und manuelle Tests bis hin zu Integrations- und Penetrationstests. Allerdings erfordert selbst die am besten getestete Lösung Support und Wartung in einer Produktionsumgebung. Nicht, weil es Mängel aufweist – denn die Welt schreitet voran und die Umwelt verändert sich ständig. Unfälle hingegen passieren in den am wenigsten erwarteten Momenten. Wir können sie nicht verhindern, aber wir können uns darauf vorbereiten und das Problem in einem kritischen Moment schnell lösen.

Unterstützung
Überwachung

Wir überwachen Server, Infrastruktur, Verfügbarkeit, Latenz und Benutzer in Echtzeit. Wir erstellen Heatmaps und Fehlerberichte. All diese Daten können dazu beitragen, nicht nur die Lösung, sondern das gesamte Unternehmen zu verbessern und, was am wichtigsten ist, potenzielle Probleme zu lösen, noch bevor sie auftreten.

Verfügbarkeit
Effizienz
Fehler
Benutzer
Sichern und Wiederherstellen

Erweiterte Backup-Pläne sind ein absolutes Muss für jedes Projekt. Von Datenbanksicherungen bis hin zu kritischen Benutzerdaten, Anwendungen, Umgebungen und Einstellungen. Bedenken Sie jedoch, dass ein gutes Backup auch eine schnelle Wiederherstellung im Falle eines Ausfalls bedeutet.

Daten
Lösung
Aufbau
Umfeld
Sichern und Wiederherstellen
Aktualisierung
Aktualisierung

Eine immer aktuelle Umgebung ist sehr wichtig. Sicherheitspatches können uns vor Ärger bewahren.

Sicherheitskorrekturen
Kennwortrichtlinie
DDoS-Schutz
Umgebungsaktualisierungen
Sind Sie bereit, über Ihr Projekt zu sprechen?