| Softwareentwicklung |
|
Meine Beratungsleistung: Meine Beratungsleistung im Bereich Softwareentwicklung umfasst die Wahrnehmung folgender Projektrollen:
Die Unterstützung kann sowohl punktuell als auch über alle Projektphasen erfolgen. Zu bisher genutzten Tools und eingesetzten Technologien verweise ich auf die Seite Kenntnisse.
Mein Verständnis von Softwareentwicklung: Softwareentwicklung ist meinem Verständnis nach weitaus mehr als die Umsetzung fertiger Konzepte unter Verwendung zeitgemäßer Technologien in Programmcode. Der Erfolg von Softwareentwicklungsprojekten hängt in hohem Maße von den kommunikativen Fähigkeiten aller Beteiligten ab. Es sind vielfältige Interessen zu beachten und gegebenenfalls auch unpopuläre Entscheidungen gegenüber den am Projekt beteiligten Parteien zu vertreten. Für den Betrieb, die Wartung und Pflege und auch für nachfolgende Projekte ist zudem die Dokumentation von zentraler Bedeutung. Neben den technischen und sozialen Kompetenzen der Projektbeteiligten ist auch die Bereitschaft die Dokumentation stets zeitnah zu aktualisieren ein kritischer Erfolgsfaktor. Auf die genannten Punkte und meine diesbezüglichen Erfahrungen gehe ich im Folgenden etwas detaillierter ein. Technologien und Programmiersprachen Der Erfolg von Softwareentwicklungsprojekten wird nach meiner Erfahrung nur zu einem geringen Teil von den eingesetzten Technologien und Programmiersprachen beeinflusst. Bei jeder Entscheidung für oder gegen eine Technologie oder Programmiersprache ist abzuwägen, wie die Interessen aller am Projekt beteiligten Parteien gewahrt werden können. In der Regel sind folgende Interessengruppen zu berücksichtigen:
Vor dem Hintergrund dieser teilweise konträren Interessen hat es sich als zielführend herausgestellt, den Entscheidungsprozess über eingesetzte Technologien von einer neutralen Partei moderieren zu lassen. Auf diese Weise können Entscheidungen getroffen werden, bei denen sich alle beteiligten Parteien berücksichtigt wissen. Kommunikation, Konzepte und Vorgehensmodelle Softwareentwicklung ist meinem Verständnis nach - wenn man sie richtig betreibt - eine Beratungsleistung und eine Kommunikationsdisziplin. Die klassischen Vorgehensmodelle wie Wasserfallmodell oder V-Modell erfordern - entgegen weit verbreiteter Meinung - ausgeprägte kommunikative Fähigkeiten, wenn man vermeiden möchte, dass unnötige Verzögerungen und damit verbundene Zusatzkosten entstehen. Die agilen Methoden ersetzen große Teile der schriftlichen Konzepte durch kontinuierliche Kommunikation. Meinem Verständnis von Softwareentwicklung nach müssen sich die Auftraggeber verstanden fühlen. Daneben ist es unabdingbar, dass auch die Fachbereiche, welche die detaillierten Anforderungen definieren und später die erstellte Lösung einsetzen werden, intensiv mit in den Entwicklungsprozess eingebunden werden. Dieses erreiche ich auf folgende Art:
Dokumentation Dokumentation ist ein von vielen Entwicklern wenig geliebter Teil der Softwareentwicklung, der häufig nur als unvermeidbares Übel gesehen wird. Dementsprechend knapp fällt die Dokumentation in der Regel aus. Nach dem Motto "nach mir die Sintflut" hinterlassen gerade externe Softwareentwickler häufig unzureichende bis gar keine Dokumentation. Zudem habe ich die Erfahrung gemacht, dass die Dokumentation notwendigen Sparmaßnahmen häufig als erstes zum Opfer fällt. Nach Projektabschluss fehlt darüber hinaus häufig Zeit oder Budget, um die Dokumentation nachzupflegen. Dieses hat zur Folge, dass die nächsten Änderungen oder Erweiterungen der Software aufwändig und teuer werden können, weil keine zum System passende Dokumentation existiert und damit die verlässliche Basis fehlt, auf der Algorithmen, Prozesse oder einfach nur Änderungs-Anforderungen beschrieben und umgesetzt werden können. Aus diesen Gründen vertrete ich die Meinung, dass die Dokumentation in Projekten unverzichtbar ist. Ihr sollte ein vergleichbarer Stellenwert, wie der Softwareentwicklung selbst eingeräumt werden. |