Individuelle Softwareentwicklung

Auf der Suche nach Alleinstellungsmerkmalen für Ihr Unternehmen? Die Antwort: Maßgeschneiderte  Branchenlösungen von Kreios.

Die Anforderungen an die EDV eines Unternehmens wachsen mit dessen Situation am Markt. Daher gehört die Entwicklung mitwachsender, auf Ihre speziellen Bedürfnisse perfekt zugeschnittener Individualsoftware ebenso zu unseren Kernkompetenzen wie die Erweiterung, Anpassung und Integration bestehender Systeme und Anwendungen.

Warum Individualentwicklung?

Während es sich bei den in den ersten Jahrzehnten des modernen Computerzeitalters anzutreffenden Software­komponenten meist um speziell angefertigte Individuallösungen und nur selten um kommerziell vertriebene Produkte „von der Stange“ handelte, zeichnet sich in jüngster Vergangenheit mehr und mehr ein Trend zu seriengefertigten Standardlösungen (sogenannten COTS Produkten) ab.

Dieser Tendenz zum Trotz stellt die Entwicklung von maßgeschneiderten Individuallösungen für viele Kunden und Problemstellungen immer noch den kostengünstigeren, wenn nicht sogar den einzig praktikablen Ansatz dar.

Als Beispiele sind zu nennen:

  • Der Einsatz eines Standardproduktes erweist sich als nicht wirtschaftlich. Die eigenen Anforderungen sind zu speziell, als dass ein solches Produkt sie sinnvoll und kosteneffizient abdecken könnte. So müssten beispielsweise grundlegende Änderungen an bewährten, betriebsinternen Prozessen durchgeführt werden, um die Anwendung „passend zu machen“.  Fach­anwendungen für öffentliche Verwaltungen oder hochspezialisierte Unternehmensbereiche mit für Softwarehersteller eher geringem Marktvolumen fallen häufig in diese Kategorie.
  • Es soll ein Abgrenzungsmerkmal zur Konkurrenz geschaffen werden. Das Unternehmen möchte sich durch neue, einzigartige Produkte und Dienstleistungen von seinen Mitbewerbern am Markt abgrenzen und benötigt daher eine EDV, welche die hierfür notwendigen Prozesse möglichst optimal unterstützt. Naturgemäß bietet zu diesem Zeitpunkt noch keines der gegebenenfalls verfügbaren Standardprodukte vergleichbare Funktionalitäten.
  • Es adäquates Standardprodukt existiert, muss aber angepasst werden. Oft kommt es vor, dass ein auf dem freien Markt verfügbares Standardprodukt einen großen Teil der betriebsinternen Prozesse zufrieden­stellend abdeckt, es zwecks Sicherstellung einer optimalen Rentabilität oder zur Integration mit existierenden Bestandsanwendungen aber erst noch auf die eigenen Bedürfnisse hin angepasst werden muss. Gerade etablierte Produkte setzen hier sehr häufig auf eine offene Architektur, mit deren Hilfe Drittfirmen branchenspezifische Anpassungen vornehmen können.

Aus diesem Grund gehört die Entwicklung mitwachsender, auf Ihre speziellen Bedürfnisse perfekt zugeschnittener Individualsoftware ebenso zu unseren Kernkompetenzen wie die Erweiterung, Anpassung und Integration bestehender Systeme.

Der Kundennutzen im Fokus

„Software is hard.“ - Dieses Zitat des bekannten Informatikprofessors und Buchautors Donald E. Knuth bringt eines der elementarsten Probleme der Softwareentwicklung auf den Punkt: Die Schwierigkeit, Softwareprojekte strukturiert, planbar und mit möglichst hoher Fertigungsgüte zu einem für den Kunden optimalen Ergebnis zu bringen.

Eine technisch perfekt realisierte EDV-Komponente, welche die an sie gerichteten Anforderungen nur unzureichend oder in einer Art und Weise abdeckt, die an anderer Stelle wiederum einen nicht unerheblichen Mehraufwand generiert, kann aus wirtschaftlicher Sicht als Fehlinvestition bezeichnet werden. Ebenso ist aber auch eine sich perfekt in die Prozesse des Unternehmens einfügende Software nur dann wirtschaftlich tragbar, wenn sie diese Aufgabe zuverlässig, fehlerfrei und ohne nennenswerte Ausfälle erledigt.

Um dies zu gewährleisten, muss der mit der Erstellung der Software Betraute neben dem notwendigen fundamen­talen Wissen um Methoden und Werkzeuge auch grundlegendes Branchen-Know-How sein Eigen nennen. Er sollte sich dabei vor allem anderen als „Problemlöser“, als „Anwalt des Nutzers“ betrachten und darf sich nicht in substanzlosen - weil aus Nutzersicht irrelevanten - technischen Spielereien verlieren.

Wir bei Kreios legen deshalb großen Wert darauf, unsere Mitarbeiter beim gegenseitigen Erfahrungsaustausch sowie dem Aufbau einer breiten technologie- wie branchenübergreifenden Wissensbasis zu unterstützen. Betriebsblinde Technikfreaks ohne die Fähigkeit zur Kommunikation im Team und zum lösungsorientierten Denken sind bei uns daher genauso fehl am Platze wie Eigenbrötler oder Schlagwort-Phantasten mit mangelndem Bezug zur Realität.

Der Investitionsschutz im Fokus

Meist entstehen Software-Lösungen nicht „auf der grünen Wiese“, sondern als logischer Teilschritt in der IT-Strategie und als gleichberechtigter Baustein in der heterogenen EDV-Landschaft des finanzierenden Unternehmens.

Zum Schutze der bereits getätigten Investitionen kommt demnach der Befähigung einer Anwendung, mit bestehenden Systemen möglichst nahtlos zu interagieren, naturgemäß besondere Bedeutung zu. So sollte auch die Anwendung selbst eine Reihe möglichst zweckdienlicher, möglichst breit aufgestellter technischer Schnittstellen offerieren, um zukünftigen Fremdsystemen die wohl dann unweigerlich notwendige Integration nicht unnötig zu erschweren.

Wir setzen daher vorrangig auf den Einsatz quelloffener Anwendungen und Technologien, da diese sowohl aus betriebswirtschaftlicher Sicht als auch in Bezug auf die technische Flexibilität der resultierenden Lösung eine ideale Ausgangsbasis für die Umsetzung individueller Kundenbedürfnisse bieten. Auch werfen wir Software nach Fertigstellung nicht einfach „über den Zaun“, sondern streben nach einer ebenso langfristigen wie vertrauensvollen Geschäftsbeziehung zu unseren Auftraggebern.

Es gilt: Ein zufriedener Kunde ist der beste Beweis für qualitativ gute Arbeit und damit die beste Empfehlung, die wir uns wünschen können!

Die Nachhaltigkeit im Fokus

Softwareentwicklung ist – gemessen an anderen Bereichen des heutigen Ingenieurswesens – eine noch recht junge Disziplin mit einem gemeinhin hohen Grad an ständiger Innovation und Veränderung. Nicht selten fehlt es daher allen Projektbeteiligten – ob nun Auftragsgeber oder Auftragnehmer – an grundlegenden Erfahrungswerten sowie an einer über Projektgrenzen hinweg bewährten und normierten Methodik. Enttäuschte Erwartungshaltungen, ungeplante Verspätungen oder hohe Folgekosten sind nur Einige der oft unvermeidbaren Konsequenzen.

Zugleich gibt es zwei unausweichliche Gewissheiten: Menschen machen Fehler und Anforderungen ändern sich. Um dem entgegenzuwirken verlangt es – nicht zuletzt der Risiko­minimierung wegen – nach einem methodischen Vorgehen, mit dessen Hilfe potentielle Fehler frühzeitig erkannt, ihre Auswirkungen auf den Nutzer minimiert sowie Änderungen an Programm und Prozess möglichst schonend aber dennoch kontrolliert integriert werden können.

