Soft­ware­sys­te­me haben sich mitt­ler­wei­le in fast jeder Bran­che eta­bliert und stel­len nicht sel­ten unver­zicht­ba­re Tools in der Berufs­welt dar, die über den wirt­schaft­li­chen Erfolg einer Fir­ma ent­schei­den kön­nen. Um die­se Sys­te­me pro­fes­sio­nell nut­zen und ein­set­zen zu kön­nen, bedarf es höchs­ten Stan­dards in Sicher­heit und Zuver­läs­sig­keit. Die Soft­ware muss in der Lage sein, Daten vor einem unbe­fug­ten Zugriff und, im Zuge des­sen, uner­laub­ten Ände­run­gen zu schüt­zen und gleich­zei­tig durch eine zuver­läs­si­ge Arbeits­wei­se einen rei­bungs­lo­sen Geschäfts­ab­lauf garan­tie­ren.

Sen­si­ble Fir­men­da­ten

Heut­zu­ta­ge spielt sich der Groß­teil beruf­li­cher Akti­vi­tä­ten über IT-Sys­te­me ab. Wich­ti­ge fir­men­in­ter­ne Infor­ma­tio­nen wer­den ver­schlüs­selt abge­spei­chert, um sie vor Unbe­fug­ten zu schüt­zen. Gera­de im Bereich des Pro­jekt­ma­nage­ments und ähn­li­chen Berufs­fel­dern lagern in den Soft­ware­sys­te­men auch sehr sen­si­ble Daten und Fir­men­ge­heim­nis­se, die nur betriebs­in­tern Ver­wen­dung fin­den dür­fen. Die Kon­kur­renz oder gar Außen­ste­hen­de dür­fen in die­se Daten kei­ner­lei Ein­blick erhal­ten. Zudem dür­fen per­so­nell abge­spei­cher­te Infor­ma­tio­nen aus­schließ­lich intern genutzt wer­den.

Die digi­ta­le Iden­ti­tät ist angreif­bar

Die Ent­wick­lung von Soft­ware­sys­te­men hat das Leben erleich­tert, doch gleich­zei­tig hat sie die digi­ta­le Iden­ti­tät angreif­bar wer­den las­sen. Anfangs erhoff­te man sich durch den Ein­satz von Pass­wör­tern und Ver­schlüss­lun­gen einen siche­ren Schutz vor einem unbe­fug­ten Zugriff auf wich­ti­ge Daten. Doch die Medi­en berich­ten stets von fir­men­über­grei­fen­den Soft­ware­an­grif­fen, wo die digi­tal geschütz­ten Daten miss­braucht wer­den. Ob eine Zen­tral­bank, Regie­run­gen oder bekann­te Per­sön­lich­kei­ten, pro­fes­sio­nel­le Hacker machen vor nichts und nie­man­dem Halt. Per­sön­li­che Daten sind plötz­lich angreif­bar gewor­den, sodass Pass­wör­ter, PIN Num­mern, sen­si­ble Daten, etc. ohne gro­ßen Auf­wand aus­spio­niert wer­den kön­nen.

Einen siche­ren Schutz schaf­fen

Damit Fir­men und Pri­vat­leu­te ihre sen­si­blen Daten vor solch einem unbe­fug­ten Angriff schüt­zen kön­nen, bedarf es einer siche­ren und pro­fes­sio­nel­len Soft­ware. Vor allem bei Unter­neh­men hängt von solch einer Soft­ware der wirt­schaft­li­che Erfolg ab. Des­halb soll­te aus­rei­chend in die Anschaf­fung zuver­läs­si­ger und siche­rer Soft­ware inves­tiert wer­den. Nur wer mit pro­fes­sio­nel­ler Soft­ware arbei­tet, kann sei­ne Daten vor einem unbe­fug­ten Zugriff schüt­zen und so zu einem wirt­schaft­li­chen Erfolg sei­nes Unter­neh­mens bei­tra­gen.

Unter einem Modell wird eine Dar­stel­lung ver­stan­den, die ein kom­ple­xes Gebil­de oder ein Sys­tem in einer ver­ein­fach­ten Wei­se abbil­det und dabei die wesent­li­chen Funk­tio­nen, Objek­te und Bezie­hun­gen sowie die Abläu­fe zwi­schen ihnen ver­an­schau­licht. Soft­ware­sys­te­me oder auch ein­zel­ne Pro­gram­me bestehen aus einer Viel­zahl an Anwei­sun­gen und Algo­rith­men, die sich nicht auf den ers­ten Blick erschlie­ßen, selbst bei einer aus­führ­li­chen Doku­men­ta­ti­on der ein­zel­nen Arbeits­schrit­te. Da an der Erstel­lung von gro­ßen Soft­ware­sys­te­men übli­cher­wei­se vie­le Pro­gram­mie­rer und ande­re Mit­ar­bei­tern arbei­ten, bie­ten Model­lie­rungs­werk­zeu­ge her­vor­ra­gen­de Hil­fe­stel­lun­gen für den gesam­ten Erstel­lungs­pro­zess von Soft­ware, von der Pla­nung über das Soft­ware­de­sign bis zur Fer­tig­stel­lung und Imple­men­tie­rung des Soft­ware­sys­tems. Dabei kann es sich bei den Werk­zeu­gen um Hil­fen für die Daten- und Pro­zess­mo­del­le, zur Dar­stel­lung von Soft­ware­ar­chi­tek­tur­mo­del­len, sowie um Dar­stel­lungs­hil­fen von Ana­ly­se- und Ent­wurfs­mus­tern han­deln.

Model­lie­rungs­spra­chen und Kom­mu­ni­ka­ti­ons­me­tho­den über Soft­ware

Soft­ware-Model­lie­rungs­werk­zeu­ge kön­nen sich dabei z.B. zusam­men­set­zen aus gra­fi­schen Dar­stel­lun­gen, sta­tis­ti­schen Aus­wer­tun­gen, Metho­den zur Dar­stel­lung in Fluss­dia­gram­men bis hin zu defi­nier­ten Kom­mu­ni­ka­ti­ons­struk­tu­ren zur Beschrei­bung der kom­ple­xen Vor­gän­ge in Soft­ware­sys­te­men. Eine der wich­tigs­ten und stan­dar­di­sier­ten Model­lie­rungs­spra­chen ist UML – Uni­fied Mode­ling Lan­guage -, die Model­le mit Hil­fe von gra­fi­schen Ele­men­ten und Ablauf­dia­gram­men der Soft­ware­sys­te­me oder ein­zel­nen Soft­ware­tei­len ver­an­schau­licht. Ein wei­te­res Werk­zeug zur Model­lie­rung von Soft­ware­sys­te­men besteht in der vom Has­so-Platt­ner-Insti­tut der Uni­ver­si­tät Pots­dam ent­wor­fe­nen for­ma­len Kom­mu­ni­ka­ti­ons­me­tho­dik zur Beschrei­bung der Soft­ware­sys­te­me und den dazu gehö­ri­gen Abläu­fen: FMC – Fun­da­men­tal Mode­ling Con­cepts. Ähn­lich wie in einer Fach­spra­che, ermög­licht das FMC die schnel­le Ver­stän­di­gung über wesent­li­che Sach­ver­hal­te und die genaue Beschrei­bung über Bestand­tei­le ohne Miss­ver­ständ­nis­se der an einem Pro­jekt Betei­lig­ten, wie z.B. Pro­gram­mie­rer oder ande­re Mit­ar­bei­ter an dem Soft­ware­sys­tem.

Mög­li­che Schwer­punk­te für die Model­lie­rung von Soft­ware­sys­te­men

Die Model­lie­rung von Soft­ware­sys­te­men kann auch nach bestimm­ten Schwer­punk­ten erfol­gen, je nach den Anfor­de­rungs­pro­fi­len viel­leicht auch von Auf­trags­ge­bern aus der Wirt­schaft oder Ähn­li­chem. Sol­che Schwer­punk­te kön­nen z.B. die Ermitt­lung der Anfor­de­run­gen an neue Sys­te­me sein. Viel­leicht sol­len auch bestehen­de Sys­te­me wei­ter­ent­wi­ckelt wer­den. Auch in die­sem Fall müs­sen die Anfor­de­run­gen an das Sys­tem spe­zi­fi­ziert wer­den. Wei­ter­hin sol­len die Model­lie­rungs­werk­zeu­ge die Mit­ar­beit ver­schie­de­ner an der Erstel­lung und Imple­men­tie­rung des Sys­tems betei­lig­ter Per­so­nen bis zur fach­li­chen Fein­kon­zep­ti­on auf mög­lichst anschau­li­che und ein­fa­che Wei­se ermög­li­chen. Durch die Model­lie­rungs­werk­zeu­ge kann auch die Wis­sens­ba­sis eines Unter­neh­mens auf­ge­baut und für die Zukunft doku­men­tiert und auch archi­viert wer­den. Die­se Wis­sens­ba­sis gewähr­leis­tet eine effi­zi­en­te Wei­ter­ent­wick­lung der IT- bzw. DV-Anwen­dun­gen.

Der­zeit besit­zen sehr vie­le Men­schen ein mobi­les Gerät, das Ihnen oft vie­le gute Diens­te erweist. Eine bekann­te Mar­ke stellt dabei Apple dar. Für alle Apple-Pro­duk­te steht der haus­ei­ge­ne Apple-Store zur Ver­fü­gung, der für die Gerä­te pas­sen­de Apps anbie­tet. iPho­ne, iPad und Mac­Book kön­nen durch App­li­ca­ti­on Soft­ware, kurz Apps, um eini­ge nütz­li­che Funk­tio­nen erwei­tert wer­den. Belieb­te Anwen­dungs­ge­bie­te sind bei­spiels­wei­se Bild­be­ar­bei­tung, Com­pu­ter­spie­le und Tabel­len­kal­ku­la­ti­on. Vie­le die­ser Apps stam­men von Dritt­an­bie­tern oder frei­en Pro­gram­mie­rern, die ihre Ent­wick­lun­gen dort ver­öf­fent­li­chen. Der App Store bie­tet mitt­ler­wei­le Mil­lio­nen von Apps.

Zum Ver­öf­fent­li­chen der eige­nen Apps ist eine Anmel­dung bei dem iOS Deve­lo­per Pro­gramm erfor­der­lich, was 99 US Dol­lar pro Jahr kos­tet. Nach­dem eine App ein­ge­sandt wur­de, benö­tigt Apple durch­schnitt­lich 7 bis 12 Tage, um die App einer aus­führ­li­chen Über­prü­fung zu unter­zie­hen. Bei kos­ten­lo­sen Apps wer­den kei­ne Gebüh­ren gefor­dert. Bei kos­ten­pflich­ti­gen Apps for­dert Apple eine Gebühr von 30%. Seit dem 1. Febru­ar 2015 müs­sen neue Apps, die in den App Store hoch­ge­la­den wer­den, einen 64-Bit-Sup­port beinhal­ten. Dies wur­de nötig, da die Mobil­ge­rä­te von Apple mit einem 64-Bit-Pro­zes­sor aus­ge­stat­tet sind. Eine Abwei­chung stellt ledig­lich das iPho­ne 5C dar, das noch von einem 32-Bit-Pro­zes­sor betrie­ben wird. Die Kor­re­spon­denz erfolgt auf Eng­lisch und die ein­ge­sand­ten Mate­ria­li­en müs­sen bei Bedarf in einer über­setz­ten eng­li­schen Ver­si­on ein­ge­reicht wer­den. Es gibt die Mög­lich­keit, nicht end­gül­ti­ge Mate­ria­li­en prü­fen zu las­sen, jedoch muss die end­gül­ti­ge App noch­mals geprüft und bewil­ligt wer­den. Tex­te und Gra­fi­ken soll­ten für die Über­prü­fung in einer hohen Qua­li­tät ein­ge­sen­det wer­den.

Nicht jede App schafft es in den Apple Store. Man­che schei­tern an den Qua­li­täts­kri­te­ri­en und wer­den aus­sor­tiert, ande­re schaf­fen es auf­grund ihres Inhalts nicht. Frei­zü­gi­ge Bil­der kön­nen bei­spiels­wei­se ein Hin­der­nis für die Frei­ga­be einer App dar­stel­len. Ero­ti­sche Inhal­te gelan­gen erst gar nicht in den App Store, eben­so wenig wie gewalt­ver­herr­li­chen­de Apps.

Wer eine App in den Apple Store laden möch­te, soll­te sich auf der jewei­li­gen App Store Inter­net­sei­te alle nöti­gen Infor­ma­tio­nen ein­ho­len, um Feh­ler zu ver­mei­den und die App erfolg­reich zu ver­öf­fent­li­chen.

Die ite­ra­ti­ve Ent­wick­lung beschreibt den Ansatz, ein Gesamt­pro­jekt in vie­le klei­ne Pro­jek­te auf­zu­tei­len. Es wer­den in jeder Ite­ra­ti­on alle Pha­sen, also Ana­ly­se, Ent­wurf (Grob- und Fein­de­sign), Imple­men­tie­rung und Test durch­ge­führt. Nach jeder Ite­ra­ti­on soll­te eine Abnah­me mit dem Kun­den erfol­gen, um so die Anfor­de­run­gen und die Qua­li­tät der Soft­ware zu über­prü­fen.

Der Vor­teil hier­bei ist, dass Män­gel bei jedem Ite­ra­ti­ons­schritt besei­tigt wer­den kön­nen und so das Sys­tem stän­dig ver­bes­sert wird – durch Opti­mie­rung bereits bestehen­der Kom­po­nen­ten oder Ergän­zung um wei­te­re.
Neben der kon­ti­nu­ier­li­chen Pro­blem­be­he­bungs­mög­lich­keit bringt das ite­ra­ti­ve Vor­ge­hen bei der Soft­ware­ent­wick­lung auch den Vor­teil, dass in die­sem Ansatz gut auf Ände­run­gen der Anfor­de­run­gen wäh­rend des Pro­jekt­ab­laufs ein­ge­gan­gen wer­den kann. Außer­dem lässt sich so auch das Risi­ko unan­ge­mes­se­ner Funk­tio­na­li­tät und über­hand neh­men­der Kos­ten ein­schrän­ken. Die­se Vor­ge­hens­wei­se ermög­licht es,  tech­nisch oder inhalt­lich sehr ris­kan­te Berei­che eine Soft­ware­pro­jek­tes zuerst anzu­ge­hen.

Aller­dings bringt die mehr­ma­li­ge Durch­füh­rung der Ent­wick­lungs­pha­sen den Nach­teil mit sich, dass das Pro­jekt zeit­lich schwer plan­bar ist, da bei jeder Ite­ra­ti­on Zeit­puf­fer für die Reak­ti­on auf auf­kom­men­de Pro­ble­me ein­kal­ku­liert wer­den müs­sen.

Der Ansatz der ite­ra­ti­ven Ent­wick­lung wird in vie­len Vor­ge­hens­mo­del­len ange­wandt. Eines die­ser Vor­ge­hens­mo­del­le ist das soge­nann­te Spi­ral­mo­dell.

Das Spi­ral­mo­dell nach Boehm ist in fol­gen­de vier Schrit­te auf­ge­teilt:
Im ers­ten Schritt, der Ana­ly­se, wer­den alle wich­ti­gen Infor­ma­tio­nen wie Zie­le, Anfor­de­run­gen, Rah­men­be­din­gun­gen und Lösungs­al­ter­na­ti­ven zusam­men­ge­tra­gen. Die­se wer­den zur Umset­zung frei­ge­ge­ben und im zwei­ten Schritt eva­lu­iert, um Risi­ken zu erken­nen und ent­spre­chen­de Min­de­rungs- bzw. Ver­mei­dungs­stra­te­gi­en zu erar­bei­ten.
Anschlie­ßend wird nun das Vor­ge­hen für die Rea­li­sie­rung fest­ge­legt und durch­ge­führt. Schließ­lich wird in Schritt vier kri­tisch auf die vor­an­ge­gan­gen Schrit­te geschaut und der nächs­te Schlei­fen­durch­lauf geplant.
Im Spi­ral­mo­dell stel­len die vier Qua­dran­ten die Vor­ge­hens­schrit­te dar und eine Linie zeigt den Fort­schritt des Pro­jek­tes, wodurch sich das für die­ses Modell cha­rak­te­ris­ti­sche Spi­ral­mus­ter ergibt. Die Pro­to­ty­pen, die in jedem Schlei­fen­durch­lauf erstellt wer­den, ermög­li­chen, das Sys­tem fort­lau­fend zu prü­fen und wei­ter­zu­ent­wi­ckeln.

