soventec coffee time - Der Softwareentwickler: Nerd oder Genie?

(Autor: Kai Diercks)

Link: Artikel als PDF

Der Softwareentwickler, das unbekannte Wesen

Stellt sich ein „Nicht-Computermensch“ den Alltag eines Softwareentwicklers vor, reihen sich meistens ein Klischee an das andere. Dunkle Arbeitszimmer, ungesunde Softdrinks, viel Nerd-Stuff und (wenig) Arbeit. Doch dieses Bild ist nicht mehr als eine Ansammlung blanker Vorurteile. Die Wirklichkeit sieht ganz anders aus. Softwareentwickler brauchen nicht nur ein dickes Fell, Durchhaltevermögen und müssen enorm vielseitig denken und arbeiten.

Softwareentwickler sind für Planung, Programmierung, Wartung und Renovierung von Anwendungen zuständig. Treten Fehler auf- der Softwareentwickler nennt dies „Bug“-, müssen diese schnell behoben werden. Im regulatorischen Umfeld kommt auch noch ein großes Maß an Dokumentation auf den Entwickler zu. Kommunikation und Team-Kooperation sind in der professionellen Softwareentwicklung im verteilten Arbeiten hoch zu bewertende Kompetenzen.

Sie sehen: Allein diese kleine Aufzählung an notwendigen Kompetenzen widerlegt viele der Vorurteile, weil professionelle Softwareentwicklung im Unternehmen so nicht funktionieren würde. Es ist sicherlich so: Viele Entwickler haben große Schreibtische, da sich dort nicht nur mehrere Bildschirme, sondern auch viele weitere Arbeitsmaterialien unterbringen lassen. Auch sitzen Softwareentwickler viel am Rechner, aber sie diskutieren auch mit Kollegen, skizzieren ihre Ideen auf Whiteboards oder laufen beim Denken auf und ab. Das mag hin und wieder auch introvertiert wirken. Ideen entwickeln, Konzeptionieren und Kreativsein, also Denken, beansprucht einen Großteil des Arbeitstages eines Softwareentwicklers, weniger das „Tippen auf der Tastatur“.

Vielfach wird die Leistung des Entwicklers und der professionellen Softwareentwicklung unterschätzt. Softwaresysteme und Apps sehen sehr simple aus, werden häufig sogar kostenlos weitergegeben. Die Folge: Die Umsetzung wird nicht mit der angemessenen Wertschätzung betrachtet, weil die Leistung dahinter nicht offensichtlich ist. Dass aber gerade in der einfachen und intuitiven Usability ein großes Know How und Erfahrung stecken, kann der Nicht-Experte nicht sehen.



Agilität als Erfolgsrezept

Software wird heute in einem agilen Prozess entwickelt, also immer stückweise mit Feedbackschleifen in sogenannten „Sprints“. Das hierbei entstandene, teilfertige aber funktionsfähige Softwareelement wird dann in Abstimmungs- und Testphasen mit dem Kunden geprüft, bevor an der Software weitergearbeitet wird.



Diese Vorgehensweise, welche auch bei soventec eingesetzt wird, nennt man „Scrum“. Die Bezeichnung steht für ein Vorgehensmodell des Projekt- und Produktmanagements – insbesondere zur agilen Softwareentwicklung. Hier arbeiten Entwickler in kleinen Teams mit unterschiedlichen Kompetenzen zusammen. Die neue Software wird so Stück für Stück entwickelt, dem Kunden präsentiert und immer weiter verfeinert.

Nicht selten unterscheidet sich das Endprodukt in einigen Punkte vom ursprünglich geplanten. Dies ist auch ein Ergebnis des feedbackorientierten Entwicklungsprozesses. Bei komplexen Systemen sind zu Anfang meist alle Features gar nicht komplett spezifizierbar. Erst ein Stück „laufende Software“ gibt neue Erkenntnisse für neue Teilziele.

Meine Meinung: „Agilität ist die einzig derzeit bekannte Vorgehensweise, um der Komplexität der Anforderungen Herr zu werden und gleichzeitig den Kunden zufriedenzustellen und echte nutzbare Werte zu erschaffen“

Als typischer Softwareentwickler plant, entwirft und setzt man laufend neue, innovative Anwendungen um. Aber in diesem Job geht es auch um Produktpflege, Maintenance und das Warten alter Systeme. Besonders der Bereich Softwarerenovierung, also die gezielte, iterative Weiterentwicklung und anschließende Wartung älterer bzw. bereits bestehender Applikationen, gewinnt zunehmend an Relevanz.

Software und Medizinprodukte

Softwareentwicklung bei soventec geht noch einen Schritt weiter. Durch unsere Spezialisierung im medizinischen Umfeld sind wir an viele Regulatorien und Dokumentationsanforderungen gesetzlich gebunden. Die große Herausforderung besteht darin, regulatorisch korrekt, aber gleichzeitig innovativ und agil zu arbeiten.

Konkret arbeiten wir hier ganz eng mit dem Kunden zusammen, machen dies sogar zur Voraussetzung der Zusammenarbeit. In wöchentlichen gemeinsamen Meetings, dem sogenannten „Weekly“, tauschen sich die Parteien über den Entwicklungsstand aus. Dieses Instrument hat sich in vielen Projektes als sehr wirksam dargestellt, weil Missverständnisse und Fragen schnell geklärt werden können, ohne dass eine Partei zu weit in eine falsche Richtung entwickelt. Die wöchentlichen Meetings benötigen je nach zu besprechendem Inhalt zwischen 15 Minuten und einer Stunde- eine sehr gut investierte Zeit!

Für den medizintechnischen Entwicklungsprozess sind viele Phasen wie Architektur, Design, Risikoanalyse, Usability Prozess, Verifikation und Validierung mit entsprechender Dokumentation notwendig. Es ist nicht selten, dass die Dokumentation zu einem Projekt mehrere hundert Seiten Papier umfasst.

Klischee und Wirklichkeit

Sie sehen, das Feld der wirklich professionellen Softwareentwicklung und das Berufsbild eines Softwareentwicklers sind sehr vielfältig und komplex, haben wenig zu tun mit dem öffentlichen Bild, welches meist daher rührt, dass der der Nicht-Experte gar nicht im Detail versteht, was ein Softwareentwickler tagtäglich macht. Es ist auch nur schwer in wenigen Worten zu erklären ist. Auf jeden Fall geht es weit über ein graphisches Zusammenklicken von Oberflächen hinaus.

Software developer
noun;
Someone who fixes a problem you didn’t know you had in a way you do not understand.
see also: programmer, wizard, magician (unknown author)


Sie müssen ähnliche Probleme lösen? Sprechen Sie mit uns!