Einflussfaktoren auf Softwareprojekte

Lernfeld: Daten systemübergreifend bereitstellen

Welche Faktoren beeinflussen Softwareprojekte?

Technologische Faktoren

Die Wahl der Technologie beeinflusst maßgeblich den Verlauf eines Softwareprojekts. Stell dir vor, du entwickelst eine mobile App. Die Entscheidung, ob du native Entwicklung für iOS und Android (z.B. mit Swift/Kotlin) oder eine plattformübergreifende Lösung wie Flutter oder React Native verwendest, hat direkte Auswirkungen auf Entwicklungszeit, Kosten, Performance und Wartungsaufwand. Technologische Entscheidungen betreffen auch die Auswahl von Programmiersprachen (z.B. Python für Datenanalyse, Java für große Unternehmensanwendungen), Frameworks (z.B. Spring für Java, Django für Python), Datenbanken (z.B. relationale wie PostgreSQL oder NoSQL wie MongoDB) und Architekturen (z.B. Microservices vs. Monolith). Die Wahl einer veralteten Technologie kann zu technischer Schuld führen, die spätere Anpassungen erschwert und verteuert. Der Einsatz brandneuer, noch wenig erprobter Technologien birgt zwar Risiken (z.B. fehlende Community-Unterstützung, Kinderkrankheiten), kann aber auch entscheidende Wettbewerbsvorteile durch innovative Funktionen oder höhere Performance schaffen.

Organisatorische Faktoren

Die Art und Weise, wie ein Projekt organisiert ist, hat großen Einfluss auf dessen Erfolg. Stell dir vor, du arbeitest in einem Unternehmen, das agile Methoden wie Scrum verwendet. Die regelmäßigen Meetings (Daily Stand-ups, Sprint Reviews), kurzen Entwicklungszyklen (Sprints) und die enge Zusammenarbeit mit dem Product Owner und den Stakeholdern ermöglichen es, schnell auf Änderungen zu reagieren und die Software kontinuierlich zu verbessern. Im Gegensatz dazu kann ein streng hierarchisches Unternehmen mit langen Entscheidungswegen und starren Prozessen die Flexibilität und Geschwindigkeit eines Projekts erheblich einschränken. Die Unternehmenskultur (z.B. Offenheit für neue Ideen, Fehlerkultur), die Verfügbarkeit von Ressourcen (Budget, qualifiziertes Personal, Zeit) und die gewählte Entwicklungsmethodik (z.B. agil wie Scrum oder klassisch wie das Wasserfallmodell) prägen den organisatorischen Rahmen eines Projekts entscheidend.

Menschliche Faktoren

Die Menschen, die an einem Softwareprojekt beteiligt sind, spielen eine entscheidende Rolle für dessen Erfolg. Stell dir vor, du bist Teil eines Teams, das eine neue Software für die Lagerverwaltung entwickelt. Die Erfahrung und das Fachwissen (Know-how) der Teammitglieder in Bezug auf die gewählten Technologien und die spezifischen Anforderungen der Lagerlogistik beeinflussen maßgeblich die Qualität und Effizienz der Entwicklung. Ein erfahrenes Team kann komplexe Probleme schneller lösen und robustere Entscheidungen treffen. Gleichzeitig sind die Erwartungen der Stakeholder – also aller Personen oder Gruppen, die ein Interesse am Projekt haben – von großer Bedeutung. Diese können sehr unterschiedlich sein:

  • Endanwender:innen (z.B. die Lagermitarbeitenden) wünschen sich eine intuitive, fehlerfreie und nützliche Software, die ihre tägliche Arbeit erleichtert.
  • Fachabteilungen (z.B. die Logistikleitung) haben spezifische Anforderungen an Funktionalitäten, die ihre Arbeitsprozesse optimieren und Kennzahlen liefern.
  • Das Management achtet auf Budgeteinhaltung, Zeitplan und den strategischen Nutzen des Projekts für das Unternehmen.
  • Technische Teams (Entwickelnde, Systemadministrator:innen) fokussieren sich auf technische Machbarkeit, Wartbarkeit, Skalierbarkeit und Performance der Software.
    Ein gutes Verständnis dieser oft unterschiedlichen Bedürfnisse und eine klare, zielgruppengerechte Kommunikation sind entscheidend, um sicherzustellen, dass das Endprodukt die vielfältigen Anforderungen erfüllt und Akzeptanz findet.

Externe Faktoren

Softwareprojekte werden auch von äußeren Einflüssen geprägt. Stell dir vor, du entwickelst eine Software für einen Online-Shop. Die Einhaltung gesetzlicher Vorschriften wie der Datenschutz-Grundverordnung (DSGVO), deren Grundlagen ihr bereits kennt, ist hierbei unerlässlich und beeinflusst Designentscheidungen (z.B. Privacy by Design, Opt-in-Verfahren für Newsletter) und den Umgang mit Nutzerdaten tiefgreifend, um rechtliche Konsequenzen zu vermeiden. Gleichzeitig können Marktveränderungen, wie neue Technologien (z.B. der Aufstieg von KI-gestützten Produktempfehlungen) oder sich ändernde Kund:innenbedürfnisse (z.B. der Wunsch nach nachhaltigeren Lieferoptionen), den Projektverlauf beeinflussen. Ein plötzlicher Trend zu einer neuen Technologie oder ein neues Konkurrenzprodukt kann beispielsweise dazu führen, dass ein Projekt angepasst oder beschleunigt werden muss, um wettbewerbsfähig zu bleiben. Auch wirtschaftliche Faktoren, wie Budgetkürzungen im Unternehmen oder Änderungen in der globalen Wirtschaftslage, können den Verlauf eines Projekts maßgeblich beeinflussen.

Wie beeinflussen rechtliche Rahmenbedingungen Softwareprojekte?

Datenschutz und Sicherheit

Der Schutz personenbezogener Daten und die Sicherheit von Software sind zentrale rechtliche Anforderungen. Stell dir vor, du entwickelst eine App, die Gesundheitsdaten von Nutzer:innen verarbeitet, um individuelle Trainingspläne zu erstellen. Die Datenschutz-Grundverordnung (DSGVO) schreibt vor, dass diese sensiblen Daten sicher gespeichert, nur mit ausdrücklicher und informierter Zustimmung der Nutzer:innen verarbeitet und nur für die festgelegten Zwecke verwendet werden dürfen. Zudem müssen technische und organisatorische Maßnahmen (TOMs) getroffen werden, um die Vertraulichkeit, Integrität und Verfügbarkeit der Daten zu gewährleisten (z.B. Verschlüsselung, Zugriffskontrollen, regelmäßige Sicherheitsupdates). Neben der DSGVO spielen auch spezifische IT-Sicherheitsgesetze eine Rolle, die beispielsweise Anforderungen an die Sicherheit informationstechnischer Systeme in kritischen Infrastrukturen stellen oder Maßnahmen zur Prävention von Cyberangriffen vorschreiben. Ein Verstoß gegen diese Vorschriften kann zu hohen Geldstrafen und einem erheblichen Vertrauensverlust bei den Nutzer:innen führen.

Softwarelizenzen und Urheberrecht

Die Nutzung von Softwarekomponenten und Bibliotheken von Drittanbietenden ist an bestimmte rechtliche Bedingungen geknüpft. Stell dir vor, du verwendest eine Open-Source-Bibliothek für die grafische Darstellung von Daten in deinem Projekt. Die Lizenz dieser Bibliothek (z.B. MIT, GPL, Apache) legt fest, unter welchen Bedingungen du sie nutzen, ändern und weiterverbreiten darfst. Einige Lizenzen erlauben die uneingeschränkte kommerzielle Nutzung, andere erfordern, dass abgeleitete Werke ebenfalls unter derselben Lizenz veröffentlicht werden (Copyleft-Effekt). Ein Verstoß gegen die Lizenzbedingungen kann rechtliche Konsequenzen nach sich ziehen, bis hin zur Untersagung der Nutzung der Software. Das Urheberrecht schützt die geistige Schöpfung von Softwareentwickelnden. Es ist wichtig, die Rechte anderer zu respektieren (z.B. keine unerlaubte Code-Kopie aus anderen Projekten) und sicherzustellen, dass die eigene Software nicht gegen bestehende Urheberrechte verstößt, beispielsweise durch die Verwendung geschützter Grafiken, Musikstücke oder Texte ohne entsprechende Lizenz.

Branchenspezifische Vorschriften

Je nach Branche gibt es spezielle gesetzliche Anforderungen (Compliance-Anforderungen), die bei der Entwicklung von Software zwingend berücksichtigt werden müssen. Stell dir vor, du entwickelst eine Software für den Finanzsektor, beispielsweise eine Online-Banking-Anwendung. Hier gelten besondere Vorschriften zur Sicherheit von Transaktionen, zur Authentifizierung von Nutzer:innen (z.B. Zwei-Faktor-Authentifizierung) und zur Nachvollziehbarkeit von Finanzströmen (Audit-Trails). Die Software muss beispielsweise sicherstellen, dass alle Transaktionen lückenlos protokolliert werden und keine unbefugten Zugriffe auf Kontodaten möglich sind. In der Medizinbranche gibt es ähnliche strenge Anforderungen (z.B. durch das Medizinprodukterecht), um die Sicherheit und Wirksamkeit von Software zu gewährleisten, die in medizinischen Geräten eingesetzt wird oder zur Verwaltung von Patientendaten dient. Die Nichteinhaltung solcher branchenspezifischen Vorschriften kann nicht nur schwerwiegende rechtliche Konsequenzen haben, sondern auch die Sicherheit der Nutzer:innen gefährden oder den Marktzugang für das Softwareprodukt verhindern.

Lernziele

  • die verschiedenen Kategorien von Einflussfaktoren, die spezifisch Softwareprojekte prägen, klassifizieren, indem technische (z.B. Technologie-Stack, Komplexität), organisatorische (z.B. Entwicklungsmethodik, Unternehmenskultur), menschliche (z.B. Team-Know-how, Stakeholder-Erwartungen) und externe (z.B. Marktveränderungen, rechtliche Rahmenbedingungen) Faktoren unterschieden und deren potenzielle Auswirkungen auf den Projekterfolg dargestellt werden.
  • die spezifischen Auswirkungen rechtlicher und regulatorischer Rahmenbedingungen auf die Planung und Durchführung von Softwareprojekten interpretieren, indem über die Grundlagen der DSGVO hinaus die Relevanz von Softwarelizenzen, Urheberrecht, IT-Sicherheitsgesetzen und branchenspezifischen Compliance-Anforderungen für den Entwicklungsprozess und das Softwareprodukt analysiert wird.
  • den Einfluss unterschiedlicher Stakeholder-Gruppen und deren Erwartungen auf Softwareprojekte differenzieren, indem die spezifischen Bedürfnisse und Kommunikationsanforderungen von Endanwendern, Fachabteilungen, Management und technischen Teams analysiert und deren Auswirkungen auf Anforderungsdefinition, Designentscheidungen und Projektabnahme bewertet werden.
  • die Auswirkungen technologischer Entscheidungen und des technologischen Wandels auf Softwareprojekte interpretieren, indem die Konsequenzen der Auswahl von Programmiersprachen, Frameworks, Architekturen und Entwicklungswerkzeugen sowie der Umgang mit technischer Schuld und neuen Technologien für Projektumfang, -zeitplan, -budget und -qualität bewertet werden.

Genug gelesen? Zeit, es wirklich zu können!

Die Theorie aus diesem Artikel ist die perfekte Basis. In der asyoube Lernplattform wendest du dieses Wissen an, bekommst persönliches Feedback und bereitest dich interaktiv auf deine Ausbildung oder deine Prüfungen vor.

Für Ausbilder & Unternehmen

Möchten Sie Ihr gesamtes Team mit asyoube ausbilden? Entdecken Sie unsere B2B-Lösung mit einfacher Verwaltung, Fortschritts-Tracking für Ihre Azubis und attraktiven Team-Preisen.