IT-Freiberufler in guter Gesellschaft - Resoom Magazine
IT-Freiberufler in guter Gesellschaft - Resoom Magazine
IT-Freiberufler in guter Gesellschaft - Resoom Magazine
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
26<br />
<strong>IT</strong>-Technologie Software<br />
József Horváth<br />
Zwischen Standardsoftware und<br />
Individualsoftware<br />
Da der Markt von Standardlösungen für fast jeden Anwendungsbereich überflutet ist, denkt<br />
man heutzutage nur selten an die Entwicklung von größeren Individualsoftware-Systemen.<br />
Die Geschäftsprozesse s<strong>in</strong>d komplizierter, die Entwickler teurer und die Generationenwechsel<br />
der Hardware/Software-Umgebungen rasant. Gerade deshalb zählt die Anpassung von Standardsoftware<br />
zu den von Kunden am häufigsten geäußerten Wünschen. Welche Überlegungen<br />
kommen jedoch dabei zum Tragen?<br />
Per def<strong>in</strong>itionem deckt Standardsoftware<br />
e<strong>in</strong>en bestimmten Anwendungsbereich ab<br />
und kann als fertiges Produkt erworben<br />
und „out of the box“ <strong>in</strong>stalliert werden. Im<br />
Gegensatz dazu wird Individualsoftware<br />
gezielt für e<strong>in</strong>en e<strong>in</strong>zelnen Kunden bzw. für<br />
e<strong>in</strong> e<strong>in</strong>zelnes Unternehmen maßgeschneidert<br />
entwickelt.<br />
Limitierungen der E<strong>in</strong>satzmöglichkeiten<br />
von Standardsoftware<br />
In vielen Fällen ist es nicht oder nur mit unverhältnismäßig<br />
hohem Aufwand möglich,<br />
Standardsoftware e<strong>in</strong>zusetzen. Dies kann<br />
unterschiedliche Gründe haben, die <strong>in</strong> der<br />
Praxis am häufigsten anzutreffen s<strong>in</strong>d:<br />
• Es müssen sehr spezielle und komplexe<br />
Geschäftsprozesse abgebildet werden<br />
• Es gibt ke<strong>in</strong>e geeignete Standardsoftware,<br />
die den speziellen Anforderungen<br />
h<strong>in</strong>sichtlich der bestehenden Infrastruktur<br />
entspricht<br />
• Es ist e<strong>in</strong>e Schnittstelle zu vorhandenen<br />
Systemen notwendig, etwa zu Datenbanken.<br />
• Der Kunde möchte die Kontrolle über<br />
die Entwicklung der Software une<strong>in</strong>geschränkt<br />
behalten und die une<strong>in</strong>geschränkten<br />
Rechte am Quellcode haben<br />
• Die Software soll dem Unternehmen natürlich<br />
Wettbewerbsvorteile gegenüber<br />
den Mitbewerbern verschaffen<br />
<strong>IT</strong>-Projekte <strong>in</strong> der Zwickmühle<br />
Jedoch lassen sich heutzutage immer weniger<br />
Firmen auf das „Abenteuer“ Software-<br />
Entwicklung e<strong>in</strong>. Denn nicht nur die Zielvorgaben<br />
s<strong>in</strong>d <strong>in</strong> der Regel unklar, sondern auch<br />
<strong>in</strong> fachlicher H<strong>in</strong>sicht ist die Aufgabe für den<br />
Entwickler zu Beg<strong>in</strong>n oft e<strong>in</strong> unbekanntes<br />
Terra<strong>in</strong>. Häufig erwartet e<strong>in</strong> Auftraggeber<br />
von e<strong>in</strong>em <strong>IT</strong>-Projekt, dass es Lösungen hervorbr<strong>in</strong>gt,<br />
die se<strong>in</strong>e Wünsche vollständig<br />
erfüllen. Gleichzeitig berichten zahlreiche<br />
Studien über kostspielige und nicht enden<br />
wollende Projekte, die dann letztlich scheitern.<br />
Die Entwicklungskosten für e<strong>in</strong>e Individualsoftware<br />
s<strong>in</strong>d verglichen mit dem E<strong>in</strong>satz<br />
von Standardsoftware aus Kundenperspektive<br />
enorm hoch. Das rührt daher, dass die<br />
Kosten für den Entwicklungsaufwand nicht<br />
auf Tausende oder Millionen von Nutzern<br />
umgelegt werden können, sondern e<strong>in</strong>zig<br />
von e<strong>in</strong>em e<strong>in</strong>zelnen Auftraggeber aufzubr<strong>in</strong>gen<br />
s<strong>in</strong>d.<br />
Grundsätzlich muss im E<strong>in</strong>zelfall entschieden<br />
werden, ob der E<strong>in</strong>satz von Standardoder<br />
Individualsoftware lukrativ genug ist.<br />
Als Hauptvorteil des E<strong>in</strong>satzes von Standardsoftware<br />
werden meist die ger<strong>in</strong>geren<br />
Kosten genannt, was häufig allerd<strong>in</strong>gs durch<br />
die erforderlichen Anpassungen an die vorhandene<br />
Infrastruktur relativiert wird.<br />
Software-Entwickler József Horváth: „Die Entwicklungskosten<br />
für e<strong>in</strong>e Individualsoftware s<strong>in</strong>d verglichen mit<br />
dem E<strong>in</strong>satz von Standardsoftware aus Kundenperspektive<br />
enorm hoch.“<br />
Individualisierte<br />
Standardlösungen<br />
Moderne Standardsoftwaresysteme bieten<br />
heutzutage programmierbare Schnittstellen,<br />
sog. Application Programm<strong>in</strong>g Interface<br />
(API), die es ermöglichen, <strong>in</strong>dividuelle<br />
Komponenten passend zur Software zu entwickeln<br />
bzw. verschiedene Standardpakete<br />
mite<strong>in</strong>ander zu verb<strong>in</strong>den. Dies ist aber nur<br />
möglich, wenn diese Schnittstellen standardisiert<br />
s<strong>in</strong>d. Dabei ist die verwendete<br />
Programmiersprache zentral. Die meistverbreiteten<br />
Sprachen im Bereich Schnittstellenprogrammierung<br />
s<strong>in</strong>d C und C++.<br />
Das hohe C der Schnittstellenprogrammierung<br />
C ist e<strong>in</strong>e Programmiersprache, die der Informatiker<br />
Dennis Ritchie <strong>in</strong> den frühen<br />
1970er-Jahren an den Bell Laboratories für<br />
das Betriebssystem Unix entwickelte. Die<br />
C-Sprache steht heute auf fast allen Computersystemen<br />
zur Verfügung. Sie zählt zu<br />
den prozeduralen Programmiersprachen<br />
und wird zur System- und Anwendungsprogrammierung<br />
e<strong>in</strong>gesetzt. Da diese Sprache<br />
als weitgehend standardisiert angesehen<br />
werden kann, können C-Programme, die<br />
ke<strong>in</strong>e stark Hardware-nahe Programmierung<br />
enthalten, <strong>in</strong> der Regel gut auf andere Zielsysteme<br />
portiert werden. Zahlreiche andere<br />
Sprachen wie C++, Objective-C, C#, Java, PHP<br />
oder Perl orientieren sich an der Syntax und<br />
an anderen Eigenschaften von C.<br />
C++ ist e<strong>in</strong>e von der ISO standardisierte höhere<br />
Programmiersprache. Mittlerweile ist<br />
C++ selbst sehr stark verbreitet und kann<br />
den Vorteil der Objektorientierung gegenüber<br />
C oft dann ausspielen, wenn die Größe<br />
e<strong>in</strong>es Projektes die Verwendung von C nicht<br />
ratsam ersche<strong>in</strong>en lässt.<br />
C <strong>in</strong> der Praxis<br />
Im Verlagswesen s<strong>in</strong>d die meisten Arbeitsplätze<br />
mit Standardsoftware der Firmen<br />
Quark und Adobe ausgestattet. Aufgaben