Es ist besser, den eigenen Code zu besitzen
Die Rolle des Softwareentwicklers hat sich seit den Anfängen der Softwareerstellung enorm verändert. In den letzten Jahren hat sich dieser Wandel dramatisch beschleunigt, wobei die Rolle des Entwicklers über das Erstellen und Ausführen von Code in lokalen Umgebungen hinausgeht.
In der heutigen Welt ist der Entwickler oft:
- Ideenfindung mit Kollegen aus verschiedenen Abteilungen
- Konzipieren und Erstellen von Software
- Entwerfen von Unit-, Funktions-, Integrations-, Belastungs- und anderen Tests
- Sicherung ihrer Software und Anwendungen
- Bereitstellung in verteilten Umgebungen
- Wartung der gerade erstellten Software in freier Wildbahn
- Bereitschaft zur Unterstützung ihrer Software und Anwendungen
So machen wir es bei PagerDuty. Ich kann Ihnen aus meiner persönlichen Erfahrung hier und in der Vergangenheit sagen, dass Ihre Erfolgschancen steigen, wenn jeder Entwickler befähigt, unterstützt und ermutigt wird, den gesamten Lebenszyklus seines Codes selbst zu verwalten. Dieser Erfolg erstreckt sich auf die Kundenzufriedenheit, den vom Unternehmen realisierten Wert, die Produktqualität und, was am wichtigsten ist: Ihr Entwickler, der direkt mit Ihrem Kunden zusammenarbeitet, ist produktiv und zufrieden.
Verteilung des operativen Eigentums: Unser Weg
Als ich vor fast zwei Jahren bei PagerDuty anfing, befanden wir uns mitten in einem Übergangsprozess. Wir begannen damit, agiler und flexibler zu arbeiten. Wir hatten auch eine klare Trennung zwischen entwicklungsbezogener und betriebsbezogener Arbeit. Obwohl wir mit einer DevOps-Mentalität arbeiteten, spiegelten unsere Rollen und Verantwortlichkeiten dies nicht so genau wider, wie wir es wollten. Bedenken Sie, dass wir in diesem Zeitraum von zwei Jahren die Größe unserer Produktentwicklungsorganisation fast verdreifacht haben. Mehr Leute bedeuten normalerweise mehr Probleme, aber nicht in unserem Fall.
Anfang 2016 haben wir uns verpflichtet, die operative Verantwortung an alle Entwickler im Unternehmen zu übertragen. Wir haben in Wissensaustausch, Tools, Infrastruktur und mehr Automatisierung investiert, um jedem Entwickler die Verantwortung für seinen Code übertragen von der Idee über die Auslieferung bis hin Verwalten Ihres Codes in der freien Natur mit Kunden.
Wir waren davon überzeugt, dass die Integration von Entwicklungs- und Betriebsarbeit sowie die Gewährung von mehr Kontrolle und Verantwortung für den Entwickler die Markteinführungszeit, die Innovation und die Qualität verbessern würden. Und das war auch der Fall. Wir haben Folgendes gesehen: beim Vergleich von 2016 mit 2015 :
- 45 % mehr Änderungen in der Produktion
- 25 % weniger schwerwiegende Vorfälle mit Auswirkungen auf Kunden
- 50 % Reduzierung der mittleren Zeit bis zur Lösung (MTTR) bei schwerwiegenden Vorfällen
- Weniger silobasierte Wissenszentren
- Die Teams waren besser darauf vorbereitet, produkt- und technologieübergreifend zu liefern
Was wir über die Verteilung der operativen Verantwortung für die Arbeit auf alle Entwickler gelernt haben, ist, dass jeder Entwickler in einer besseren Position ist, um für das Unternehmen zu liefern. Entwickler haben bessere Tools, mehr Wissen und mehr Möglichkeiten, die Änderungen herbeizuführen, die für eine kontinuierliche Verbesserung in allen Dimensionen erforderlich sind.
Verantwortung für wichtige Ergebnisse übernehmen
Technologieteams in allen Unternehmen werden aufgefordert, alles, was sie für das Unternehmen tun, zu beschleunigen, und das Unternehmen benötigt schnellere Lieferzyklen, um wettbewerbsfähig und erfolgreich zu sein. Entwickler sind am erfolgreichsten, wenn sie die Befugnisse haben und für die Ergebnisse verantwortlich sind, die wichtig sind. Mit Fortschritten bei der Werkzeugausstattung, beim Cloud-Computing und zahlreichen Plattformen, die all dies ermöglichen, kommen Entwickler natürlich immer näher an den Endbenutzer und die Kundenerfahrung heran. Man könnte sogar sagen, dass Entwickler die wahren Eigentümer des Enderlebnisses sind und sich in der besten Position befinden, um Veränderungen herbeizuführen. All das sind großartige Neuigkeiten für Entwickler auf der ganzen Welt.
Da die Komplexität mit den Mitteln zunimmt, die Teams nutzen, um großartige Software zu entwerfen, zu erstellen und bereitzustellen, ist es wichtig, die Zuständigkeiten zu vereinfachen und zu klären. Manche ziehen es vielleicht vor, andere Entwickler als Frontline-Team zu haben, die einen Großteil des Lärms für sie erledigen. Ich würde es vorziehen, wenn Energie und Anstrengungen darauf verwendet werden, den Entwicklern in allen Teams zu helfen, und zwar durch Automatisierung, optimierte Prozesse, Tools und Best Practices. Auf diese Weise können Sie weitaus mehr aus Ihrer Organisation herausholen. Unnötige Komplexität und manuelle Übergaben stehen dem Fortschritt und der kontinuierlichen Verbesserung nur im Weg.
Bei PagerDuty wissen wir, dass, wenn Entwickler besitzen ihren Code und werden umfassend dabei unterstützt, ihre Arbeit bestmöglich zu erledigen. Alle gewinnen.