5.1 Ein wenig Geschichte
Als in den 90er Jahren die Internet-Revolution gerade begann, wusste niemand, wie man Internet-Services richtig entwickelt. Alle Features wurden sofort den Nutzern zugänglich gemacht, was diesen Ansatz stark von der klassischen Softwareentwicklung unterschied.
Die größte Suchmaschine jener Zeit, die Firma Yahoo, beschloss, einen neuen Weg zu gehen und einen Hollywood-Ansatz zu übernehmen – ihre Manager wurden als Produzenten bezeichnet :) Kein Wunder, dass nichts dabei herauskam.
Das ist interessant. Yahoo ist der größte Pechvogel, wenn es um den Kauf anderer Unternehmen geht. Ihnen wurde mehrmals angeboten, sowohl Google als auch Facebook zu kaufen. Schließlich, am Ende ihrer Karriere, versuchte Microsoft, sie für 40 Milliarden zu übernehmen, aber sie lehnten erneut ab. Einige Jahre später wurden sie für nur 3 Milliarden übernommen. 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 erreichen. Sei nicht wie Yahoo.
Seit der Internet-Revolution wurden Dutzende verschiedener Methoden der Softwareentwicklung getestet, und heute hat sich die Situation stabilisiert. Es gibt standardmäßige Rollen mit standardmäßigen Aufgaben, standardmäßige Prozesse und standardmäßige Software.
Im Laufe der Ausbildung wirst du alles lernen, was du wissen musst, um in modernen IT-Unternehmen mit modernen Entwicklungsmethoden zu arbeiten.
5.2 Produktteam
Ein typisches Entwicklungsteam besteht aus:
- Leuten, die entscheiden, welche Funktionen und Features das Produkt haben soll
- Product Owner
- Business Analyst
- Leuten, die entscheiden, wie das Produkt aussehen wird
- UI Designer
- UX Designer
- Entwicklern, die alles umsetzen
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- Leuten, die für die Qualität des Produkts verantwortlich sind
- QA Automation
- DevOps
Product Owner spielt in der Softwareentwicklung eine Schlüsselrolle, indem er das Produkt verwaltet und sicherstellt, dass sich das Entwicklungsteam auf die wichtigsten Aufgaben konzentriert. Er definiert das Produktvision, erstellt und priorisiert die Aufgabenliste (Backlog), was hilft, sicherzustellen, dass jede Entwicklungsphase den Geschäfts- und Benutzeranforderungen maximal entspricht.
UX Designer ist für die Erstellung einer benutzerfreundlichen und effizienten Produktoberfläche verantwortlich. Dazu gehört die Untersuchung der Benutzerbedürfnisse, die Entwicklung von Prototypen und das Testen von Schnittstellen. Diese Arbeit zielt darauf ab, die Interaktion des Nutzers mit dem Produkt zu verbessern, um es so verständlich und komfortabel wie möglich zu gestalten.
DevOps-Spezialisten optimieren die Prozesse der Softwareentwicklung und deren operatives Management, um die Veröffentlichung von Produktaktualisierungen zu beschleunigen und zu vereinfachen. Ihre Aufgaben umfassen die Automatisierung von Tests, die Bereitstellung und Überwachung von Systemen sowie die Einrichtung der Infrastruktur und die Sicherstellung einer kontinuierlichen Integration und Lieferung (CI/CD).
5.3 Entwicklungsteam
Die eigentliche Entwicklung wird von Programmierern durchgeführt. Diese können grob in 5 Kategorien eingeteilt werden:
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- DBA
Die Rollen und ihre Inhalte können je nach Teamgröße und Produktspezifikationen variieren, aber die Situation sieht ungefähr so aus:
Software Architect: verantwortlich für die Gestaltung einer komplexen Architektur von Softwaresystemen. Der Architect entwickelt die technische Infrastruktur, bestimmt die Struktur und die Methoden der Interaktion verschiedener Komponenten des Softwareprodukts, um deren Skalierbarkeit, Performance und Sicherheit sicherzustellen.
Backend Developer: spezialisiert sich auf die Entwicklung des Serverteils von Anwendungen. Die Aufgaben des Backend Developer umfassen die Implementierung von Logik, die Integration von Datenbanken und Datenverwaltungssystemen, die Bearbeitung von Benutzeranfragen und die Sicherstellung der Interaktion mit dem Frontend-Teil.
Frontend Developer: entwickelt die Benutzeroberfläche von Webanwendungen. Diese Rolle erfordert Kenntnisse in HTML, CSS und JavaScript sowie in Frameworks und Bibliotheken zur Erstellung interaktiver und reaktionsschneller Schnittstellen, die eine gute Benutzerinteraktion mit dem Produkt sicherstellen.
Mobile Developer: ist für die Entwicklung von Anwendungen für mobile Geräte verantwortlich. Der Mobile Developer erstellt Anwendungen für verschiedene Betriebssysteme (z.B. iOS und Android) unter Berücksichtigung der Plattformbesonderheiten, Geräteleistung und Benutzererfahrung.
DBA (Database Administrator): verantwortlich für die Verwaltung von Datenbanken, um deren Verfügbarkeit, Sicherheit und Optimierung zu gewährleisten. Der 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