07. Sep 2021
Wie verstehen wir Software Engineering bei XITASO?
Planung, Briefing, Umsetzung, Testing, Go Live – Ist dies die Formel für die erfolgreiche Durchführung eines Software-Projektes? Unsere Erfahrung aus einer Vielzahl an Projekten hat gezeigt, dass diese lineare Abfolge nicht die Antwort auf immer komplexere und sich verändernde Anforderungen ist.
Gerne spricht man heute von der „VUCA-Welt“ – ein (im Original englischsprachiges) Akronym für Volatilität, Unsicherheit, Komplexität und Mehrdeutigkeit. Wie auch immer man es bezeichnet, die Digitalisierung öffnet neue Möglichkeiten und erhöht die Geschwindigkeit von Abläufen. Das führt auch dazu, dass sich die Anforderungen schnell ändern, auch mal unklar sind und sich der Weg zum Ziel in einem IT-Projekt nicht von Beginn an klar aufzeichnen lässt. Wir folgen der Produktvision, dem Leuchtturm, auf den wir zusteuern, der Weg ist nicht von vornherein im Detail vorgegeben, sondern wird iterativ erarbeitet.
Aber was bedeutet dies für ein Software-Projekt? Hoch-qualitative Software zu entwicklen und mit dem Kunden zusammen erfolgreich ein Projekt durchzuführen, erfordert weitere Kompetenzen als nur klassisches Software Engineering mit all seinen Techniken für Software-Architektur und -Entwicklung. Es ist kein Selbstzweck, sondern es geht um Menschen, die Software entwerfen und um Menschen, die die Software nutzen und bedienen, bei allen innovativen Technologien, die wir dazu benutzen. Wir pflegen ein nutzerzentriertes Verständnis und Herangehen – ein People Business durch und durch. Unser Verständnis von Software Engineering ist daher breiter gefasst. Integrale Bausteine neben der Software-Architektur und -Entwicklung sind darüber hinaus das Agile Projektmanagement, User Experience Design und die Art wie wir uns selbst organisieren und Führung im Team verstehen.
Software Architektur & Entwicklung
Wir profitieren von unserer sehr hohen Expertise bei den klassischen Techniken der Software-Entwicklung sowie dem sicheren Umgang mit zukunftsweisenden Technologien. Unsere Spezialisten bringen ihr Know-how und die langjährige Erfahrung ein, um nachhaltige Software-Architektur zu konzipieren und in praxisnahe Projekte umzusetzen. Es geht aber nicht nur um Technik und Technologie, sondern auch um Menschen, die kooperativ Software erstellen. Gemeinsam entstehen Lösungen mit höchster Qualität zum Beispiel durch Pair Programming, Code Reviews und auch im persönlichen, fachlichen Austausch beim Architekturstammtisch. Unser Qualitätsverständnis berücksichtigt auch die Menschen, die die Software nutzen (siehe User Experience Design) und die Menschen, die auch in mehreren Jahren noch sinnvoll an diesem Projekt weiterentwickeln wollen (Zukunftsfähigkeit, Erweiterbarkeit). Wie wir diese verschiedenen Aspekte von Qualität in jedem Projekt sicherstellen, erklären wir in Kürze in einem der nächsten Beiträge.
Mehr Details zu Software Engineering
Agiles Projektmanagement
Agile Arbeitsmethoden sind für einen Software Engineering-Dienstleister nichts Ungewöhnliches. Alle unsere Entwicklerteams arbeiten mit agilen Prozessen, wie zum Beispiel Scrum, und leben jeden Tag unser agiles Mindset. Diese Methoden, angelehnt an den Scrum Guide, sind Handwerkszeug, geben Struktur und fördern die zielorientierte Zusammenarbeit. Dies ist für uns aber nur die Spitze des Eisbergs. Das agile Mindset ist tief in der DNA von XITASO verankert. Zentral für die partnerschaftliche Zusammenarbeit mit unseren Auftraggebern ist der Aufbau von gegenseitigem Vertrauen auf Basis der Scrum-Werte Mut, Fokus, Commitment, Respekt und Offenheit.
Zusammen mit unseren Kunden definieren wir für die einzelnen Etappen (die Sprints) die zu erreichenden Ziele und die umzusetzenden Features. Dabei haben wir es mit Priorisierung zu tun und müssen Interessen ausgleichen. Das bedeutet, dass wir manche Leute glücklich machen, mit dem, was gemeinsam entschieden wird. Aber auch ,dass wir manche Leute für den Moment unglücklich machen, wenn für sie wichtige Features hinten angestellt werden. Wir verstehen daher agiles Projektmanagement auch im Sinne eines Stakeholder Managements, wo unterschiedliche Meinungen, Erwartungen und Zielparameter berücksichtigt werden müssen. Ganzheitlich gesehen heißt es, unter technischen, betriebswirtschaftlichen und rechtlichen Vorgaben die beste Priorisierung zu finden. Wir beteiligen uns dabei stets auf Augenhöhe mit unseren Kunden bei dieser Abwägung. Dies ist eine der wichtigen Grundlagen für eine erfolgreiche Zusammenarbeit.
Mehr Details zu agilem Projektmanagement
Agiles Mindset und Scrum-Werte: Kein Micromanagement, weniger Abstimmungsaufwand und offene Kommunikation
User Experience Design
Der Mensch im Mittelpunkt bei Konzeption und Umsetzung, das ist unser Grundverständnis beim Software Engineering. Dabei stellen sich Fragen wie: Finden sich die Benutzer zurecht beim Bedienen der Anwendung? Finden sie die richtigen Wege durch die App und verstehen sie auch, was sich hinter den Menüs und Buttons verbirgt? Lassen sich die Aufgaben zielsicher und effizient lösen, für die diese App konzipiert wurde? Das alles sind grundlegende Fragen, wenn es um User Experience geht. Aber wie finden wir die passenden Antworten? Entscheidet die Meinung einer/eines Einzelnen über die Anordnung der Bedienelemente oder wie und wann welche Daten visualisiert werden, um gut verstanden zu werden? Usability, übersetzt Benutzerfreundlichkeit, beschäftigt sich ja gerade mit der Art und Weise, wie Benutzer*innen Anwendungen wahrnehmen und bedienen. Warum fragen wir vorher nicht viel lieber diejenigen, die es wirklich betrifft, nämlich die Nutzer selbst. Und genau das tun wir. In Workshops mit den zukünftigen Nutzern erfahren wir mehr über den Nutzungskontext und die Umgebung. So werden Entscheidungen für das User Interface nicht nach dem Bauchgefühl getroffen, sondern auf Basis konkreter Erkenntnisse aus diesen Untersuchungen. Im weiteren Vorgehen testen wir regelmäßig das Funktionieren unserer Entwürfe, entweder durch persönliches Testen der Anwendung oder beim organisierten User Testing mit den zukünftigen Benutzern. Dabei zählt natürlich auch das regelmäßige Erfragen von Feedback. Möglichst früh und möglichst nutzerzentriert: Daher sind UI/UX Expert*innen integraler Bestandteil eines jeden Dev-Teams bei XITASO und arbeiten stetig mit bei der iterativen und inkrementellen Umsetzung der nächsten Versionen.
Selbstorganisation und Teamführung
Hierarchische Strukturen sind für die Herausforderungen nicht geschaffen, die mit der Schnelligkeit und der hohen Komplexität der Softwareentwicklung einhergehen. Da wir davon überzeugt sind, leben wir eine Unternehmensorganisation, die keine Silos bildet, Flaschenhälse vermeidet und jede*m den Raum zur Entfaltung gibt, um bestmögliche Ergebnisse zu erzielen. Nur so können wir im dynamischen und komplexen Umfeld mithalten. „Ich bin nicht verantwortlich, das muss der Chef entscheiden“ entspricht nicht unserem Verständnis. Je komplexer das Projekt, desto intensiver wird die Zusammenarbeit mit unseren Kunden. Was hilft das mir als Kunden, werden Sie vielleicht jetzt denken? Unserer Meinung nach ist unser kooperativer Führungsstil und die selbstorganisierte Arbeitsweise essentielle Grundlage für die Verknüpfung der drei vorhergehenden Kompetenzen. Gerade auch eine enge Zusammenarbeit zwischen UI/UX und Dev ist entscheidend für den Projekterfolg. Wir erleben dazu auch sehr positives Feedback von unseren Kunden bezüglich der engen Zusammenarbeit der Teams auf unserer oder der Kundenseite. Lesen Sie dazu den Interviewbeitrag „Es fühlt sich an wie ein Team„, den wir zusammen mit unserem Kunden MAN Energy Solutions verfasst haben. Dazu kommt eine positive Lern- und Feedback-Kultur, die alle Beteiligten weiter bringt und letztendlich die Fehlerwahrscheinlichkeit verringert.
Unser Verständnis leben und weiterentwicklen
Mit diesem Artikel war es uns wichtig, zu zeigen, wie umfassend unser Verständnis von Software Engineering ist. Alle der genannten Facetten zahlen auf eines ein: unser gemeinsames Ziel, hochprofessionelle, nutzerzentrierte Anwendungen mit Best-in-Class Qualität zu entwickeln und zu pflegen, damit das Geschäftsziel des Projektes erreicht wird. Wie wir dies leben und weiterentwicklen, mag sich der Eine oder Andere nun fragen. Genau auf solche crossfunktionalen Kompetenzen haben wir unsere Unternehmensorganisation ausgerichtet. Neben den Teams und dem Mentoring zur persönlichen Weiterentwicklung sind die Communites of Practice eine der Säulen unserer Unternehmensorganisation. Sie gibt es für verschiedene Themen wie z.B. UI/UX, Security, Software Engineering oder Data Science, und sind eine hervorragende Plattform, indem sich XITASOnians aus jeder Stelle des Unternehmens engagieren, das jeweilige Thema weiter treiben und für eine Vernetzung im Unternehmen sorgen.
TEAM
(Wertschöpfung)
COMMUNITY OF PRACTICE
(Expertise und Standards)
MENTORING
(Persönliche Weiterentwicklung)