Zu diesem Zweck setzt das Team der Kreios auf den Einsatz agiler Methoden, insbesondere auf eine ebenso pragmatische wie ausgewogene Kombination aus SCRUM und dem Rational Unified Process (RUP). Insbesondere folgende Werte stehen dabei im Mittelpunkt:

  • Individuen und Interaktionen gelten mehr als Prozesse und Tools. Zwar sind wohldefinierte Entwicklungsprozesse und hochentwickelte Entwicklungswerkzeuge wichtig, wesentlich wichtiger ist jedoch die Qualifikation der Mitwirkenden eines Projekts sowie eine effiziente Kommunikation untereinander.
  • Funktionierende Programme gelten mehr als ausführliche Dokumentation. Gut geschriebene Dokumentation kann zwar hilfreich sein und ist für die meisten Projekte schlichtweg unverzichtbar, das eigentliche Ziel der Entwicklung ist und bleibt jedoch stets das fertige Produkt.
  • Die stetige Zusammenarbeit mit dem Kunden steht über den Verträgen. Ein Vertrag regelt die Grundlagen der Zusammenarbeit und definiert somit die Rahmenbedingungen – aber nicht notwendigerweise die Spezifika – einer zukünftigen Entwicklung.
  • Der Mut und die Offenheit für Änderungen stehen über dem strikten Befolgen eines vorher festgelegten Plans. Im Verlauf eines Entwicklungsprojektes ändern sich viele Anforderungen und Rand­bedingungen ebenso wie das Verständnis des Problemfeldes. Das Team muss darauf schnell reagieren können, ohne jedoch einen Verlust an Struktur, Kontrolle und Nachverfolgbarkeit zu riskieren.

Ergebnisorientierung durch iteratives Arbeiten

Kurze Feedbackschleifen sind unerlässlich. Ein wesentliches Merkmal von EDV-Projekten ist gerade die Unberechenbarkeit, mit der sich das eigene Bild der angestrebten „Idealanwendung“ über die Dauer des Projektes hinweg immer und immer wieder verändert. Software muss daher – gerade im Rahmen ihrer Entstehung – immer wieder neu bewertet und den Realitäten des tatsächlichen Benutzeralltags gegenübergestellt werden.

Beispiele:

  • Regelmäßige Kundenworkshops (z.B. im Zwei-Wochen-Turnus) helfen, dem Kunden ein Bild vom bereits erreichten Ist-Zustand zu vermitteln und – wenn notwendig – gemeinsam die erforderlichen Prioritäten neu zu vergeben.
  • Testgetriebene Entwicklungsmethoden (z.B. Abnahmetests vor jeder Lieferung, Unit Tests vor jedem „Check-In“) helfen, durch klar definierte Soll-Zustände Ungenauigkeiten zu vermeiden sowie nachträglich eingeführte Fehler schnell zu erkennen.

Wertschöpfung durch inkrementelles Arbeiten

Eine Software hat nur dann einen Wert, wenn sie zum Wohle des Unternehmens verwendet werden kann. Daher ist es uns wichtig, möglichst früh real nutzbare Zwischenergebnisse (sogenannte Meilensteine) zu produzieren, welche bereits einen Teil der ursprünglich definierten Anforderungen zufriedenstellend abdecken, ohne dabei Kompromisse bei Leistung oder Qualität zu machen.

Beispiele:

  • Die erste Version einer internen Betriebsstatistikkomponente kann bereits verwendet werden, ohne dass die geplante DATEV©-Anbindung bereits voll funktionstüchtig ist.
  • Die Produktverwaltungkomponente einer Reisebuchungsanwendung kann bereits verwendet werden, ohne dass dafür die geplante Unterstützung für Gruppenreisen oder die Anbindung an ein externes E-Commerce-System bereits vollständig realisiert sein müsste.

