Search

Mittwoch, 18. Mai 2016

Warum die Anforderungsanalyse bei Softwareentwicklung so wichtig ist?

Es gibt so manche Tage wo man zweifelt ob überhaupt ein Kunde in der Lage ist eigene Produkt Vision richtig darstellen. Ich werde hier darauf eingehen, warum die Analyse unabdingbar ist und sehr wichtig für den Projekt erfolgt.
Was denken sich die meisten Kunden die ein Softwareprodukt bestellen, ich habe so und so viel Ressourcen und rechne für eine oder jeweiligen Software Modul so und so viel Stunden. Man geht auf die Suche nach einem passenden Programmierer und versucht richtig hübsch ein Projekt darzustellen. Da man selbst nicht lange suchen muss, beantragt man sogenannte Personalvermittler wobei die wieder ein Stück mit verlangen, so dass für das eigentliche Entwicklung noch wenig Zeit und Geld bleibt.
Nun ich werde darauf angesprochen in Kundengespräch,
Kunde: nehmen Sie das Projekt auf ?
Ich : Ja kein Problem, aber für die Analyse müsste ich Zusatzkosten anrechnen, weil ich kann ohne zu überlegen kein Algorithmus schreiben und dazu Parallel mehrere mir unbekannte Frameworks managen.
Kunde: "Entsetzt" Uns wurde gesagt Sie seit doch Profi , wir können doch nicht unser Budget dafür erhöhen?!
Ich: Tut mir leid , aber ich muss mich nach Manifesto for Agile Software Development halten, ich habe genügend Erfahrungen um vornherein ein schlechtes Konzept zu sehen.
Kunde: Dann kommen wir nicht zum Geschäft!!
Ich: Ich verstehe Ihre Vorstellung , aber die Softwareentwicklung funktioniert so nicht.
Wie Sie aus diesem Gespräch entnehmen , man hat es nicht leicht ein Auftrag zu bekommen, entweder man sagt zu und versucht den Helden zu spielen, oder man geht auf vernünftige Basis miteinander.
Professionelle Entwickler nach meiner Meinung sind keine einfache Coder , der jeden Schwachsinn Konzept rauf und runter programmieren können und müssen.
Wir Programmierer sind wie Maurer, erst wir schauen den Bauplan, wir wählen die nötige Technologien (Werkzeuge), wir erstellen einen realen Arbeitsplan und nehmen die Änderungen Schrittweise vor.
Warum wird von uns Entwickler erwartet , dass wir mit schlechten Anforderungen ein 100% fehlerfreies Produkt entwickeln können, so was gibt es eigentlich nicht und wenn jemandem gibt der sagt unser Firma hat es geschafft, dann sage ich nur dazu es lag an Ihrem Team und der Geschäftsleitung. Tatsächlich ist es eher eine Ausnahme!
Meine Vorstellung wie folgt: immer wenn ich an einem Projekt mitarbeite, ich versuche mir eine Abstrakte Vorstellung zu entwickeln, dazu gehört Analyse der Doku, Spezifikation, Gespräch mit den entsprechenden Personen die in dieser Projekt involviert sind. Es klingt nach Softwarearchiteckt, aber ich versuche diesen Wort zu meiden da ich davon nicht so viel halte.
Ohne diese Infos, man kann vergessen das man irgendwann ein Erfolg sehen wird, man kann viel Code schreiben, aber ob es dann für die Zukunft tragbar ist , das halte ich für negativ.
Die Analyse ist A und O bei der ganze "Softwareentwicklungsgeschichte", viele würden an diese Stelle sagen aber die Deadlines wir müssen es einhalten wir müssen für die Öffentliches Dienst was abliefern können unbedingt unter Einsatz alle Kräfte! Erstmals überlegen Sie sich die Risiko , als Unternehmer ist man darauf gezielt Gewinn und Profit zu machen, ich finde persönlich da nichts schlimmes, jedoch wenn eigene Mitarbeiter ständig unter druck setzt dann gibt es regelrechte Fluktationsquoten und danach weiss keiner was wirklich diese Software macht!
Zu Deadline Freaks, ich sage folgendes:
1. Kundengespräche führen, Kunde muss einen Eindruck bekommen, dass es geht nicht um irgendwelche einfachere Software, sonder um ein Komplexes Problem bei welche jede neue Anforderung Probleme bringen kann.
2. Wenn man mit öffentlichen Behörden spricht, dann muss man nur Kernfunktionen beschränken und den Projekt so gestalten, dass man möglichst früh die Kernfunktionalität implementiert, und das andere in nachinein abliefert.
3. Richtig mit Team sprechen, damit meine ich auf die Betonung von 2 , ein Projekt welche nur auf Überstunden geht hat nähmlich sehr schlechte Folge für das gesamte Unternehmen, da Leute wollen nicht ausgeraubt werden.
4. Bereitschaft zu zeigen sich in Team und der Geschäftsleitung die Infos zu vermitteln.
5. Technologie mit gesunden Verstand einsetzten, ich erlebe öfter den Fall , das viele Manager sich für Technologie entscheiden welche in einem Projekt erfolgreich waren aber für den Projekt was man gerade macht wenig erfolg versprechend ist.
6. Man muss vielen Angestellten und Mitarbeit den Gefühl von eigen Unternehmerische Gedanke weitervermitteln , es geht nicht um die Programmiersprache, Server , Betriebssystem es geht um das Ziele wie wir zusammen ein Produkt entwerfen welchen unsere Kunde zufriedenstellend macht und wir dabei uns nicht in Schwarzloch versenken!
Das alles gehört zu der Analyse, wenn man eine Geschäftsführung mit einer Entwicklungsmodell nicht verbinden kann, dann droht die Gefahr das die Anforderungen von Geschäftsführung immer unrealistischer werden und der Code wird eher schlechter Qualität sein, dagegen wenn die Entwicklungsmodell unpassend gewählt wurde, dann gibt es die Gefahr ,dass man immer in Verzug gerät, egal ob man gute oder schlechte Programmierer hat, es wird definitiv passieren.
Ich als Freiberufler sehe nur eine einzige Lösung, man muss in beide Welten gleichzeitig sein , ja es geht alles schnell , aber dafür wir müssen unser gesunden Menschenverstand nicht verlieren.
Letzte Ratschläge:
Für Angestellte/Mitarbeiter: Vergessen Sie ihren Angst,es gibt heutzutage keine wirkliche Firmen treu, Sie müssen in der Lage sein offen und ehrlich gegenüber Ihren Chef zu sein, wenn ein Projekt zum scheitern verurteilt ist, dann sagen Sie es einfach, wenn Sie für sowas gekündigt werden, dann war es ein richtiger Zeitpunkt in Ihren Leben für was neues sich umzuschauen
Für Manager /Geschäftsleitung: Planen, Planen und Planen, es reicht nicht die Menschen und Computer zusammenstellen und ein Erfolg zu verlangen, Sie müssen wirklich Ihre Mitarbeiter die Freiheit geben bei bestimmten Prozessen nein zu sagen, Sie müssen denen vermitteln wie ist die Lage in der Firma, schön zu reden hilft nicht , man bekommt sowieso es mit.
Bitten Sie Ihren Mitarbeiter Weiterbildungsmassnahmen, wenn kein Budget dafür gibt, fragen Sie ehrlich Ihre Mitarbeiter ob die vielleicht Interesse habe in Zwangsurlaub zu gehen um etwas sinnvolleres zu lernen und später wieder aktiv zu arbeiten, diese sollte nur dann passieren wenn keine laufende Projekte gibt.
Bei harteren Entescheidungen z.B Entlassungen machen Sie nicht den Fehler die Entscheidung über Alter/Status Quote, sondern denken Sie in den Projekten, welche Projekte waren nicht erfolgreich und welche erfolgreich.

Fazit: Es ist gerade nicht einfach für eine und für andere Seite optimale Lösung anzubieten, aber eine Lösung muss gefunden werden, sonst wird es immer zu einem sich wiederkehrende Chaos landen.

Keine Kommentare:

Kommentar veröffentlichen

All comments are pre moderated be polite and respectful!

Blog-Archiv

Blog readers favorites