Die Tätig­keit des IT-Bera­ters zählt zu den Beru­fen im all­ge­mei­nen Dienst­leis­tungs­sek­tor und umfasst unter­schied­li­che Auf­ga­ben­fel­der. Ver­ein­facht aus­ge­drückt ist der IT-Bera­ter der­je­ni­ge, an den sich Per­so­nen oder Unter­neh­men wen­den kön­nen, wenn sie fach­lich hoch­wer­ti­gen Rat in allen Fra­gen rund um die Anschaf­fung und Unter­hal­tung von Com­pu­tern und Soft­ware benö­ti­gen. Wäh­rend es im Pri­vat­be­reich meist aus­rei­chend ist, wenn der IT-Bera­ter über fun­dier­te Fach­kennt­nis­se ver­fügt, ist im Busi­ness­be­reich zusätz­lich Erfah­rung in der Betriebs­wirt­schaft wün­schens- und emp­feh­lens­wert.

Tages­ge­schäft eines IT-Bera­ters

Der IT-Bera­ter sieht sich täg­lich neu­en Auf­ga­ben­stel­lun­gen gegen­über. In den sel­tens­ten Fäl­len rich­tet er die IT von Unter­neh­men von Grund auf neu ein. Sind bereits Anla­gen im Betrieb und äußert ein Kun­de Ver­än­de­rungs­wün­sche, heißt die pri­mä­re Anfor­de­rung, die Schwach­stel­len der vor­han­de­nen IT auf­zu­spü­ren und zu prü­fen, ob Ver­bes­se­rungs­maß­nah­men den ange­streb­ten Nut­zen erzie­len kön­nen. Dafür ist es uner­läss­lich, das Ziel tech­nisch zu ver­ste­hen sowie Lösungs­vor­schlä­ge inner­halb des mög­li­chen Bud­gets anzu­bie­ten. Damit der IT-Bera­ter die­se Auf­ga­be zuver­läs­sig erle­di­gen kann, ist er auf eine ver­trau­ens­vol­le Kom­mu­ni­ka­ti­on mit allen Betei­lig­ten ange­wie­sen. Dar­aus resul­tiert eine gewis­se Dau­er der Pro­jek­te, die sich über meh­re­re Mona­te oder Jah­re hin­zie­hen kann.

Wel­che Kom­pe­ten­zen muss ein IT-Bera­ter mit­brin­gen?

Ein guter IT-Bera­ter benö­tigt somit ganz unter­schied­li­che Kom­pe­ten­zen: Ihm muss es gelin­gen, das Ver­trau­en sei­ner Auf­trag­ge­ber zu erwer­ben und sich in deren Pro­jek­te ein­zu­ar­bei­ten. Nicht sel­ten ist er dabei behilf­lich, Visio­nen aus­zu­for­mu­lie­ren oder voll­kom­men neue Lösungs­an­sät­ze zu erar­bei­ten. Gelingt es, den Anfor­de­rungs­ka­ta­log zu defi­nie­ren, sorgt der IT-Bera­ter für die Umset­zung. Dies kann in Form einer Bera­tung zur Hard­ware-Umge­bung lie­gen, oder aber auch in der Bereit­stel­lung ent­spre­chen­der Soft­ware. Dabei umschließt die Band­brei­te alles von der Kauf­be­ra­tung bis hin zur Ent­wick­lung neu­er maß­ge­schnei­der­te Pro­gram­me in Zusam­men­ar­beit mit ande­ren IT-Spe­zia­lis­ten. Die Imple­men­tie­rung neu­er Anwen­dungs­pro­gram­me führt der IT-Bera­ter ent­we­der selbst durch oder beglei­tet sie zumin­dest.

Häu­fig gesche­hen die­se Ver­än­de­run­gen pha­sen­wei­se. Im Vor­der­grund ste­hen Über­le­gun­gen, wie mög­li­che Feh­ler­quel­len opti­mal ein­zu­gren­zen sind. Des Wei­te­ren hat der IT-Bera­ter dabei stets einen Blick auf den lau­fen­den Betrieb. Aus­fäl­le sind zwin­gend zu ver­mei­den. Dar­über hin­aus muss er den Fak­tor Mensch berück­sich­ti­gen. Ein guter IT-Bera­ter kann das Per­so­nal, das mit der neu­en Tech­no­lo­gie arbei­ten soll, auch pro­fes­sio­nell schu­len und ver­su­chen, mög­li­che Berüh­rungs­ängs­te mit der neu­en IT abzu­bau­en. Wenn alles rei­bungs­los läuft, ist der Auf­trag für den IT-Bera­ter auch nicht voll­stän­dig been­det, denn er steht in der Fol­ge wei­ter­hin für Rück­fra­gen zur Ver­fü­gung.

