Technische Geschichten
5 min

Warum ist die agile Methodik für die Entwicklung von Individualsoftware so wichtig?

December 6, 2021
Warum ist die agile Methodik für die Entwicklung von Individualsoftware so wichtig?
Main clouds hero section image

Welche Methoden gibt es für die Entwicklung von Individualsoftware? Oder mit anderen Worten: Was sollten Sie erwarten, wenn Sie ein Softwareentwicklungsunternehmen bitten, Ihre Anforderungen zu erfüllen? Diese Frage ist alles andere als eindeutig, und zwar aus vielen verschiedenen Gründen. Zunächst einmal ist festzustellen, dass es unterschiedliche Methoden für die Softwareentwicklung gibt, die zu unterschiedlichen Konsequenzen für den Kunden führen können. Es gibt nämlich Methoden, die allgemein - oder fast allgemein - als effektiver gelten und tendenziell zur Entwicklung besserer Lösungen führen, die aber, wie wir sehen werden, ein erhebliches Engagement des Kunden erfordern. Und es gibt andere Methoden, die von vielen als veraltet bezeichnet werden, die viel weniger Beteiligung des Kunden erfordern, deren Ergebnisse aber nicht gleichermaßen garantiert sind. Ausgehend von dieser Prämisse werden wir versuchen, die Methoden für die Entwicklung kundenspezifischer Software zu erläutern, die wir bei Onectus anwenden, wobei wir von zwei Arten von Projekten ausgehen, einem kleineren und einem größeren

Warum und wann sollte man die Entwicklung von Individualsoftware beantragen?

Bevor wir uns ansehen, welches die besten Methoden für die Softwareentwicklung sind, lohnt es sich, schnell herauszufinden, in welchen Fällen Unternehmen die Erstellung von Ad-hoc-Lösungen beantragen sollten. Wir müssen sagen, dass Anfragen für die Entwicklung von kundenspezifischer Software von Grund auf selten sind. Das liegt ganz einfach daran, dass der Markt eine breite Palette von Management- und Fertigprogrammen anbietet, eine Palette, die die Entwicklung von Lösungen, die von Haus aus maßgeschneidert sind, nicht zulässt. Wenn wir von maßgeschneiderter Software sprechen, beziehen wir uns daher in den meisten Fällen auf Integrationen auf Backend- oder Frontend-Ebene, um bestehende Plattformen effizienter zu machen, oder auf maßgeschneiderte Software, die speziell für neue Szenarien entwickelt wurde.

Methodologien: Wasserfall

Ausgehend von den obigen Annahmen verstehen wir, dass nur das Unternehmen, das spezifische Bedürfnisse hat - die nicht durch vorgefertigte Lösungen auf dem Markt erfüllt werden können - die Entwicklung von maßgeschneiderter Software erfordert. Dies führt uns zu einer weiteren Überlegung: Die Bedürfnisse dieses Unternehmens werden weitgehend eigenartig und nicht allgemein sein. Es ist daher klar, dass die erste und grundlegende Schwierigkeit derjenigen, die maßgeschneiderte Software und Managementlösungen entwickeln, genau darin besteht, die tatsächlichen Bedürfnisse, Probleme und Besonderheiten des Kunden zu verstehen.

Daher geht es zunächst darum, zu verstehen, was der Kunde braucht. Und hier setzt die klassische Methodik für die Softwareentwicklung an, der berühmte Wasserfall, bei dem alle Schritte in einer kaskadenartigen Abfolge aufeinander folgen: zuerst das Treffen mit dem Kunden, dann die Voranalyse, dann die Entwicklungsarbeit nach den vordefinierten Anforderungen, schließlich der Test, gefolgt von der Auslieferung der Software. Einfach, nicht wahr? Einfach, sowohl für den Kunden als auch für den Entwickler, der wochen- oder monatelang den Analyseprozess durchläuft und, sobald er die Zustimmung des Kunden erhält, weitere Wochen oder Monate in die Entwicklung eintaucht.

Agile Entwicklung von Individualsoftware

In den 90er Jahren und bis vor einigen Jahren hat sich die klassische Methode, die Kaskadierung, durchgesetzt. Das Problem ist jedoch, dass der technologische Fortschritt in der heutigen Welt sehr schnell voranschreitet, und das in zunehmendem Maße. So gesehen kann eine Software, die auf der Grundlage dessen entwickelt wurde, was vor zwei, drei oder mehr Monaten geschrieben wurde, bereits weitgehend veraltet sein, noch bevor sie an den Kunden ausgeliefert wird. Aber das ist noch nicht alles, denn wir müssen auch die Möglichkeit in Betracht ziehen, dass der Kunde vergisst, wichtige Informationen vor der ersten Analysephase zu übermitteln. Dies kann aus verschiedenen Gründen geschehen: Vergesslichkeit, Nachlässigkeit, neue Probleme und die einfache Tatsache, dass es zu Beginn eines Projekts für den Kunden nicht einfach ist, genau zu wissen, was die Software nach ihrer Fertigstellung tun wird. Daher ist die Entwicklung einer Software gemäß den festgelegten Voraussetzungen nicht gleichbedeutend mit der Entwicklung der bestmöglichen Software.

