If you wanna try it, do it!
In der Softwareentwicklung hat sich jetzt häufig eine Startup-Mentalität eingeschlichen. Der Ansatz ist praxisorientiert und explorativ. Die Ressourcen sind häufig beschränkt. Im Vordergrund steht ein kurzfristiges, geschäftliches Interesse: Alles muss schnell fertig werden.
Es wird experimentiert, gecodet und zusammengeflickt. OpenSource von hier, Codeschnipsel von da. Voilà: hier ist das Feature. Ab zum nächsten. Hauptsache schnell und vor allem cool: „Das kann doch nicht so schwer sein, ist doch schon alles da. Holen wir mal ein paar Studenten heran.“
Für die Erstellung von Prototypen kann das als Herangehensweise funktionieren. Will man allerdings das Prototypenstadium verlassen, kommt man um eine professionelle Softwareentwicklung nicht herum. Das heißt natürlich nicht, dass man sich keine Inspiration aus anderer Software holen soll, sondern vielmehr, dass man sich geeignete Konzepte abschaut und zunächst prüft, wie sich third-party Software in das Projekt integrieren lässt oder ob eine Eigenentwicklung lohnenswerter erscheint.
Professionelle Softwareentwicklung braucht ein Konzept
Professionelle Softwareentwicklung braucht ein erfahrenes Team und ein durchdachtes Konzept. Sie sollten sich zu Beginn der Entwicklung Klarheit darüber verschaffen, wie die Software funktionieren und das Gesamtsystem aussehen soll. Dabei hilft die Erstellung eines Pflichtenheftes, das mit dem Kunden abgestimmt wird. Anschließend geht es darum, ästhetischen, wartbaren Code zu schreiben, der leicht wiederverwendet werden kann, typische Fehler vermeidet und Sicherheitsaspekte beachtet.
Professionelle Softwareentwicklung braucht einen gemeinsamen Codingstyle
In Ihrem Softwareteam sind Entwickler aus unterschiedlichen Nationen? Perfekt. Dann haben Sie sich ja schon auf eine gemeinsame Sprache geeinigt. Transportieren Sie dies auch auf Ihren Codingstyle. Dann können alle den Code leichter lesen und besser verstehen.
Professionelle Softwareentwicklung braucht Coding Guidelines
Coding Guidelines sind Best Practices, die sich über Jahre im Team, im Unternehmen oder bei den Entwicklern selbst ausbilden. Sie sorgen dafür, dass der Code weniger fehleranfällig ist, dass bestimmte Designpattern verwendet werden, die helfen, typische Fehler zu vermeiden und, dass sich Safety und Security Aspekte wiederfinden.
Professionelle Softwareentwicklung braucht Testing
Auch kleinste Änderungen sollten nach Möglichkeit automatisiert testbar sein. So besteht die Möglichkeit mithilfe von Regressionstests sicherzustellen, dass Modifikationen in vorhandenen und bereits getesteten Code keine neuen Fehler hervorrufen.
Professionelle Softwareentwicklung braucht einen Entwicklungsprozess
Voraussetzung für eine professionelle Softwareentwicklung im Team ist ein ordentlicher Entwicklungsprozess mit Versionsverwaltung, Branching und Merging. Erstens ist nur so eine parallele Entwicklung im Softwareteam möglich und zweitens hat man definierte, versionierte Softwareentwicklungsstände mit zugehörigen Testergebnissen. Damit ist jederzeit nachvollziehbar, was ausgeliefert wurde.
Sollten sich Bugs nach der Auslieferung (ggf. erst nach einigen Jahren) bemerkbar machen, so kann die Fehlersuche im jeweils gelieferten Versionsstand erfolgen und nach Behebung des Fehlers ein Patch zu dieser Version geliefert werden.
Professionelle Softwareentwicklung braucht Nachhaltigkeit und ein flexibles Design
Wir empfehlen bereits während der Entwicklung das Augenmerk auf ein flexibles Design zu legen. Entwickeln Sie nicht nur für den Einzelfall sondern mit Weitblick. Überlegen Sie sich vorher, welches Potenzial einzelne Softwarekomponenten haben. So können Sie sich nach und nach einen Baukasten zusammenstellen, aus dem Sie Softwareteile in ähnlichen Projekten wiederverwenden oder leicht an neue Anforderungen anpassen können.
Coaching for Developers
Wir coachen Ihr Entwicklerteam in allen Phasen der professionellen Softwareentwicklung:
- Einführung von DevOps
- Einsatz von DevOps
- Coaching zum optimalen Einsatz von Azure DevOps Server/Services in Ihrem Team
- Application Testing
Weitere Infos: www.softed.de/softed/coaching-for-developers/
Anfragen & Beratung:
Markus Bechstein
bechstein@softed.de oder Tel 0351 867700