Soft­ware-Lizen­zen regeln die Kon­di­tio­nen, unter denen Soft­ware ein­ge­setzt, erwei­tert, und ver­brei­tet wer­den darf. Ins­be­son­de­re für kom­mer­zi­el­le Soft­ware stel­len sich hier grund­sätz­li­che Fra­gen. Ein kur­zer Über­blick über ver­brei­te­ten Lizen­zen soll ein wenig mehr Sicher­heit in dem Bereich her­stel­len.

Clo­sed-Source

Unter Clo­sed-Source ver­steht man eine pro­prie­tä­re Soft­ware, die in der Regel unter einer kom­mer­zi­el­len Lizenz zur Ver­fü­gung gestellt wird. Bei die­ser Soft­ware ist der Quell­code ist nicht offen. Die Soft­ware kann kos­ten­pflich­tig oder wie im Bereich der Free­ware und der Share­ware kos­ten­los erhält­lich sein.
Wegen der star­ren Lizenz­be­din­gun­gen und dem ver­schlos­se­nen Source­code ist die Soft­ware nur beschränkt anpass­bar und wei­ter­ver­wend­bar. Übli­cher­wei­se ist die Wei­ter­ver­brei­tung und Modi­fi­ka­ti­on ver­bo­ten oder nur nach Abspra­che mit dem Rech­te­inha­ber gestat­tet.
Dies gilt auch für Share­ware oder Free­ware. Auch sie ist „Clo­sed-Source“ und unter­liegt kla­ren Lizenz­be­din­gun­gen. Es ist jedoch häu­fig erlaubt, die­se Soft­ware kos­ten­frei wei­ter­zu­ver­brei­ten, was auch ohne gro­ßen Mehr­auf­wand mög­lich ist. Dafür ist Sha­re- oder Free­ware meist in ihrem Funk­ti­ons­um­fang und/oder in der Nut­zungs­dau­er ein­ge­schränkt.

Open-Source

Grund­sätz­lich gilt: Bei Open-Source-Soft­ware muss zwi­schen der rei­nen Pro­dukt­nut­zung und der Nut­zung des Source­codes als Basis oder Teil einer eige­nen Soft­ware unter­schie­den wer­den. Dabei ist die rei­ne Nut­zung unpro­ble­ma­tisch und unter­liegt kei­ner zusätz­li­chen Auf­la­gen. Dem­ge­gen­über müs­sen für die Ver­brei­tung und Ver­wen­dung des Quell­codes Regeln ein­ge­hal­ten wer­den. Die­se sind in den Lizenz­be­din­gun­gen fest­ge­legt.
Damit eine Soft­ware sich Open-Source nen­nen kann, muss sie fol­gen­de Eigen­schaf­ten auf­wei­sen:

  • Lega­le Wei­ter­ver­brei­tung
  • Offe­ner Quell­code
  • Inte­gra­ti­on und Modi­fi­ka­ti­on D

Doch auch bei Open-Source-Soft­ware sind Regeln ein­zu­hal­ten. Dies gilt ins­be­son­de­re für den Bereich der Ablei­tung und das soge­nann­te Copy­left.

Copy­left

Sobald eine Soft­ware­li­zenz Copy­left vor­sieht, bedeu­tet dies, dass jeder der die­se Soft­ware nutzt, die Offen­heit der Soft­ware auch in der Wei­ter­nut­zung bei­be­hält. Dabei macht es kei­nen Unter­schied, ob die Soft­ware nur ein­ge­bun­den oder ver­än­dert wird.
Es gibt Lizen­zen mit star­kem Copy­left, wie bei­spiels­wei­se die GPL Lizenz und sol­che mit schwa­chem Copy­left, wie LGPL.
Eine wei­te­re Grup­pe sind die Lizen­zen ohne Copy­left. Deren bekann­tes­ter Ver­tre­ter ist die Apa­che Lizenz. Sie erlaubt grund­sätz­lich eige­ne Soft­ware unter eige­nen Lizen­zen zu ver­öf­fent­li­chen, es ist nur erfor­der­lich die Apa­che-Lizenz bei­zu­le­gen und den anfäng­li­chen Rech­te­inha­ber zu nen­nen.

Soft­ware­li­zen­zen — ein Fazit

Neben der Apa­che gibt es wei­te­re voll­kom­men freie Lizen­zen. Dazu gehö­ren ins­be­son­de­re die BSD und die MIT-Lizenz. Alle drei Pro­duk­te sind pro­blem­los auch im kom­mer­zi­el­len Bereich zu nut­zen.
Etwas schwie­ri­ger wird es bei LGPL-Soft­ware. Hier gibt es immer wie­der Pro­ble­me damit, dass die eige­ne Soft­ware als deri­va­tiv bezeich­net wird. Dies kann kos­ten­in­ten­si­ve Rechts­strei­tig­kei­ten nach sich zie­hen.
Über­haupt nicht geeig­net ist GPL-lizen­zier­te Soft­ware.

Moder­ne Soft­ware-Ent­wick­lung ist eine sehr struk­tu­rier­te und bis ins Detail durch­dach­te Ange­le­gen­heit. Ein Aus­druck die­ser kla­ren Struk­tur sind nicht nur das Las­ten- und Pflich­ten­heft, bei denen detail­liert fest­ge­hal­ten wird, wel­che Funk­tio­nen mit wel­chen Tech­ni­ken erreicht wer­den sol­len, son­dern auch die rol­len­ba­sier­te Soft­ware-Ent­wick­lung. Sie ermög­licht es jedem an der Ent­wick­lung Betei­lig­ten, sich voll und ganz auf sei­ne spe­zi­fi­sche Auf­ga­be zu kon­zen­trie­ren.

