Auch wenn die Covid-19-Pandemie das Thema sein wird, an das sich jeder erinnert, wenn er an 2020 zurückdenkt, wird dieses Jahr auch als das Jahr der großen Releases in die Sablono-Geschichte eingehen.

Bereits im April hatten wir eine komplette Überarbeitung unserer technischen Infrastruktur ausgeliefert – Sie haben vielleicht in meinem vorherigen Artikel darüber gelesen. Wie Sie sich vorstellen können (und wie bereits in diesem früheren Artikel besprochen), war unsere Entwicklungspipeline vollgepackt, nachdem wir mehr als sechs Monate lang an technischen Aufgaben gearbeitet hatten. Wir waren aufgeregt, loszulegen und freuten uns auf ein Jahr voller Veröffentlichungen. Das erste Epos, das wir in Angriff nehmen wollten, war die Implementierung eines Offline-Modus für unsere mobile Anwendung. Diesen Wunsch hatten wir schon seit Jahren gehört und uns schließlich dazu entschlossen, ihn in Angriff zu nehmen. Unsere Entwickler schätzten, dass die Arbeit in ca. 4 Sprints – also 2 Monaten – erledigt sein würde, während sie es gleichzeitig als „hochriskanten Punkt“ bezeichneten.

 

Es stellte sich heraus, dass man bei der Planung und Verwaltung von Releases immer genau auf seine Entwickler hören sollte…

Volle sechs Monate nach dem Start haben wir endlich das Update 3.0 unserer mobilen Anwendung veröffentlicht, einschließlich der lang erwarteten Offline-Unterstützung. Wenn ich auf die anfängliche Einschätzung zurückblicke, frage ich mich manchmal, wie wir dachten, dass dieses komplexe Thema innerhalb der ursprünglich angepeilten wenigen Wochen gelöst werden könnte. Um dies besser zu verstehen, hier ist, womit wir in den letzten Monaten zu kämpfen hatten:

Die Daten, die unsere Anwendung anzeigt, sind NICHT unveränderlich. Wenn Sie an den Offline-Modus von weit verbreiteten Snagging-Anwendungen denken, ändern sich Grundrisse und Schemata nicht regelmäßig. Bei uns beziehen sich die Informationen, die in der mobilen App angezeigt werden, auf den Prozess, gegen den mehrere Unternehmen berichten. Daher ändern sie sich ständig.
Aus diesem Grund müssen wir sicherstellen, dass die Daten, die Sie sehen, wenn Sie die Anwendung öffnen, während Sie offline sind, den neuesten Stand auf der Plattform so genau wie möglich darstellen. Es gibt nichts Frustrierenderes, als stundenlang an etwas zu arbeiten (während man offline ist) und hinterher festzustellen, dass die Arbeit nicht nötig war, weil sie auf veralteten Daten basierte.
Mit Blick auf unsere erste mobile Anwendung Sablono Inspect (die bereits über einen Offline-Modus verfügte), wollten wir sicherstellen, dass sich frühere Probleme mit dieser Implementierung nicht wiederholen würden. Inspects Offline-Modus war komplett manuell: Die Benutzer mussten entscheiden, wann sie Daten vom Server herunterladen wollten, und sie mussten ihre Änderungen ebenfalls manuell auf den Server hochladen – leider vergaßen die Benutzer regelmäßig das eine oder andere. Entsprechende Probleme konnten im besten Fall durch persönliche Erinnerungen unseres Customer-Success-Teams (auf Wunsch des betroffenen Benutzers) gelöst werden, den Upload-Button am Ende ihrer Inspektion zu drücken. Im schlimmsten Fall konnte die Dateneingabe nicht „out of the box“ verwendet werden (da sie auf einem veralteten Offline-Datensatz basierte) und unsere Ingenieure mussten eingreifen, damit die Kunden ihre Daten und wertvolle Zeit nicht verlieren.
Mit all dem im Hinterkopf haben wir unseren neuen Offline-Modus so konzipiert, dass so viel wie möglich automatisch synchronisiert wird. Aktivitäten, ihre Zustände, Notizen, Fotos, QA-Checklisten, Zugriffsrechte, Abhängigkeiten, Deliverables – alles wird beim Start der Anwendung synchronisiert, während Sie online sind, um sicherzustellen, dass Sie immer den neuesten Stand des Projekts zur Verfügung haben, wenn Sie offline schalten. Und Informationen, die Sie erfassen, während Sie offline sind, werden ebenfalls automatisch auf den Server hochgeladen, sobald Ihre Anwendung wieder mit dem Internet verbunden ist.

Sicherzustellen, dass all dies so nahtlos funktioniert, wie wir es wollten, und selbst unsere größten Projekte mit bis zu 250.000 Aktivitäten unterstützt, war viel komplexer als wir anfangs dachten.

Einer unserer Entwickler sagte neulich, dass er sich wie ein Elektriker fühlt, wenn er an den Offline-Modus denkt:

 

Obwohl er eine riesige Menge Arbeit hineingesteckt hat, ist alles, was der Benutzer zu sehen bekommt, ein kleiner Schalter, mit dem er entscheiden kann, auf welche Teile des Projekts er zugreifen möchte, während er offline ist. Ähnlich wie die ganze Arbeit eines Elektrikers hinter einer Wand verschwindet und alles, was wir davon zu sehen bekommen, sind Steckdosen und Schalter.

 

Lassen Sie mich diese Analogie aufgreifen und sagen, dass, auch wenn es lange gedauert hat, bis es soweit war, ich fest davon überzeugt bin, dass unser neuer Offline-Modus für die gesamte Sablono-Plattform genauso wichtig sein wird wie der Strom für jedes Gebäude, in dem wir leben.