5.1 Ein bisschen Geschichte
Als in den 90er Jahren die Internet-Revolution begann, wusste niemand, wie man Internet-Dienste richtig entwickelt. Alle Features wurden sofort für die Benutzer verfügbar, was diesen Ansatz stark von der klassischen Softwareentwicklung unterschied.
Die größte Suchmaschine der damaligen Zeit, das Unternehmen Yahoo, beschloss, einen neuen Weg zu gehen und einen Ansatz aus Hollywood zu übernehmen: Ihre Manager wurden sogar Produzenten genannt :) Kein Wunder, dass dabei nichts herauskam. 🤦♂️
Yahoo – der größte Pechvogel beim Kauf anderer Unternehmen. Ihnen wurde mehrmals vorgeschlagen, Google und Facebook zu kaufen. Und am Ende wollte Microsoft sie für 40 Milliarden erwerben, aber sie lehnten wieder ab. Nach ein paar Jahren wurden sie für 3 Milliarden gekauft. In den 90ern, auf ihrem Höhepunkt, waren sie 200 Milliarden wert, und hätten sie Google gekauft, wären sie jetzt ein paar Billionen wert. Sei nicht wie Yahoo.
Seit der Internet-Revolution wurden dutzende verschiedene Methoden der Softwareentwicklung ausprobiert, und jetzt hat sich die Situation stabilisiert. Es gibt standardisierte Rollen mit standardisierten Aufgaben, standardisierte Prozesse und standardisierte Software.
Im Laufe der Ausbildung wirst du alles lernen, was du wissen musst, um in modernen IT-Unternehmen mit modernen Entwicklungsmitteln zu arbeiten.
5.2 Produktteam
Ein typisches Entwicklungsteam besteht aus:
-
Leuten, die entscheiden, welche Funktionen und Features ein Produkt haben sollte
- Product Owner
- Business Analytic
-
Entwicklern, die all das umsetzen
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
-
Leuten, die für die Qualität des Produktes verantwortlich sind
- QA Automation
- DevOps
Der Product Owner spielt eine Schlüsselrolle in der Softwareentwicklung. Er verwaltet das Produkt und stellt sicher, dass das Entwicklungsteam sich auf die wichtigsten Aufgaben konzentriert. Er definiert die Vision des Produkts, erstellt und priorisiert die Aufgabenliste (Backlog). Dies gewährleistet, dass jede Entwicklungsstufe den Geschäftszielen und Benutzeranforderungen bestmöglich entspricht.
Der UX Designer beschäftigt sich mit der Erstellung einer benutzerfreundlichen und effizienten Produktoberfläche, einschließlich der Erforschung der Benutzerbedürfnisse, der Entwicklung von Prototypen und der Testung von Interfaces. Diese Arbeit zielt darauf ab, die Interaktion des Benutzers mit dem Produkt zu verbessern, um es so verständlich und bequem wie möglich zu machen.
DevOps-Fachleute optimieren die Prozesse der Softwareentwicklung und ihres operativen Managements, um die Veröffentlichung von Produktupdates zu beschleunigen und zu vereinfachen. Ihre Arbeit umfasst die Automatisierung von Tests, Deployments und Monitoring-Systemen sowie die Konfiguration von Infrastrukturen und die Sicherstellung kontinuierlicher Integration und Auslieferung (CI/CD).
5.3 Entwicklungsteam
Die eigentliche Entwicklung wird von Programmierern durchgeführt. Sie können grob in 5 Kategorien eingeteilt werden:
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- DBA
Rollen und ihre Inhalte können je nach Teamgröße und Produktspezifikationen variieren, aber im Allgemeinen sieht es so aus:
Der Software Architect: verantwortlich für die Gestaltung komplexer Architekturen von Softwaresystemen. Ein Architect entwickelt die technische Infrastruktur, definiert die Struktur und Methoden der Interaktion verschiedener Komponenten eines Softwareprodukts und stellt deren Skalierbarkeit, Leistung und Sicherheit sicher.
Der Backend Developer: spezialisiert auf die Entwicklung des serverseitigen Teils von Anwendungen. Zu den Aufgaben eines Backend Developers gehört die Implementierung der Logik, die Integration von Datenbanken und Datenmanagementsystemen, die Bearbeitung von Benutzeranfragen und die Aufrechterhaltung der Interaktion mit dem Frontend.
Der Frontend Developer: entwickelt die Benutzeroberfläche von Webanwendungen. Diese Rolle erfordert Kenntnisse in HTML, CSS und JavaScript sowie Frameworks und Bibliotheken zur Erstellung interaktiver und reaktionsfähiger Interfaces, die eine gute Benutzerinteraktion mit dem Produkt ermöglichen.
Der Mobile Developer: beschäftigt sich mit der Entwicklung von Anwendungen für mobile Geräte. Ein Mobile Developer erstellt Anwendungen für verschiedene Betriebssysteme (z. B. iOS und Android), wobei er die Besonderheiten der Plattform, die Leistung der Geräte und die Benutzererfahrung berücksichtigt.
Der DBA (Database Administrator): verantwortlich für das Management von Datenbanken, um deren Verfügbarkeit, Sicherheit und Optimierung sicherzustellen. Ein DBA führt Aufgaben zur Konfiguration, Überwachung und Wartung von Datenbanken aus und entwickelt Strategien für das Backup und die Wiederherstellung von Daten.
GO TO FULL VERSION