Open Source Software, auch OSS genannt, ist eine der großen Errun­gen­schaften des Internets. Die Programme sind zum Teil äußerst hochwertig und nicht nur für Privat-User inter­essant, sondern auch für kleinere und mittel­stän­dische Unter­nehmen. Zu den bekann­testen Produkten gehören Browser, wie beispiels­weise der Mozilla oder die Open Office Pakete.

Die eigene Software als Open Source Produkt anbieten

Trotz der häufigen Nutzung von OSS Produkten stellt sich stets aufs Neue die Frage, warum sollte ich die Frucht meiner gedank­lichen Arbeit kostenlos ins Netz stellen? Dafür gibt es eine Reihe sehr guter Gründe:

• Durch die OSS wird die Marke einge­führt, verbreitet und es werden neue Kunden akquiriert.
OSS ist eine gute Strategie, um eine Software weiter­zu­ent­wi­ckeln, da alle Weiter­ent­wick­lungen aus der Community in den Kern zurückfließen.
• Üblicher­weise nutzen fünf bis zehn Prozent aller Nutzer einer OS-Software den zu bezah­lenden Support. Ebenso viele wechseln zur kosten­pflich­tigen Software des gleichen Anbieters oder erwerben Enterprise-Lizenzen.
• Je nach Geschäfts­modell können Einnahmen aus eigenen SaaS-Diensten generiert werden.
• Außerdem besteht die Möglichkeit Einnahmen aus Diensten lizen­zierter Dritt­an­bieter zu generieren

OSS als Modell für Ihre Zukunft

Wer heute im Internet einen gewissen Bekannt­heitsgrad erreichen möchte, kann dafür unter anderem auch eine OS-Software nutzen. Dies gilt für Global Player wie Facebook und Google ebenso, wie für die kleine „Software­schmiede“ aus dem Badischen oder jedem anderen Ort in Deutschland. Dabei ist die OSS-Welt mehr als nur ein Endlager für weniger erfolg­reiche Produkte. Wenn Sie ein hübsches kleines Programm geschaffen haben, ein schickes „Nice to have“, fertig program­miert, noch ein wenig ausbau­fähig, aber absolut ausge­reift, dann ist dies genau das richtige Produkt, um sich am Markt einen Namen zu machen.

Wie kommt die Software an den Markt?

Die effizi­en­teste Möglichkeit, ihre Software zu veröf­fent­lichen, heißt derzeit GitHub und Google Code. Beide Portale stellen eine Reihe nützlicher Hilfs­mittel zur Verfügung, mit denen beispiels­weise Entwick­lungs­fehler gemeldet oder Funkti­ons­wünsche geäußert werden können. Auf diese Weise wird Ihre Software von der Intel­ligenz des Schwarms getestet und von Vielen ein Stück verbessert. Die so gewonnen Eindrücke fließen in die Entwicklung neuer Software, die vielleicht ebenfalls als OSS mit einer kosten­pflich­tigen Business­version auf den Markt kommt.

Heutzutage steht die Industrie in allen Bereichen unter Druck, da der Markt nach immer neuen Produkten verlangt und die Vorgänger gewartet oder weiter­ent­wi­ckelt werden. Aber auch der Kosten­druck ist immens, weswegen es für viele Unter­nehmen ein Vorteil ist, die Möglich­keiten des Outsour­cings nutzen zu können.

Nearshore Outsourcing

Hierfür kommen Nearshore Outsourcing oder Offshore Outsourcing in Frage. Nearshore Outsourcing ist eine Verla­gerung von Geschäfts­be­reichen, die in Nachbar­länder abgegeben werden, also in der Nähe bleiben, wofür zum Beispiel die osteu­ro­päi­schen Länder in Frage kommen. Das ist vor allem im IT-Bereich eine Möglichkeit, um günstig Geschäfts­be­reiche wie die Software­ent­wicklung an Nachbar­länder abzugeben. Dabei kann man sich für ein projekt­be­zo­genes Outsourcing entscheiden. Hierfür bieten sich Offshore-Outsourcing oder Nearshore-Outsourcing für komplette Projekte des IT-Bereichs an oder auch nur für Teile eines Bereichs, unter anderem für die Entwicklung oder Weiter­ent­wicklung von Software­pro­dukten. Aber auch von Software­funk­tionen, die im Rahmen von Outsour­cings für IT-Dienstleistungen genutzt werden. Die nahege­le­genen Länder bieten zudem Vorteile, wie eine nicht vorhandene oder höchstens geringe Zeitver­schiebung sowie letztlich auch die günsti­geren Preise.

Offshore Outsourcing

Beim Offshore Outsourcing – oder Offshoring – kann es sich um eine geogra­fische Eingrenzung handeln. Beim Farshoring kommt es zu Verla­ge­rungen der IT-Dienstleistungen in weit entfernte Länder, wie zum Beispiel Asien oder den USA, verlagert. Hierbei sind aber auch Zeitver­schiebung, kultu­relle Unter­schiede und eventuelle Logis­tik­kosten zu beachten. Dabei kommt es aber auch auf die Größe und die finan­zielle Lage des Unter­nehmens an. Auch in diesem Bereich bietet das Nearshoring einen klaren Vorteil gegenüber dem Off- oder Farshoring.

Beides hat Vor- und Nachteile

Bei beiden Varianten muss immer der richtige Entwickler gefunden werden, der die Frage der Kosten, der Zeit und auch der Verstän­digung optimal beant­wortet. Hier muss jedes Unter­nehmen seine Priori­täten setzen, wenn es um die Frage des Outsour­cings geht. Was ist wichtiger? Der beste Preis? Der beste IT Entwickler oder der Aufwand, der betrieben wird? Oder ist es auch eine Mischung aus allem? Wenn man sich nicht sicher ist, bietet sich immer noch die dritte Möglichkeit. Diese lautet dann Onshore Outsourcing. Das bedeutet, dass man im eigenen Land bleibt und hier nach einer passenden Verla­gerung des Geschäfts­be­reichs sucht. Dem Outsourcing sind also sozusagen keine Grenzen gesetzt.

Software-Lizenzen regeln die Kondi­tionen, unter denen Software einge­setzt, erweitert, und verbreitet werden darf. Insbe­sondere für kommer­zielle Software stellen sich hier grund­sätz­liche Fragen. Ein kurzer Überblick über verbrei­teten Lizenzen soll ein wenig mehr Sicherheit in dem Bereich herstellen.

Closed-Source

Unter Closed-Source versteht man eine proprietäre Software, die in der Regel unter einer kommer­zi­ellen Lizenz zur Verfügung gestellt wird. Bei dieser Software ist der Quellcode ist nicht offen. Die Software kann kosten­pflichtig oder wie im Bereich der Freeware und der Shareware kostenlos erhältlich sein.
Wegen der starren Lizenz­be­din­gungen und dem verschlos­senen Sourcecode ist die Software nur beschränkt anpassbar und weiter­ver­wendbar. Üblicher­weise ist die Weiter­ver­breitung und Modifi­kation verboten oder nur nach Absprache mit dem Rechte­inhaber gestattet.
Dies gilt auch für Shareware oder Freeware. Auch sie ist „Closed-Source“ und unter­liegt klaren Lizenz­be­din­gungen. Es ist jedoch häufig erlaubt, diese Software kostenfrei weiter­zu­ver­breiten, was auch ohne großen Mehraufwand möglich ist. Dafür ist Share- oder Freeware meist in ihrem Funkti­ons­umfang und/oder in der Nutzungs­dauer eingeschränkt.

Open-Source

Grund­sätzlich gilt: Bei Open-Source-Software muss zwischen der reinen Produkt­nutzung und der Nutzung des Source­codes als Basis oder Teil einer eigenen Software unter­schieden werden. Dabei ist die reine Nutzung unpro­ble­ma­tisch und unter­liegt keiner zusätz­lichen Auflagen. Demge­genüber müssen für die Verbreitung und Verwendung des Quell­codes Regeln einge­halten werden. Diese sind in den Lizenz­be­din­gungen festgelegt.
Damit eine Software sich Open-Source nennen kann, muss sie folgende Eigen­schaften aufweisen:

  • Legale Weiter­ver­breitung
  • Offener Quellcode
  • Integration und Modifi­kation D

Doch auch bei Open-Source-Software sind Regeln einzu­halten. Dies gilt insbe­sondere für den Bereich der Ableitung und das sogenannte Copyleft.

Copyleft

Sobald eine Software­lizenz Copyleft vorsieht, bedeutet dies, dass jeder der diese Software nutzt, die Offenheit der Software auch in der Weiter­nutzung beibehält. Dabei macht es keinen Unter­schied, ob die Software nur einge­bunden oder verändert wird.
Es gibt Lizenzen mit starkem Copyleft, wie beispiels­weise die GPL Lizenz und solche mit schwachem Copyleft, wie LGPL.
Eine weitere Gruppe sind die Lizenzen ohne Copyleft. Deren bekann­tester Vertreter ist die Apache Lizenz. Sie erlaubt grund­sätzlich eigene Software unter eigenen Lizenzen zu veröf­fent­lichen, es ist nur erfor­derlich die Apache-Lizenz beizu­legen und den anfäng­lichen Rechte­inhaber zu nennen.

Software­li­zenzen – ein Fazit

Neben der Apache gibt es weitere vollkommen freie Lizenzen. Dazu gehören insbe­sondere die BSD und die MIT-Lizenz. Alle drei Produkte sind problemlos auch im kommer­zi­ellen Bereich zu nutzen.
Etwas schwie­riger wird es bei LGPL-Software. Hier gibt es immer wieder Probleme damit, dass die eigene Software als derivativ bezeichnet wird. Dies kann kosten­in­tensive Rechts­strei­tig­keiten nach sich ziehen.
Überhaupt nicht geeignet ist GPL-lizen­zierte Software.

Die Tätigkeit des IT-Beraters zählt zu den Berufen im allge­meinen Dienst­leis­tungs­sektor und umfasst unter­schied­liche Aufga­ben­felder. Verein­facht ausge­drückt ist der IT-Berater derjenige, an den sich Personen oder Unter­nehmen wenden können, wenn sie fachlich hochwer­tigen Rat in allen Fragen rund um die Anschaffung und Unter­haltung von Computern und Software benötigen. Während es im Privat­be­reich meist ausrei­chend ist, wenn der IT-Berater über fundierte Fachkennt­nisse verfügt, ist im Business­be­reich zusätzlich Erfahrung in der Betriebs­wirt­schaft wünschens- und empfehlenswert.

Tages­ge­schäft eines IT-Beraters

Der IT-Berater sieht sich täglich neuen Aufga­ben­stel­lungen gegenüber. In den seltensten Fällen richtet er die IT von Unter­nehmen von Grund auf neu ein. Sind bereits Anlagen im Betrieb und äußert ein Kunde Verän­de­rungs­wünsche, heißt die primäre Anfor­derung, die Schwach­stellen der vorhan­denen IT aufzu­spüren und zu prüfen, ob Verbes­se­rungs­maß­nahmen den angestrebten Nutzen erzielen können. Dafür ist es unerlässlich, das Ziel technisch zu verstehen sowie Lösungs­vor­schläge innerhalb des möglichen Budgets anzubieten. Damit der IT-Berater diese Aufgabe zuver­lässig erledigen kann, ist er auf eine vertrau­ens­volle Kommu­ni­kation mit allen Betei­ligten angewiesen. Daraus resul­tiert eine gewisse Dauer der Projekte, die sich über mehrere Monate oder Jahre hinziehen kann.

Welche Kompe­tenzen muss ein IT-Berater mitbringen?

Ein guter IT-Berater benötigt somit ganz unter­schied­liche Kompe­tenzen: Ihm muss es gelingen, das Vertrauen seiner Auftrag­geber zu erwerben und sich in deren Projekte einzu­ar­beiten. Nicht selten ist er dabei behilflich, Visionen auszu­for­mu­lieren oder vollkommen neue Lösungs­an­sätze zu erarbeiten. Gelingt es, den Anfor­de­rungs­ka­talog zu definieren, sorgt der IT-Berater für die Umsetzung. Dies kann in Form einer Beratung zur Hardware-Umgebung liegen, oder aber auch in der Bereit­stellung entspre­chender Software. Dabei umschließt die Bandbreite alles von der Kaufbe­ratung bis hin zur Entwicklung neuer maßge­schnei­derte Programme in Zusam­men­arbeit mit anderen IT-Spezia­listen. Die Imple­men­tierung neuer Anwen­dungs­pro­gramme führt der IT-Berater entweder selbst durch oder begleitet sie zumindest.

Häufig geschehen diese Verän­de­rungen phasen­weise. Im Vorder­grund stehen Überle­gungen, wie mögliche Fehler­quellen optimal einzu­grenzen sind. Des Weiteren hat der IT-Berater dabei stets einen Blick auf den laufenden Betrieb. Ausfälle sind zwingend zu vermeiden. Darüber hinaus muss er den Faktor Mensch berück­sich­tigen. Ein guter IT-Berater kann das Personal, das mit der neuen Techno­logie arbeiten soll, auch profes­sionell schulen und versuchen, mögliche Berüh­rungs­ängste mit der neuen IT abzubauen. Wenn alles reibungslos läuft, ist der Auftrag für den IT-Berater auch nicht vollständig beendet, denn er steht in der Folge weiterhin für Rückfragen zur Verfügung.

Software­systeme haben sich mittler­weile in fast jeder Branche etabliert und stellen nicht selten unver­zichtbare Tools in der Berufswelt dar, die über den wirtschaft­lichen Erfolg einer Firma entscheiden können. Um diese Systeme profes­sionell nutzen und einsetzen zu können, bedarf es höchsten Standards in Sicherheit und Zuver­läs­sigkeit. Die Software muss in der Lage sein, Daten vor einem unbefugten Zugriff und, im Zuge dessen, unerlaubten Änderungen zu schützen und gleich­zeitig durch eine zuver­lässige Arbeits­weise einen reibungs­losen Geschäfts­ablauf garantieren.

Sensible Firmen­daten

Heutzutage spielt sich der Großteil beruf­licher Aktivi­täten über IT-Systeme ab. Wichtige firmen­in­terne Infor­ma­tionen werden verschlüsselt abgespei­chert, um sie vor Unbefugten zu schützen. Gerade im Bereich des Projekt­ma­nage­ments und ähnlichen Berufs­feldern lagern in den Software­sys­temen auch sehr sensible Daten und Firmen­ge­heim­nisse, die nur betriebs­intern Verwendung finden dürfen. Die Konkurrenz oder gar Außen­ste­hende dürfen in diese Daten keinerlei Einblick erhalten. Zudem dürfen personell abgespei­cherte Infor­ma­tionen ausschließlich intern genutzt werden.

Die digitale Identität ist angreifbar

Die Entwicklung von Software­sys­temen hat das Leben erleichtert, doch gleich­zeitig hat sie die digitale Identität angreifbar werden lassen. Anfangs erhoffte man sich durch den Einsatz von Passwörtern und Verschlüss­lungen einen sicheren Schutz vor einem unbefugten Zugriff auf wichtige Daten. Doch die Medien berichten stets von firmen­über­grei­fenden Software­an­griffen, wo die digital geschützten Daten missbraucht werden. Ob eine Zentralbank, Regie­rungen oder bekannte Persön­lich­keiten, profes­sio­nelle Hacker machen vor nichts und niemandem Halt. Persön­liche Daten sind plötzlich angreifbar geworden, sodass Passwörter, PIN Nummern, sensible Daten, etc. ohne großen Aufwand ausspio­niert werden können.

Einen sicheren Schutz schaffen

Damit Firmen und Privat­leute ihre sensiblen Daten vor solch einem unbefugten Angriff schützen können, bedarf es einer sicheren und profes­sio­nellen Software. Vor allem bei Unter­nehmen hängt von solch einer Software der wirtschaft­liche Erfolg ab. Deshalb sollte ausrei­chend in die Anschaffung zuver­läs­siger und sicherer Software inves­tiert werden. Nur wer mit profes­sio­neller Software arbeitet, kann seine Daten vor einem unbefugten Zugriff schützen und so zu einem wirtschaft­lichen Erfolg seines Unter­nehmens beitragen.

Derzeit besitzen sehr viele Menschen ein mobiles Gerät, das Ihnen oft viele gute Dienste erweist. Eine bekannte Marke stellt dabei Apple dar. Für alle Apple-Produkte steht der hauseigene Apple-Store zur Verfügung, der für die Geräte passende Apps anbietet. iPhone, iPad und MacBook können durch Appli­cation Software, kurz Apps, um einige nützliche Funktionen erweitert werden. Beliebte Anwen­dungs­ge­biete sind beispiels­weise Bildbe­ar­beitung, Compu­ter­spiele und Tabel­len­kal­ku­lation. Viele dieser Apps stammen von Dritt­an­bietern oder freien Program­mierern, die ihre Entwick­lungen dort veröf­fent­lichen. Der App Store bietet mittler­weile Millionen von Apps.

Zum Veröf­fent­lichen der eigenen Apps ist eine Anmeldung bei dem iOS Developer Programm erfor­derlich, was 99 US Dollar pro Jahr kostet. Nachdem eine App einge­sandt wurde, benötigt Apple durch­schnittlich 7 bis 12 Tage, um die App einer ausführ­lichen Überprüfung zu unter­ziehen. Bei kosten­losen Apps werden keine Gebühren gefordert. Bei kosten­pflich­tigen Apps fordert Apple eine Gebühr von 30%. Seit dem 1. Februar 2015 müssen neue Apps, die in den App Store hochge­laden werden, einen 64-Bit-Support beinhalten. Dies wurde nötig, da die Mobil­geräte von Apple mit einem 64-Bit-Prozessor ausge­stattet sind. Eine Abwei­chung stellt lediglich das iPhone 5C dar, das noch von einem 32-Bit-Prozessor betrieben wird. Die Korre­spondenz erfolgt auf Englisch und die einge­sandten Materialien müssen bei Bedarf in einer übersetzten engli­schen Version einge­reicht werden. Es gibt die Möglichkeit, nicht endgültige Materialien prüfen zu lassen, jedoch muss die endgültige App nochmals geprüft und bewilligt werden. Texte und Grafiken sollten für die Überprüfung in einer hohen Qualität einge­sendet werden.

Nicht jede App schafft es in den Apple Store. Manche scheitern an den Quali­täts­kri­terien und werden aussor­tiert, andere schaffen es aufgrund ihres Inhalts nicht. Freizügige Bilder können beispiels­weise ein Hindernis für die Freigabe einer App darstellen. Erotische Inhalte gelangen erst gar nicht in den App Store, ebenso wenig wie gewalt­ver­herr­li­chende Apps.

Wer eine App in den Apple Store laden möchte, sollte sich auf der jewei­ligen App Store Inter­net­seite alle nötigen Infor­ma­tionen einholen, um Fehler zu vermeiden und die App erfolg­reich zu veröffentlichen.

Unter einem Modell wird eine Darstellung verstanden, die ein komplexes Gebilde oder ein System in einer verein­fachten Weise abbildet und dabei die wesent­lichen Funktionen, Objekte und Bezie­hungen sowie die Abläufe zwischen ihnen veran­schau­licht. Software­systeme oder auch einzelne Programme bestehen aus einer Vielzahl an Anwei­sungen und Algorithmen, die sich nicht auf den ersten Blick erschließen, selbst bei einer ausführ­lichen Dokumen­tation der einzelnen Arbeits­schritte. Da an der Erstellung von großen Software­sys­temen üblicher­weise viele Program­mierer und andere Mitar­beitern arbeiten, bieten Model­lie­rungs­werk­zeuge hervor­ra­gende Hilfe­stel­lungen für den gesamten Erstel­lungs­prozess von Software, von der Planung über das Software­design bis zur Fertig­stellung und Imple­men­tierung des Software­systems. Dabei kann es sich bei den Werkzeugen um Hilfen für die Daten- und Prozess­mo­delle, zur Darstellung von Software­ar­chi­tek­tur­mo­dellen, sowie um Darstel­lungs­hilfen von Analyse- und Entwurfs­mustern handeln.

Model­lie­rungs­sprachen und Kommu­ni­ka­ti­ons­me­thoden über Software

Software-Model­lie­rungs­werk­zeuge können sich dabei z.B. zusam­men­setzen aus grafi­schen Darstel­lungen, statis­ti­schen Auswer­tungen, Methoden zur Darstellung in Fluss­dia­grammen bis hin zu definierten Kommu­ni­ka­ti­ons­struk­turen zur Beschreibung der komplexen Vorgänge in Software­sys­temen. Eine der wichtigsten und standar­di­sierten Model­lie­rungs­sprachen ist UML – Unified Modeling Language -, die Modelle mit Hilfe von grafi­schen Elementen und Ablauf­dia­grammen der Software­systeme oder einzelnen Software­teilen veran­schau­licht. Ein weiteres Werkzeug zur Model­lierung von Software­sys­temen besteht in der vom Hasso-Plattner-Institut der Univer­sität Potsdam entwor­fenen formalen Kommu­ni­ka­ti­ons­me­thodik zur Beschreibung der Software­systeme und den dazu gehörigen Abläufen: FMC – Funda­mental Modeling Concepts. Ähnlich wie in einer Fachsprache, ermög­licht das FMC die schnelle Verstän­digung über wesent­liche Sachver­halte und die genaue Beschreibung über Bestand­teile ohne Missver­ständ­nisse der an einem Projekt Betei­ligten, wie z.B. Program­mierer oder andere Mitar­beiter an dem Softwaresystem.

Mögliche Schwer­punkte für die Model­lierung von Softwaresystemen

Die Model­lierung von Software­sys­temen kann auch nach bestimmten Schwer­punkten erfolgen, je nach den Anfor­de­rungs­pro­filen vielleicht auch von Auftrags­gebern aus der Wirtschaft oder Ähnlichem. Solche Schwer­punkte können z.B. die Ermittlung der Anfor­de­rungen an neue Systeme sein. Vielleicht sollen auch bestehende Systeme weiter­ent­wi­ckelt werden. Auch in diesem Fall müssen die Anfor­de­rungen an das System spezi­fi­ziert werden. Weiterhin sollen die Model­lie­rungs­werk­zeuge die Mitarbeit verschie­dener an der Erstellung und Imple­men­tierung des Systems betei­ligter Personen bis zur fachlichen Feinkon­zeption auf möglichst anschau­liche und einfache Weise ermög­lichen. Durch die Model­lie­rungs­werk­zeuge kann auch die Wissens­basis eines Unter­nehmens aufgebaut und für die Zukunft dokumen­tiert und auch archi­viert werden. Diese Wissens­basis gewähr­leistet eine effiziente Weiter­ent­wicklung der IT- bzw. DV-Anwendungen.

Unter agiler Software­ent­wicklung versteht man gemeinhin einen häufig auftre­tenden Rückkopp­lungs­prozess, sowie ein allum­span­nendes zykli­sches Vorgehen, das sowohl die Program­mierung als auch das Management mit einschließt. Während die klassische Vorge­hens­weise das neue System bis in die letzten Einzel­heiten im Voraus plant, wechseln sich bei der agilen Software­ent­wicklung kurze Planungs- und Entwick­lungs­phasen ab. Weiter­lesen

Es ist für viele Unter­nehmen unumgänglich, indivi­duelle Software zu verwenden. Oft wird versucht, diesen Bedarf durch fertige Lösungen zu decken, doch diese können nicht an die Bedürf­nisse des Unter­nehmens angepasst werden oder es fehlt die Betreuung bei Problemen. Da jedes Unter­nehmen andere Anfor­de­rungen an seine Software stellt, wird sie für jeden Kunden eigens entwickelt Weiter­lesen

Die Entwicklung einer Software ist mit einem großen Zeit- und Geldaufwand verbunden, den es vorab zu kalku­lieren gilt, denn bei fast allen Projekten übersteigen die finalen Kosten die eigent­lichen Erwar­tungen. Grund dafür sind die fehlenden oder falschen Methoden der Unter­nehmen, die Kosten für die Software­ent­wicklung richtig zu kalku­lieren. Dabei gilt die Schätz­me­thode als die bewähr­teste, denn so kann der Entwickler innerhalb eines verein­barten Budgets planen und arbeiten. Bei solch einer Kosten­planung werden alle Leistungen mit den entspre­chenden Kosten festge­halten, die während des Projekts anfallen werden. Wo die Kosten bis dato noch nicht exakt ermittelt werden können, werden Schät­zungen veran­lasst, um so besser und schneller planen zu können. Problem an dieser Schätz­me­thode ist, dass diese immer recht ungenau ist – eben nur geschätzt. Vor allem in der Software­ent­wicklung können die Kosten häufig die Erwar­tungen übersteigen. Ist man sich bei den Schät­zungen unsicher, kann man auch auf Vergleichs­werte aus bishe­rigen internen Projekten setzen. Entweder ergeben sich diese aus Erfah­rungs­werten des eigenen Unter­nehmens oder aus anderen Angeboten, die auf Anfrage eingeholt wurden.

Sachmit­tel­aufwand in der Softwareentwicklung

Die wichtigsten Kompo­nenten, die das Software­projekt vereinen, setzen sich zum einen aus dem Sachmit­tel­aufwand zusammen. Hierzu zählen unter anderem Materialien, die vorrangig für das jeweilige Projekt, einge­kauft werden müssen, da sie direkt in dieses einge­bunden werden. Dies können neben benötigter Literatur auch Software, Werkzeuge oder andere Arbeits­mittel sein. Die Kosten für solche Arbeits­mittel lassen sich anhand von verbind­lichen Angeboten oder Auftrags­be­stä­ti­gungen erfragen und können als Grund­lagen für die Schätzung verwendet werden. Weitere Kosten, die bei einem Software­projekt anfallen, sind die internen und externen Aufwen­dungen. Je nach Branche können auch externe Spezia­listen dem Team kurzzeitig zu Rate gezogen werden und veran­schlagen neben den internen Perso­nal­kosten auch externe Kosten, die es zu begleichen gilt. Demnach gibt es eine Vielzahl von Faktoren, die es bei einer Software­ent­wicklung zu beachten gilt.