Rol­len­ba­sier­te Soft­ware-Ent­wick­lung

Der Gedan­ke hin­ter der Struk­tur ist ein­fach: Durch die enge Inter­ak­ti­on von Men­schen mit unter­schied­li­chen Schwer­punk­ten wird ein brei­tes Spek­trum abge­deckt und so ein Pro­dukt ent­wi­ckelt, das mög­lichst vie­len Anfor­de­run­gen gerecht wird. Dabei ist es vor allem bei grö­ße­ren Pro­jek­ten drin­gend erfor­der­lich, dass die Inter­ak­ti­on nicht nur münd­lich erfolgt, son­dern auch stark doku­men­ten­ba­siert ist.

Die Rol­le

Unter der Rol­le ver­steht man in der rol­len­ba­sier­ten Ent­wick­lung eine Men­ge zusam­men­ge­hö­ri­ger Auf­ga­ben, Qua­li­fi­ka­tio­nen und Befug­nis­se. Sie kann von einer oder meh­re­ren im Team zusam­men­ar­bei­ten­den Per­so­nen wahr­ge­nom­men wer­den. Gleich­zei­tig kann ein Team oder eine Per­son auch meh­re­re Rol­len erfül­len.

Fol­gen­de Rol­len kön­nen in einem Soft­ware­pro­jekt besetzt wer­den.

1. Pro­jekt­ma­na­ger
Sei­ne wesent­li­chen Auf­ga­ben sind die Pla­nung, Kon­trol­le und Steue­rung des Pro­jekts.
2. Risi­ko­ma­na­ger
Sei­ne Auf­ga­be ist es, poten­zi­el­le Pro­ble­me zu erken­nen und ent­spre­chend Abhil­fe zu schaf­fen. Er ist in alle Pha­sen des Pro­jekts invol­viert.
3. Der Qua­li­täts­ma­na­ger
Er hat eine pro­jekt­be­glei­ten­de Auf­ga­be und ist ver­ant­wort­lich für die Qua­li­tät des erzeug­ten Pro­dukts. Er stellt Anfor­de­run­gen, über­wacht deren Ein­hal­tung und küm­mert sich um Maß­nah­men zur Qua­li­täts­si­che­rung.

Wei­te­re Rol­len sind der Kon­fi­gu­ra­ti­ons­ma­na­ger, der Anfor­de­rungs­ana­ly­ti­ker, Kon­zep­tio­nier, Desi­gner und letzt­lich der Pro­gram­mie­rer. Kom­plet­tiert wird das Gan­ze durch den Tes­ter, den Sys­tem­tech­ni­ker, den Tech­no­lo­gie­be­ra­ter, den War­tungs­ex­per­ten, den Daten­samm­ler, den Soft­ware-Pro­zess­ver­bes­se­rer, den Wie­der­ver­wen­der und die ent­spre­chen­den Ver­ant­wort­li­chen auf den Füh­rungs­ebe­nen.

Rol­len in der Soft­ware­ent­wick­lung

Nicht alle der auf­ge­führ­ten Rol­len wer­den in jedem Soft­ware­pro­jekt besetzt. Doch die wich­tigs­ten, wie Pro­jekt­ma­na­ger und Qua­li­täts­ma­na­ger, aber auch die Pro­gram­mie­rer fin­den sich so in jeder erfolg­rei­chen Soft­ware-Ent­wick­lung wie­der.

Open Source Soft­ware, auch OSS genannt, ist eine der gro­ßen Errun­gen­schaf­ten des Inter­nets. Die Pro­gram­me sind zum Teil äußerst hoch­wer­tig und nicht nur für Pri­vat-User inter­es­sant, son­dern auch für klei­ne­re und mit­tel­stän­di­sche Unter­neh­men. Zu den bekann­tes­ten Pro­duk­ten gehö­ren Brow­ser, wie bei­spiels­wei­se der Mozil­la oder die Open Office Pake­te.

Die eige­ne Soft­ware als Open Source Pro­dukt anbie­ten

Trotz der häu­fi­gen Nut­zung von OSS Pro­duk­ten stellt sich stets aufs Neue die Fra­ge, war­um soll­te ich die Frucht mei­ner gedank­li­chen Arbeit kos­ten­los ins Netz stel­len? Dafür gibt es eine Rei­he sehr guter Grün­de:

• Durch die OSS wird die Mar­ke ein­ge­führt, ver­brei­tet und es wer­den neue Kun­den akqui­riert.
OSS ist eine gute Stra­te­gie, um eine Soft­ware wei­ter­zu­ent­wi­ckeln, da alle Wei­ter­ent­wick­lun­gen aus der Com­mu­ni­ty in den Kern zurück­flie­ßen.
• Übli­cher­wei­se nut­zen fünf bis zehn Pro­zent aller Nut­zer einer OS-Soft­ware den zu bezah­len­den Sup­port. Eben­so vie­le wech­seln zur kos­ten­pflich­ti­gen Soft­ware des glei­chen Anbie­ters oder erwer­ben Enter­pri­se-Lizen­zen.
• Je nach Geschäfts­mo­dell kön­nen Ein­nah­men aus eige­nen SaaS-Diens­ten gene­riert wer­den.
• Außer­dem besteht die Mög­lich­keit Ein­nah­men aus Diens­ten lizen­zier­ter Dritt­an­bie­ter zu gene­rie­ren

