Hi, herzlich willkommen in dieser Lektion, in der wir uns mit unterschiedlichen Organisationsanforderungen selbst innerhalb der Softwareentwicklung beschäftigen.
Welche Inhalte werden in dieser Lektion behandelt?
Wir sprechen in den nächsten Minuten über:
- die Entwicklung von Softwarelösungen auf Basis von Individualsoftware, die von Grund auf kundenspezifisch entwickelt wird,
- und Softwarelösungen auf Basis von Standardsoftware, die an die Bedürfnisse eines Unternehmens angepasst wird.
- Wir betrachten gemeinsam die Unterschiede,
- die unterschiedlichen Anforderungen an die Projektorganisation,
- die Realität, mit der wir dabei konfrontiert werden,
- und die Fragestellungen, wie wir daraus das Beste machen.
Wie unterscheidet sich die Organisation in Softwareentwicklungsprojekten?
Bei der Organisation von Softwareprojekten ist es sicherlich auch erheblich, ob neue Individualsoftware geschrieben wird oder bestehende Standardsoftware in einem Unternehmen implementiert und bei Bedarf an die Kundenbedürfnisse angepasst wird.
Während ein Projektteam bei neuer Individualsoftware – abgesehen von unternehmensspezifischen Standards – grundsätzlich einmal alle Freiheitsgrade nutzen darf, beinhaltet die Implementierung von Standardsoftware viele funktionale Grenzen und Rahmen, die nur mit erheblichem Aufwand beseitigt und erweitert werden können – wenn vom Hersteller überhaupt so gewollt.
Während das Team-Know-How bei neuer Individualsoftware sich aus leicht verfügbarem Programmier- und Projektwissen zusammen setzt, stammt das notwendige Wissen zur Implementierung und Anpassung von Standardsoftware oft vom Lieferanten der Software oder von weit geringerem Potenzial an Fachwissen auf dem Arbeitsmarkt.
Während reine Softwareentwickler ein gemeinsames fachliches Grundverständnis haben und sich deshalb unabhängig von der Spezialisierung auf Programmiersprachen oder Bereiche wie z.B. Frontend, Backend, UI, Datenbanken usw. im Team einbringen können, fehlt Produktspezialisten von Standardsoftware oft dieses gemeinsame Grundverständnis – und Softwareentwicklern fehlt auf der anderen Seite das Expertenwissen der Produktspezialisten.
Das hat natürlich einen großen Einfluss auf die Projektorganisation.
- Bei Einbindung eines Lieferanten hast Du keine durchgängige Hoheit über die Projektorganisation.
- Du hast keine Weisungsbefugnis für externe Projetteam-Mitglieder.
- Du hast Reibungspunkte und einen erhöhten Aufwand für die Zusammenarbeit. Und die dafür angesetzten Regelkreise fressen eine Menge Zeit und Produktivität.
- Für jede Aufgabe mit benötigtem Expertenwissen für die Standardsoftware muss der dazu passende Experte aktiv eingebunden sein, was leicht zu Flaschenhälsen im Projekt führt.
Wie können in Softwareentwicklungsprojekten externe Ressourcen eingebunden werden?
Auf der anderen Seite gibt es heute kaum noch ein Softwareprojekt, das nur auf interne Ressourcen zugreifen würde. Die Einbindung von Dienstleistern und Freelancern ist gängige Praxis – auch weil benötigtes Fachwissen am Arbeitsmarkt nur schwer verfügbar ist oder nur für eine geringe Dauer benötigt wird.
Die Frage an dieser Stelle ist, welche agile Projektmethode und welche Werkzeuge sich für die Entwicklung von Individualsoftware und welche sich für die Implementierung von Standardsoftware anbieten.
In den folgenden Lektionen beschreiben wir einige agile Methoden. Dabei sollte Dir mit den darin vermittelten Grundlagen zumindest in Ansätzen klar werden,
- warum das pure Scrum bei der Erstellung von Individualsoftware gut funktioniert, bei der Implementierung und Anpassung von Standardsoftware aber erhebliche Schwächen hat, und
- warum die Wahl der zum Projekt passenden agilen Projektmethode absolut erfolgsrelevant ist.
Und letztendlich ist jedes Projekt einzigartig. Die ideale Standard-Projektmethoden-Konfiguration gibt es nicht. Und gerade deshalb ist es für uns hilfreich, wenn wir den Baukasten der etablierten Projektmethoden für unseren Fachbereich möglichst gut kennen.
Fassen wir nun zusammen, was wir in dieser Lektion behandelt haben:
- wir haben die Unterschiede für die Entwicklung von Individual- und die Anpassung von Standardsoftware kennengelernt,
- wir haben demnach auch die unterschiedlichen Anforderungen an die Projektorganisation erkannt,
- wir haben einen kurzen Blick auf die Realität geworfen,
- und uns dann die Frage gestellt, wie wir aus den Gegebenheiten das Beste machen.
In der nun folgenden Lektion behandeln wir die Kanban-Methode. Also, bis gleich.