Es sind also zu viele Variablen im Spiel, um einen kaskadenartigen Ansatz zuzulassen, der das Risiko birgt, dass am Ende viele Stunden der Analyse und Entwicklung verworfen werden. Aus diesem Grund haben wir bei Onectus die agile Entwicklungsmethodik übernommen.

Bei der agilen Entwicklungsmethodik ist das Ziel nicht mehr die Erfüllung der Voraussetzungen, sondern die vollständige Befriedigung der Bedürfnisse des Kunden. Wir lassen die erzwungene und veraltete Wasserfallmethodik hinter uns und gehen stattdessen mit der Entwicklung kleiner Teile des Projekts in kurzer Zeit und kontinuierlich vor. Wenn ein neues Stück Software entwickelt wurde, wird es dem Kunden zum Feldtest übergeben: Der Kunde wird dann häufig hinzugezogen, um nicht vollständige (aber funktionierende) Teile der Software zu testen, so dass er die Gewissheit hat, am Ende der Arbeit eine perfekte maßgeschneiderte Software zu haben, die wirklich alle Anforderungen erfüllt - auch die, die zu Beginn nicht formuliert wurden.

Der Unterschied zwischen kleinen und großen Projekten

Wir haben gesehen, dass die agile Methodik im aktuellen Szenario zweifellos den besten Ansatz für die Softwareentwicklung darstellt. Deshalb halten wir bei Onectus fest an diesen Grundsätzen fest, gehen aber noch einen Schritt weiter und teilen die Projekte in zwei Gruppen ein: Einerseits gibt es die kleinen Projekte (die z. B. einen Monat dauern können) und andererseits die großen Projekte (die ein Jahr oder länger dauern können).

In beiden Fällen muss die Konfrontation zwischen den Entwicklern und dem auftraggebenden Unternehmen kontinuierlich sein, und aus diesem Grund ist es von grundlegender Bedeutung, eine Kontaktperson innerhalb des Unternehmens zu bestimmen. Dabei handelt es sich weder um einen Techniker noch um eine Person mit besonderen IT-Kenntnissen: Wichtig ist, dass die Kontaktperson mit den Bedürfnissen des Unternehmens bestens vertraut ist, die Entscheidungsbefugnis hat, um das Projekt ohne Hindernisse voranzubringen, und bereit ist, die Arbeit regelmäßig zu verfolgen.

Ausgehend von der Definition der Figur des Ansprechpartners wird deutlich, dass bei kleineren und damit kürzeren Projekten, bei denen die Beziehung zwischen Entwickler und Ansprechpartner kontinuierlich und direkt ist, die Agilität der Entwicklung noch größer ist und die Möglichkeit besteht, Fristen je nach den Bedürfnissen des einen und des anderen festzulegen.

Bei größeren Projekten ist, selbst wenn man von einem agilen Ansatz ausgeht, eine allgemeine Planung erforderlich, bei der beispielsweise die Fristen für die verschiedenen Software-Releases festgelegt werden müssen: Man könnte zum Beispiel beschließen, alle vier Wochen ein neues Release zu liefern (auch wenn die Möglichkeit besteht, die Abstände zwischen den einzelnen Lieferungen je nach den Bedürfnissen der beteiligten Akteure und den Besonderheiten der einzelnen Entwicklungsaktivitäten zu verkürzen oder zu verlängern). Das größere, längere Projekt ist immer noch agil und dynamisch, wenn auch mit einem längeren Zeitplan als das kürzere Projekt.

Benötigt Ihr Unternehmen eine maßgeschneiderte Software, eine Integration oder eine Anpassung des Verwaltungssystems? Um Ihren Anforderungen gerecht zu werden, folgen wir der agilen Methodik, wie sie auf dieser Seite beschrieben ist, um die effektivste Lösung für Ihr Unternehmen zu entwickeln.

Möchten Sie aktuelle Informationen über IT-Neuheiten und bewährte Verfahren erhalten? Melden Sie sich jetzt für unseren Newsletter an: Wir werden Sie mit wenigen, aber wertvollen Inhalten für Ihr Unternehmen versorgen!

Lassen Sie uns gemeinsam etwas Großartiges aufbauen!

In unserem Blog vorgestellt

Fallstudien

Unser Angebot

Technologie-Know-how

vuejs logoreact logo
laravel logodjango logosymfony logo
aws partners logo docker logo kafka logo
kubernetes logoatlassian logo