OSS als Modell für Ihre Zukunft

Wer heu­te im Inter­net einen gewis­sen Bekannt­heits­grad errei­chen möch­te, kann dafür unter ande­rem auch eine OS-Soft­ware nut­zen. Dies gilt für Glo­bal Play­er wie Face­book und Goog­le eben­so, wie für die klei­ne “Soft­ware­schmie­de” aus dem Badi­schen oder jedem ande­ren Ort in Deutsch­land. Dabei ist die OSS-Welt mehr als nur ein End­la­ger für weni­ger erfolg­rei­che Pro­duk­te. Wenn Sie ein hüb­sches klei­nes Pro­gramm geschaf­fen haben, ein schi­ckes „Nice to have“, fer­tig pro­gram­miert, noch ein wenig aus­bau­fä­hig, aber abso­lut aus­ge­reift, dann ist dies genau das rich­ti­ge Pro­dukt, um sich am Markt einen Namen zu machen.

Wie kommt die Soft­ware an den Markt?

Die effi­zi­en­tes­te Mög­lich­keit, ihre Soft­ware zu ver­öf­fent­li­chen, heißt der­zeit Git­Hub und Goog­le Code. Bei­de Por­ta­le stel­len eine Rei­he nütz­li­cher Hilfs­mit­tel zur Ver­fü­gung, mit denen bei­spiels­wei­se Ent­wick­lungs­feh­ler gemel­det oder Funk­ti­ons­wün­sche geäu­ßert wer­den kön­nen. Auf die­se Wei­se wird Ihre Soft­ware von der Intel­li­genz des Schwarms getes­tet und von Vie­len ein Stück ver­bes­sert. Die so gewon­nen Ein­drü­cke flie­ßen in die Ent­wick­lung neu­er Soft­ware, die viel­leicht eben­falls als OSS mit einer kos­ten­pflich­ti­gen Busi­ness­ver­si­on auf den Markt kommt.

Heut­zu­ta­ge steht die Indus­trie in allen Berei­chen unter Druck, da der Markt nach immer neu­en Pro­duk­ten ver­langt und die Vor­gän­ger gewar­tet oder wei­ter­ent­wi­ckelt wer­den. Aber auch der Kos­ten­druck ist immens, wes­we­gen es für vie­le Unter­neh­men ein Vor­teil ist, die Mög­lich­kei­ten des Out­sour­cings nut­zen zu kön­nen.

Near­shore Out­sour­cing

Hier­für kom­men Near­shore Out­sour­cing oder Off­shore Out­sour­cing in Fra­ge. Near­shore Out­sour­cing ist eine Ver­la­ge­rung von Geschäfts­be­rei­chen, die in Nach­bar­län­der abge­ge­ben wer­den, also in der Nähe blei­ben, wofür zum Bei­spiel die ost­eu­ro­päi­schen Län­der in Fra­ge kom­men. Das ist vor allem im IT-Bereich eine Mög­lich­keit, um güns­tig Geschäfts­be­rei­che wie die Soft­ware­ent­wick­lung an Nach­bar­län­der abzu­ge­ben. Dabei kann man sich für ein pro­jekt­be­zo­ge­nes Out­sour­cing ent­schei­den. Hier­für bie­ten sich Off­shore-Out­sour­cing oder Near­shore-Out­sour­cing für kom­plet­te Pro­jek­te des IT-Bereichs an oder auch nur für Tei­le eines Bereichs, unter ande­rem für die Ent­wick­lung oder Wei­ter­ent­wick­lung von Soft­ware­pro­duk­ten. Aber auch von Soft­ware­funk­tio­nen, die im Rah­men von Out­sour­cings für IT-Dienst­leis­tun­gen genutzt wer­den. Die nahe­ge­le­ge­nen Län­der bie­ten zudem Vor­tei­le, wie eine nicht vor­han­de­ne oder höchs­tens gerin­ge Zeit­ver­schie­bung sowie letzt­lich auch die güns­ti­ge­ren Prei­se.

Off­shore Out­sour­cing

Beim Off­shore Out­sour­cing — oder Off­sho­ring — kann es sich um eine geo­gra­fi­sche Ein­gren­zung han­deln. Beim Far­sho­ring kommt es zu Ver­la­ge­run­gen der IT-Dienst­leis­tun­gen in weit ent­fern­te Län­der, wie zum Bei­spiel Asi­en oder den USA, ver­la­gert. Hier­bei sind aber auch Zeit­ver­schie­bung, kul­tu­rel­le Unter­schie­de und even­tu­el­le Logis­tik­kos­ten zu beach­ten. Dabei kommt es aber auch auf die Grö­ße und die finan­zi­el­le Lage des Unter­neh­mens an. Auch in die­sem Bereich bie­tet das Near­sho­ring einen kla­ren Vor­teil gegen­über dem Off- oder Far­sho­ring.

Bei­des hat Vor- und Nach­tei­le

Bei bei­den Vari­an­ten muss immer der rich­ti­ge Ent­wick­ler gefun­den wer­den, der die Fra­ge der Kos­ten, der Zeit und auch der Ver­stän­di­gung opti­mal beant­wor­tet. Hier muss jedes Unter­neh­men sei­ne Prio­ri­tä­ten set­zen, wenn es um die Fra­ge des Out­sour­cings geht. Was ist wich­ti­ger? Der bes­te Preis? Der bes­te IT Ent­wick­ler oder der Auf­wand, der betrie­ben wird? Oder ist es auch eine Mischung aus allem? Wenn man sich nicht sicher ist, bie­tet sich immer noch die drit­te Mög­lich­keit. Die­se lau­tet dann Onshore Out­sour­cing. Das bedeu­tet, dass man im eige­nen Land bleibt und hier nach einer pas­sen­den Ver­la­ge­rung des Geschäfts­be­reichs sucht. Dem Out­sour­cing sind also sozu­sa­gen kei­ne Gren­zen gesetzt.

Zum moder­nen Busi­ness gehö­ren neben vie­len ande­ren wich­ti­gen Fak­to­ren auch zeit­ge­mä­ße und maß­ge­schnei­der­te Desk­top-Anwen­dun­gen, auch Busi­ness Appli­ka­tio­nen genannt. Die­se pass­ge­nau­en Soft­ware­lö­sun­gen wer­den auf Basis neu­es­ter Tech­no­lo­gi­en ent­wi­ckelt und pas­send für Ihr Sys­tem instal­liert. Egal ob Sie auf Micro­soft, Apple oder Andro­id set­zen, moder­ne Lösun­gen fin­den immer den rich­ti­gen Ein­stieg und ver­bin­den so mobi­le und sta­tio­nä­re Gerä­te zu einer sinn­vol­len, effek­ti­ven Ein­heit.

Sinn­vol­le Ver­bin­dung unter­schied­li­cher Mit­ar­bei­ter

Mit­ar­bei­ter im Außen­dienst und sol­che im Innen­be­reich sinn­voll mit­ein­an­der zu ver­net­zen, ist der gro­ße Vor­teil inno­va­ti­ver Desk­top-Anwen­dun­gen und benut­zer­freund­li­cher Apps.
Hier­bei ent­ste­hen Schnitt­stel­len, die Arbeits­schrit­te ver­ein­fa­chen, Feh­ler­quel­len ver­mei­den und somit die gan­ze Abwick­lung straf­fer und prä­zi­ser machen. So kann der Außen­dienst­ler direkt auf die Kun­den­da­tei zugrei­fen, was feh­ler­in­ten­si­ve Zwi­schen­schrit­te zu ver­mei­den hilft. Aber viel­leicht muss der Weg ja auch in die ande­re Rich­tung lau­fen. Viel­leicht muss der Innen­dienst­ler in per­ma­nen­tem Kon­takt zu sei­nem Kol­le­gen auf der Stra­ße ste­hen, um die­sem wich­ti­ge Infor­ma­tio­nen zu sen­den. Wel­che Prio­ri­tä­ten Ihr Unter­neh­men hat und wel­che Anfor­de­run­gen Ihre per­sön­li­che Busi­ness Lösung erfül­len soll, wis­sen Sie am bes­ten.

Pass­ge­naue Ent­wick­lung von Desk­top-Anwen­dun­gen

Damit die neue Anwen­dung auch per­fekt für Ihr Unter­neh­men passt, ist es wich­tig, gut mit den Ent­wick­lern zusam­men zu arbei­ten. Zunächst ein­mal wird eine Lis­te aller Anfor­de­run­gen erstellt, das soge­nann­te Las­ten­heft. Hier­bei arbei­ten Sie per­sön­lich, oder am bes­ten bereits schon in Zusam­men­ar­beit mit dem Ent­wick­ler aus, wie die Soft­ware aus­se­hen muss. Ins Las­ten­heft gehö­ren sowohl die unbe­dingt not­wen­di­gen Anfor­de­run­gen, wie auch die klei­nen Extras, die Sie zwar nicht zwin­gend brau­chen, die aber die Arbeit mit dem End­ergeb­nis noch mehr ver­bes­sern kön­nen. Ist das Las­ten­heft fer­tig, erstellt der Ent­wick­ler das soge­nann­te Pflich­ten­heft. Hier zeigt er auf, wie und mit wel­chen Mit­teln er die Anfor­de­run­gen lösen kann. Selbst­ver­ständ­lich tref­fen an die­sem Punkt eben­falls Auf­trag­ge­ber und Auf­trag­neh­mer zusam­men und bespre­chen die Lösun­gen. Am Ende einigt man sich auf ein für bei­de Sei­ten zufrie­den­stel­len­des Vor­ge­hen.

Moder­ne Soft­ware­lö­sun­gen für einen rei­bungs­lo­sen Arbeits­ab­lauf

Rich­tig, vie­les funk­tio­niert auch ohne Desk­top-Anwen­dung, ohne App und inno­va­ti­ve Schnitt­stel­le. Das ging ja schließ­lich frü­her auch. Doch die heu­ti­ge Zeit wird immer schnell­le­bi­ger, und wer mit die­ser stets wach­sen­den Geschwin­dig­keit nicht mit­hält, ver­liert den Anschluss und ist rasch weg vom Markt. Die immer grö­ße­re Bedeu­tung des Inter­nets und des Inter­net­han­dels tra­gen das Übri­ge zu der Situa­ti­on bei. Wer sich also breit für die Zukunft auf­stel­len möch­te, benö­tigt über kurz oder lang eine gut orga­ni­sier­te und struk­tu­rier­te Ver­wal­tung, die durch indi­vi­du­el­le und pass­ge­naue Busi­ness-Appli­ka­tio­nen gewähr­leis­tet wird. Eine solch hoch­wer­ti­ge Anwen­dung soll­te selbst­ver­ständ­lich immer vom Pro­fi ent­wi­ckelt, instal­liert und betreut wer­den.