Qualität durch strukturiertes Arbeiten

Individuelle Software kostet Geld. Anforderungen müssen erhoben, Abläufe implementiert und Mitarbeiter in deren Nutzung geschult werden. Umso wichtiger ist es, die Nachhaltigkeit der erforderlichen Investitionen auch langfristig sicherzustellen – schließlich soll die einmal entwickelte Anwendung auch morgen noch wart- und erweiterbar bleiben.

Hierfür ist auf Seiten des technischen Dienstleisters ein besonders strukturiertes, umsichtiges und diszipliniertes Vorgehen erforderlich, um nicht nachträglich doch noch eine „böse Überraschung“ erleben zu müssen:

  • Komponentenorientierung bzw. ein strikt schnittstellenorientierter Softwareentwurf („Contract First Design“) hilft, Verantwortlichkeiten zu trennen und auch im Kleinen hohe Qualitätsstandards zu schaffen.
  • Modellgetriebene Entwicklung hilft, bewährte Vorgehensweisen zu normieren und so mit minimalem Aufwand anwendungsweit möglichst aussagekräftige, möglichst konsistente Ergebnisse zu produzieren.
  • Automatisch generierte Metriken helfen, stets den Überblick über alle relevanten Qualitätsmerkmale der eigenen Anwendung zu behalten und so gegebenenfalls sich abzeichnenden Negativ-Tendenzen rechtzeitig entgegenwirken zu können.
  • Rapid Prototyping hilft, durch bereits in der Anfangsphase verfügbare visuelle Prototypen Doppeldeutigkeiten zu vermeiden und so auch nicht-technischen Nutzern einen einfachen Zugang zu den sonst eher formalen Anforderungen einer Anwendung zu gewähren.

Wir optimieren und passen an, entwickeln ergänzende Applikationen oder konzipieren völlig individuelle Lösungen. Alles aus einer Hand. Interesse? Sprechen Sie uns an!

[züruck zum Seitenanfang]

Unschlüssig?

Interessiert aber nicht sicher, ob die Entwicklung einer eigenen Fachanwendung für Sie wirklich die wirtschaftlichere Alternative darstellt?

Im Rahmen unserer klassischen IT-Beratung helfen wir Ihnen gerne, die Rentabilität und Machbarkeit einer solchen Lösung zu überprüfen, sie kritisch mit den am Markt verfügbaren Standard­produkten zu vergleichen sowie - wenn gewünscht -  das für die spätere Umsetzung notwendige Lastenheft zu erstellen.

Sprechen Sie uns an!

Branchenwissen

Eine Lösung finden heißt zu aller­erst, das zugrunde-liegende Problem zu verstehen.

Der Unterschied zwischen einem guten und einem exzellenten IT-Dienst­leister ist daher sein Wissen um die zugrundeliegende Domäne.

Unsere Schwerpunkte derzeit:

  • Tourismus
  • Öffentliches Beschaffungswesen
  • Finanzdienstleistungen
  • Dokumentverarbeitung und -Management

Technologiewissen

Die rasante Entwicklung der elektronischen Datenverarbeitung eröffnet oft völlig neue Perspektiven.

Durch die fortwährende Weiter­bildung unserer Mitarbeiter sowie den Einsatz modernster Technologien sorgen wir dafür, dass Ihre Anwendung schon heute den Anforderungen von morgen gewachsen ist.

Unsere Schwerpunkte derzeit:

  • Modellgetriebene Softwareentwicklung
  • Agile Methoden (Scrum/RUP)
  • Geschäftsprozessmanagement
  • Java Platform, Enterprise Edition (J2EE)
  • Microsoft .NET
  • Eclipse RCP
  • TYPO3
  • MySQL & Oracle DB