1. Ein wenig Geschichte
Als in den 1990er-Jahren die Internet-Revolution gerade erst begann, wusste niemand, wie man Internet-Services richtig entwickelt. Alle ihre Features wurden sofort für die Nutzer verfügbar, was diesen Ansatz stark von der klassischen Softwareentwicklung unterschied.
Die größte Suchmaschine jener Zeit, Yahoo, beschloss, einen neuen Weg zu gehen und einen Ansatz aus Hollywood zu übernehmen – sogar ihre Manager hießen „Producer“ :) Wenig überraschend ging das schief 🤷♂️
Seit der Internet-Revolution wurden Dutzende verschiedener Vorgehensweisen in der Softwareentwicklung ausprobiert, und inzwischen hat sich die Lage stabilisiert. Es gibt standardisierte Rollen mit standardisierten Aufgaben, standardisierte Prozesse und standardisierte Software.
Im Laufe des Kurses lernen Sie alles, was Sie wissen müssen, um in modernen IT-Unternehmen mit modernen Entwicklungstools zu arbeiten. 🎓
2. Produktteam
Ein typisches Entwicklungsteam besteht aus:
- Personen, die entscheiden, welche Funktionen und Features das Produkt haben soll
- Product Owner
- Business Analyst
- Personen, die entscheiden, wie das Produkt aussehen wird
- UI Designer
- UX Designer
- Entwicklern, die das Ganze umsetzen
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- Personen, die für die qualitativ hochwertige Arbeit des Produkts verantwortlich sind
- QA Automation
- DevOps
Product Owner spielt in der Softwareentwicklung eine Schlüsselrolle, indem er das Produkt managt und sicherstellt, dass sich das Entwicklungsteam auf die wichtigsten Aufgaben konzentriert. Er definiert die Produktvision, erstellt und priorisiert die Aufgabenliste (Backlog), was hilft zu garantieren, dass jede Phase der Entwicklung den Geschäftsziele und den Anforderungen der Nutzer bestmöglich entspricht.
UX Designer beschäftigt sich mit der Erstellung einer benutzerfreundlichen und effektiven Produktoberfläche, einschließlich der Erforschung von Nutzerbedürfnissen, der Entwicklung von Prototypen und dem Testen von Interfaces. Diese Arbeit zielt darauf ab, die Interaktion der Nutzer 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 des operativen Betriebs, um die Veröffentlichung von Produktupdates zu beschleunigen und zu vereinfachen. Ihre Arbeit umfasst die Automatisierung von Tests, Deployment und Monitoring der Systeme sowie das Einrichten der Infrastruktur und die Sicherstellung von Continuous Integration und Delivery (CI/CD).
3. Entwicklungsteam
Die eigentliche Entwicklung erfolgt durch Programmiererinnen und Programmierer. Man kann sie grob in fünf Kategorien einteilen:
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- Database Administrator
Rollen und ihre Ausgestaltung können je nach Teamgröße und Produktspezifik variieren, aber typischerweise sieht es so aus:
- 🏗️ Software Architect: ist für das Design komplexer Architekturen von Softwaresystemen verantwortlich. Der/die Software Architect entwirft die technische Infrastruktur, legt die Struktur und die Methoden der Interaktion verschiedener Komponenten des Softwareprodukts fest und sorgt für Skalierbarkeit, Performance und Sicherheit.
- ⚙️ Backend Developer: spezialisiert sich auf die Entwicklung der Server-Seite von Anwendungen. Zu den Aufgaben eines Backend Developers gehören die Implementierung der Logik, die Integration von Datenbanken und Datenverwaltungssystemen, die Verarbeitung von Nutzeranfragen und die Aufrechterhaltung der Interaktion mit dem Frontend.
- 🖥️ Frontend Developer: entwickelt die Benutzeroberfläche von Webanwendungen. Diese Rolle erfordert Kenntnisse in HTML, CSS und JavaScript sowie in Frameworks und Bibliotheken, um interaktive und responsive Oberflächen zu erstellen, die eine gute Interaktion der Nutzer mit dem Produkt sicherstellen.
- 📱 Mobile Developer: entwickelt Anwendungen für mobile Geräte. Der Mobile Developer erstellt Apps für verschiedene Betriebssysteme (z. B. iOS und Android) unter Berücksichtigung der Besonderheiten der Plattform, der Geräteperformance und der Nutzererfahrung.
- 🗄️ DBA (Database Administrator): ist für die Verwaltung von Datenbanken verantwortlich und stellt deren Verfügbarkeit, Sicherheit und Optimierung sicher. Der/die DBA übernimmt die Einrichtung, das Monitoring und die Wartung der Datenbanken sowie die Entwicklung von Strategien für Backup und Wiederherstellung.
GO TO FULL VERSION