Intercom-Produktprinzipien: Bauen Sie in kleinen Schritten auf, um maximalen Kundennutzen zu bieten

Größere Änderungen sind schwer zu verstehen und schwerer zu debuggen.

Bei Intercom nehmen wir komplexe Änderungen in einer Reihe kleiner, kontrollierter und leicht verständlicher Schritte vor. Kleine Änderungen sind einfacher zu erstellen und schneller zu überprüfen, sodass wir unseren Kunden schneller einen Mehrwert bieten können.

Dies ist der siebte Artikel in einer Reihe, in der unsere Produktprinzipien untersucht werden. Hier erläutert Aidan unser Konstruktionsprinzip „Build in Small Steps“.

Niemand ist immer erfolgreich

Fehler passieren in jedem Team, in jedem Unternehmen auf der Welt. Sobald Sie akzeptieren, dass Sie nicht alles richtig machen, haben Sie zwei Möglichkeiten:

Versuchen Sie, Fehler vor dem Versand zu beheben, indem Sie Schritte unternehmen, um Ihre Arbeit zu validieren oder zu verifizieren. Geben Sie sich Raum, um Fehler zu machen, lernen Sie aus den Fehlern und passen Sie sich schnell an, um sie zu korrigieren.

Wenn Sie bereits Wochen in eine Änderung versunken sind, können Sie oft weniger Fehler machen. Dies kann dazu führen, dass Sie sich auf die Validierung verlassen, um Überraschungen beim Versand Ihrer Änderung zu vermeiden. Validierung hat ihren Platz, aber sie ist ein schlechter Ersatz dafür, etwas Reales einzusetzen. Je mehr Validierung Sie vor dem Versand durchführen müssen, desto länger dauert es, bis Sie iterieren oder zum nächsten Feature übergehen können – das verlangsamt Sie letztendlich.

Beim Versand einer Modifikation versuchen wir Folgendes zu überprüfen:

Die Anzahl der betroffenen Variablen: Je mehr Variablen während einer Änderung betroffen sind, desto schwieriger ist es festzustellen, welcher Teil der Änderung das Problem verursacht hat. Indem wir die Größe jedes Schritts reduzieren, straffen wir die Feedback-Schleife und bereiten uns darauf vor, bei Bedarf viel schneller zu lernen und uns anzupassen. Schichtgröße: Indem wir die Größe unserer Schichten reduzieren, reduzieren wir auch den Explosionsradius jeder Schicht. Es ist wichtig, die Änderungen zu testen, aber das anfängliche Commit wird nicht viel erkennen. Kleinere Änderungen ermöglichen es uns, unsere Aufmerksamkeit darauf zu richten, Ihr Ziel schrittweise zu erreichen, und müssen uns nicht zu viele Gedanken darüber machen, jede Änderung perfekt zu machen. Welche Kunden erleben die Änderung: Wir verlassen uns auf Funktionsmetriken, um Änderungen in der Produktion zu validieren und sie schrittweise für Kunden freizugeben.

Wir sind nicht sicher, ob die Funktion das Problem eines Kunden lösen wird, bis er es in die Hände bekommt. Diese Verpflichtung zum Versand kleiner Iterationen knüpft schnell an ein weiteres Intercom-Prinzip an: Versand zum Lernen.

Komplexität managen

Bauen in komplexen Systemen ist eine Herausforderung. Wenn bei größeren Änderungen Fehler auftreten oder aufgeblähte Funktionen das Ziel verfehlen, ist es schwierig, das spezifische Problem zu lokalisieren. Kleine Schritte erleichtern die Festlegung, Änderung und Weiterentwicklung in dem Wissen, dass Sie auf festem Boden aufbauen.

Große Änderungen umfassen viele Annahmen:

Externe Annahmen über die Auswirkungen Ihrer Änderung auf die Arbeitsabläufe Ihrer Kunden. Interne Annahmen darüber, wie verschiedene Teile Ihrer Änderung interagieren und voneinander abhängen.

Obwohl Sie Ihr Bestes tun können, um externe Annahmen zu überprüfen, ist es oft schneller und zuverlässiger, Ihre Änderung zu übermitteln und zu bestätigen oder anzupassen. Interne Annahmen sind der Ort, an dem sich Komplexität einschleichen kann. Wenn Ihre Änderung groß genug wird, um mehrere Bausteine ​​zu umfassen, die alle voneinander abhängen, kann es riskant sein, sie zusammen zu testen. Es ist viel sicherer, sie schrittweise freizugeben, aufeinander aufzubauen und die Auswirkungen zu überwachen, während Sie fortfahren.

Anhaltende Geschwindigkeit baut Schwung auf

Geschwindigkeit ist großartig, aber dauerhafte, zuverlässige Geschwindigkeit ist ein Wendepunkt. Das Versenden einer großen Änderung bedeutet eine viel höhere Erfolgswahrscheinlichkeit und ein höheres Überraschungsrisiko im Vergleich zu einer Reihe kleiner, schneller Iterationen.

"Ein enger Kreislauf aus kleinen Änderungen, Lernen und Wiederholungen erzeugt eine starke Dynamik"

Ein enger Kreislauf aus kleinen Änderungen, Lernen und Wiederholungen erzeugt eine starke Dynamik. Es beseitigt die Notwendigkeit, gleich beim ersten Mal Recht zu haben, fördert eine schnellere Entscheidungsfindung und verringert den Explosionsradius von Fehlern. Darüber hinaus bedeutet die Arbeitsteilung in kleinere Einheiten, dass Ingenieure parallel Fortschritte machen können, sodass das Team als Ganzes schneller vorankommen kann.

Bauen in kleinen Schritten erfordert eine gute Teamkultur

Bauen in kleinen Schritten geschieht nicht zufällig, sondern erfordert eine bewusste Absicht und das richtige Umfeld. Unsere Teamkultur und unser Infrastruktur-Stack spielen eine entscheidende Rolle für unsere Fähigkeit, kleine Änderungen schnell vorzunehmen.

Sobald die Teams verstehen, wie wichtig es ist, kleine Änderungen schnell vorzunehmen, werden Peer-Reviews priorisiert und schneller abgeschlossen. Da kleine Änderungen leichter zu verstehen und zu überprüfen sind, besteht eine höhere Wahrscheinlichkeit, dass Fehler gefunden werden ...

Intercom-Produktprinzipien: Bauen Sie in kleinen Schritten auf, um maximalen Kundennutzen zu bieten

Größere Änderungen sind schwer zu verstehen und schwerer zu debuggen.

Bei Intercom nehmen wir komplexe Änderungen in einer Reihe kleiner, kontrollierter und leicht verständlicher Schritte vor. Kleine Änderungen sind einfacher zu erstellen und schneller zu überprüfen, sodass wir unseren Kunden schneller einen Mehrwert bieten können.

Dies ist der siebte Artikel in einer Reihe, in der unsere Produktprinzipien untersucht werden. Hier erläutert Aidan unser Konstruktionsprinzip „Build in Small Steps“.

Niemand ist immer erfolgreich

Fehler passieren in jedem Team, in jedem Unternehmen auf der Welt. Sobald Sie akzeptieren, dass Sie nicht alles richtig machen, haben Sie zwei Möglichkeiten:

Versuchen Sie, Fehler vor dem Versand zu beheben, indem Sie Schritte unternehmen, um Ihre Arbeit zu validieren oder zu verifizieren. Geben Sie sich Raum, um Fehler zu machen, lernen Sie aus den Fehlern und passen Sie sich schnell an, um sie zu korrigieren.

Wenn Sie bereits Wochen in eine Änderung versunken sind, können Sie oft weniger Fehler machen. Dies kann dazu führen, dass Sie sich auf die Validierung verlassen, um Überraschungen beim Versand Ihrer Änderung zu vermeiden. Validierung hat ihren Platz, aber sie ist ein schlechter Ersatz dafür, etwas Reales einzusetzen. Je mehr Validierung Sie vor dem Versand durchführen müssen, desto länger dauert es, bis Sie iterieren oder zum nächsten Feature übergehen können – das verlangsamt Sie letztendlich.

Beim Versand einer Modifikation versuchen wir Folgendes zu überprüfen:

Die Anzahl der betroffenen Variablen: Je mehr Variablen während einer Änderung betroffen sind, desto schwieriger ist es festzustellen, welcher Teil der Änderung das Problem verursacht hat. Indem wir die Größe jedes Schritts reduzieren, straffen wir die Feedback-Schleife und bereiten uns darauf vor, bei Bedarf viel schneller zu lernen und uns anzupassen. Schichtgröße: Indem wir die Größe unserer Schichten reduzieren, reduzieren wir auch den Explosionsradius jeder Schicht. Es ist wichtig, die Änderungen zu testen, aber das anfängliche Commit wird nicht viel erkennen. Kleinere Änderungen ermöglichen es uns, unsere Aufmerksamkeit darauf zu richten, Ihr Ziel schrittweise zu erreichen, und müssen uns nicht zu viele Gedanken darüber machen, jede Änderung perfekt zu machen. Welche Kunden erleben die Änderung: Wir verlassen uns auf Funktionsmetriken, um Änderungen in der Produktion zu validieren und sie schrittweise für Kunden freizugeben.

Wir sind nicht sicher, ob die Funktion das Problem eines Kunden lösen wird, bis er es in die Hände bekommt. Diese Verpflichtung zum Versand kleiner Iterationen knüpft schnell an ein weiteres Intercom-Prinzip an: Versand zum Lernen.

Komplexität managen

Bauen in komplexen Systemen ist eine Herausforderung. Wenn bei größeren Änderungen Fehler auftreten oder aufgeblähte Funktionen das Ziel verfehlen, ist es schwierig, das spezifische Problem zu lokalisieren. Kleine Schritte erleichtern die Festlegung, Änderung und Weiterentwicklung in dem Wissen, dass Sie auf festem Boden aufbauen.

Große Änderungen umfassen viele Annahmen:

Externe Annahmen über die Auswirkungen Ihrer Änderung auf die Arbeitsabläufe Ihrer Kunden. Interne Annahmen darüber, wie verschiedene Teile Ihrer Änderung interagieren und voneinander abhängen.

Obwohl Sie Ihr Bestes tun können, um externe Annahmen zu überprüfen, ist es oft schneller und zuverlässiger, Ihre Änderung zu übermitteln und zu bestätigen oder anzupassen. Interne Annahmen sind der Ort, an dem sich Komplexität einschleichen kann. Wenn Ihre Änderung groß genug wird, um mehrere Bausteine ​​zu umfassen, die alle voneinander abhängen, kann es riskant sein, sie zusammen zu testen. Es ist viel sicherer, sie schrittweise freizugeben, aufeinander aufzubauen und die Auswirkungen zu überwachen, während Sie fortfahren.

Anhaltende Geschwindigkeit baut Schwung auf

Geschwindigkeit ist großartig, aber dauerhafte, zuverlässige Geschwindigkeit ist ein Wendepunkt. Das Versenden einer großen Änderung bedeutet eine viel höhere Erfolgswahrscheinlichkeit und ein höheres Überraschungsrisiko im Vergleich zu einer Reihe kleiner, schneller Iterationen.

"Ein enger Kreislauf aus kleinen Änderungen, Lernen und Wiederholungen erzeugt eine starke Dynamik"

Ein enger Kreislauf aus kleinen Änderungen, Lernen und Wiederholungen erzeugt eine starke Dynamik. Es beseitigt die Notwendigkeit, gleich beim ersten Mal Recht zu haben, fördert eine schnellere Entscheidungsfindung und verringert den Explosionsradius von Fehlern. Darüber hinaus bedeutet die Arbeitsteilung in kleinere Einheiten, dass Ingenieure parallel Fortschritte machen können, sodass das Team als Ganzes schneller vorankommen kann.

Bauen in kleinen Schritten erfordert eine gute Teamkultur

Bauen in kleinen Schritten geschieht nicht zufällig, sondern erfordert eine bewusste Absicht und das richtige Umfeld. Unsere Teamkultur und unser Infrastruktur-Stack spielen eine entscheidende Rolle für unsere Fähigkeit, kleine Änderungen schnell vorzunehmen.

Sobald die Teams verstehen, wie wichtig es ist, kleine Änderungen schnell vorzunehmen, werden Peer-Reviews priorisiert und schneller abgeschlossen. Da kleine Änderungen leichter zu verstehen und zu überprüfen sind, besteht eine höhere Wahrscheinlichkeit, dass Fehler gefunden werden ...

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow