CodeGym /Kurse /C# SELF /Entwicklung eines IT-Produkts

Entwicklung eines IT-Produkts

C# SELF
Level 6, Lektion 6
Verfügbar

1. Ein bisschen Geschichte

Als in den 90er Jahren die Internet-Revolution gerade anfing, wusste niemand, wie man Internet-Services richtig entwickelt. Alle Features wurden sofort für die Nutzer zugänglich gemacht, was diesen Ansatz deutlich vom klassischen Software-Development unterschied.

Der größte Suchmaschine dieser Zeit, Yahoo, entschied sich für einen neuen Weg und übernahm einen Ansatz aus Hollywood – sogar ihre Manager wurden Producer genannt :) Kein Wunder, dass das nicht so gut lief 🤷‍♂️

Das ist interessant. Yahoo war der größte Pechvogel bei Firmenübernahmen. Mehrfach wurde ihnen angeboten, Google und Facebook zu kaufen. Am Ende, im späten Stadium ihrer Karriere, versuchte Microsoft, sie für 40 Milliarden zu übernehmen, aber sie lehnten wieder ab. Einige Jahre später wurden sie für nur 3 Milliarden gekauft. In den 90er Jahren, auf dem Höhepunkt ihrer Popularität, wurde Yahoo auf 200 Milliarden Dollar geschätzt, und wenn sie Google gekauft hätten, könnte ihr Wert heute mehrere Billionen Dollar betragen. Sei kein Yahoo. 🙈

Seit der Internet-Revolution wurden Dutzende verschiedener Methoden der Software-Entwicklung getestet, und jetzt hat sich die Situation stabilisiert. Es gibt standardisierte Rollen mit standardisierten Aufgaben, standardisierte Prozesse und standardisierte Software.

Im Rahmen deiner Ausbildung lernst du alles, was du brauchst, um in modernen IT-Unternehmen mit modernen Entwicklungstools zu arbeiten. 🎓

2. Produktteam

Ein typisches Entwicklungsteam besteht aus:

  • Menschen, die entscheiden, welche Funktionen und Features das Produkt haben soll
    • Product Owner
    • Business Analyst
  • Menschen, die entscheiden, wie das Produkt aussehen wird
    • UI Designer
    • UX Designer
  • Entwickler, die alles umsetzen
    • Software Architect
    • Backend Developer
    • Frontend Developer
    • Mobile Developer
  • Menschen, die für die Qualität des Produkts sorgen
    • QA Automation
    • DevOps

IT team

Product Owner spielt eine Schlüsselrolle bei der Software-Entwicklung, indem er das Produkt verwaltet und sicherstellt, dass das Entwicklungsteam sich auf die wichtigsten Aufgaben konzentriert. Er legt die Vision des Produkts fest, erstellt und priorisiert die Aufgabenliste (backlog), um zu garantieren, dass jeder Entwicklungsschritt maximal den Geschäfts- und Nutzeranforderungen entspricht.

UX Designer beschäftigt sich mit der Gestaltung einer benutzerfreundlichen und effizienten Oberfläche des Produkts, was Nutzerforschung, Prototypenentwicklung und Usability-Tests umfasst. Ziel ist es, die Nutzerinteraktion mit dem Produkt zu verbessern und es so verständlich und bequem wie möglich zu machen.

DevOps-Spezialisten optimieren die Software-Entwicklungsprozesse und den operativen Betrieb, um die Veröffentlichung von Updates zu beschleunigen und zu vereinfachen. Ihre Arbeit umfasst Automatisierung von Tests, Deployment, Monitoring sowie Infrastruktur-Setup und die Sicherstellung von Continuous Integration und Delivery (CI/CD).

3. Entwicklungsteam

Die eigentliche Entwicklung erfolgt durch Programmierer. Man kann sie grob in 5 Kategorien einteilen:

  • Software Architect
  • Backend Developer
  • Frontend Developer
  • Mobile Developer
  • Database Administrator

Rollen und Verantwortlichkeiten können je nach Teamgröße und Produkt unterschiedlich sein, aber ungefähr sieht es so aus:

  • 🏗️ Software Architect: verantwortlich für das Design komplexer Software-Architekturen. Der Architect entwickelt die technische Infrastruktur, legt die Struktur und Interaktionsmethoden der verschiedenen Komponenten des Softwareprodukts fest, um Skalierbarkeit, Performance und Sicherheit zu gewährleisten.
  • ⚙️ Backend Developer: spezialisiert auf die Entwicklung des Server-Teils der Anwendungen. Aufgaben sind die Implementierung der Logik, Datenbankintegration, Datenmanagement, Verarbeitung von Nutzeranfragen und die Schnittstelle zum Frontend.
  • 🖥️ Frontend Developer: entwickelt die Benutzeroberfläche von Webanwendungen. Kenntnisse in HTML, CSS und JavaScript sowie Frameworks und Libraries sind notwendig, um interaktive und responsive Interfaces zu erstellen, die eine gute Nutzererfahrung bieten.
  • 📱 Mobile Developer: arbeitet an der Entwicklung von Apps für mobile Geräte. Sie erstellen Anwendungen für verschiedene Plattformen (z.B. iOS und Android), unter Berücksichtigung der Plattform-spezifischen Besonderheiten, Performance und Nutzererfahrung.
  • 🗄️ DBA (Database Administrator): kümmert sich um die Verwaltung der Datenbanken, sorgt für deren Verfügbarkeit, Sicherheit und Optimierung. Aufgaben sind Konfiguration, Monitoring, Wartung sowie Entwicklung von Backup- und Recovery-Strategien.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION