Sind Patches ein schlechtes Zeichen für den Kunden? [geschlossen]

14

Im Büro haben wir gerade eine lange Zeit hinter uns, in der wir zu häufig Patches veröffentlicht haben. Gegen Ende dieses Zeitraums machten wir durchschnittlich fast drei Patches pro Woche.

Abgesehen davon, dass dies für die Entwickler sehr demotivierend war, fragte ich mich, was der Kunde darüber denken würde. Ich stellte die Frage selbst und kam zu dem Schluss, dass ich keine Software kannte, die so häufig aktualisiert wurde. Für den Fall, der am nächsten kommt, ist es mir allerdings egal, da die Patches ziemlich schnell angewendet werden.

Die Kunden, die diese Patches erhalten haben, sind sehr unterschiedlich. Einige warteten wirklich auf den Patch, andere kümmerten sich nicht wirklich darum, aber sie bekamen alle die gleichen Patches. Die Zeit zum Aktualisieren der Kundensoftware beträgt weniger als 30 Sekunden, daher erwarte ich keine zeitlichen Probleme. Sie müssen jedoch abgemeldet sein.

Also meine Frage im Detail: Erhalten Updates häufig eine "negative" Nachricht an den Empfänger?

Natürlich könnte ich die Kunden fragen, aber ich bin weder in dieser Position noch möchte ich die schlafenden Hunde wecken.

PS: Wenn ich irgendetwas tun könnte, um meine Frage zu verbessern, hinterlasse bitte einen Kommentar.

Mixxiphoid
quelle
@Downvoter, willst du das erklären?
Mixxiphoid
6
Wenn Sie sich Sorgen um die Wahrnehmung Ihrer Kunden machen, beschreiben Sie sie möglicherweise eher als "Updates" als als "Patches"? :)
Chris Taylor
Dies ist zwar keine direkte Antwort, aber wenn Sie die Patch-Bereitstellung so unauffällig und automatisch wie möglich gestalten können (z. B. Aktualisierungen im Hintergrund herunterladen, einen Aktualisierungsdienst ausführen lassen, der im Leerlauf ausgeführt wird), können Sie die Ängste der Endbenutzer dadurch lindern, dass Sie dies nicht tun die Aktualisierungen offensichtlich machen. Beispiel: Wie viele Google Chrome-Updates haben Sie im letzten Monat erhalten? (Antwort: viele ) Sie könnten 5 Patches für Chrome pro Tag veröffentlichen, und niemand würde eine Augenbraue hochziehen. Automatische Windows-Updates (sofern aktiviert) sind ein weiteres Beispiel.
Jason C
"Die Zeit zum Aktualisieren der Kundensoftware beträgt weniger als 30 Sekunden, daher erwarte ich keine zeitlichen Probleme. Sie müssen jedoch abgemeldet werden." Was ist mit dem Kunden, der den Patch selbst testet? Ich weiß nicht, mit welcher Art von Software Sie arbeiten, aber wenn sie für irgendjemanden von entscheidender Bedeutung ist, sollten sie ein Update testen, bevor sie es in einer Produktionsumgebung verwenden. Während die Installation des Patches schnell und einfach sein mag, wird das Testen vom Kunden viel Zeit und Mühe in Anspruch nehmen.
ein Lebenslauf vom
@ MichaelKjörling Das Problem ist, dass in dieser Zeit missionskritische Funktionen fehlgeschlagen sind, sodass es eigentlich egal ist, ob die Produktionsumgebung oder die Testumgebung zuerst aktualisiert wurde. Es musste nur so schnell wie möglich funktionieren.
Mixxiphoid

Antworten:

24

Wie bei vielen Dingen im Computer kommt es darauf an. Wenn die Patches eine Antwort auf Kundenanfragen nach neuen Funktionen oder Verbesserungen sind, wird Ihr Unternehmen als reaktionsschnell angesehen. Wenn Ihre Patches andererseits eine Antwort auf Fehlerberichte sind, wird Ihr Unternehmen als inkompetent eingestuft.

Bildbeschreibung hier eingeben

Das Testen von Software auf Ihren Kunden ist bei weitem die teuerste Möglichkeit, Fehler zu erkennen, ganz gleich, was jemand sagt. Es ist eine falsche Wirtschaft; Die freie Arbeit, von der Sie glauben, dass Sie sie erhalten, wird mehr als wettgemacht durch Kundendienstleistungen, die den Lebenszyklus der Softwareentwicklung unterbrechen und das Vertrauen der Kunden verlieren.

Robert Harvey
quelle
3
Vielleicht sollte dies eine andere Frage sein, aber trotzdem: Wir wussten, dass wir über unsere Kunden testen, konnten dies aber zu diesem Zeitpunkt nicht aufhalten, wir waren in einem Kreislauf gefangen. Was könnten wir tun, um auszusteigen?
Mixxiphoid
3
Robert, ich habe dieses Diagramm schon oft gesehen. Es war wahrscheinlich richtig, als die Softwareentwicklung einem reinen Wasserfallmodell folgte, aber da Software in kleinen Zyklen entwickelt und bereitgestellt werden kann, wurde es immer falscher. Um genau zu sein - für eine kleine Anzahl von Bugs und Software ist die Tendenz immer noch wahr, für viele Bugs ist es definitiv falsch.
Doc Brown
2
@DocBrown: Das Diagramm ist immer noch korrekt. Kürzere Entwicklungszyklen bedeuten geringere Kosten pro Zyklus, was mit der Grafik übereinstimmt. Dies bedeutet jedoch nicht, dass Sie Ihre Software bei Ihren Kunden testen sollten, es sei denn, Sie sind sich einig, dass dies Teil des Prozesses ist.
Robert Harvey
Nun, die Kosten für Defekte sinken, je früher der Fehler gefunden und behoben wird. Und die Wahrscheinlichkeit, dass ein Fehler gefunden wird, steigt dramatisch, je früher Sie Ihre Software herausbringen. Das heißt natürlich nicht, dass man nicht getestete Software in die Produktion bringen sollte. Ich empfehle zum Beispiel diesen Artikel agileelements.wordpress.com/2008/04/22/cost-of-software-defects
Doc Brown
1
Es genügt ein wenig Selbstreflexion, um zu sehen, dass das Prinzip selbst solide ist, auch wenn die Zahlen oder die Form der Kurve nur wilde Vermutungen sind. In der Programmiersprache haben wir sogar einen Namen dafür: Fail Fast.
Robert Harvey
10

Ich habe das Gefühl, dass die Veröffentlichung mehrerer Patches in unmittelbarer Nähe das Unternehmen schlecht widerspiegelt. Ich habe immer das Gefühl, dass sie im Vorfeld nicht gründlich genug getestet haben, dass die Entwickler inkompetent sind oder das Management keine Ahnung hat, was sie tun.

Die andere Seite des Tokens ist jedoch, dass die Freigabe mehrerer Patches in unmittelbarer Nähe zeigt, dass das Unternehmen einen proaktiven Ansatz für sein Produkt verfolgt und sein Produkt für den Verbraucher weiter verbessert.

Ich bin eher geneigt zu glauben, dass Ersteres die Art und Weise ist, wie die meisten es vom Standpunkt eines Verbrauchers aus betrachten, aber direkt mit ihnen zu sprechen wird (offensichtlich) die beste Wahl sein, wird aber auch das Problem innerhalb des Kundenstamms aufwerfen, das sie möglicherweise haben zunächst nicht gewusst haben.

Jack
quelle
Unter dem Strich sollten wir also versuchen, nur diejenigen Kunden zu patchen, die es wirklich brauchen, und die anderen in einem späteren Moment, um unser Image zu verbessern?
Mixxiphoid
5
Das Patchen für einzelne Kunden scheint ein Problem zu sein, insbesondere wenn es einen großen Kundenstamm gibt. Das regelmäßige Bereitstellen von Patches (monatlich, zweimonatlich usw.) und das Bewerben der Patches bei den Kunden kann ein guter Weg sein, um das Interesse an den nächsten Schritten Ihres Produkts zu wecken und die Probleme zu beheben die werden ausgebügelt. Natürlich ist eine ordnungsgemäße Dokumentation und Benachrichtigung von entscheidender Bedeutung, um dem Endbenutzer mit Patchnotizen zu kommunizieren.
Jack
Das klärt für mich sehr viel. Wir sollten uns anscheinend etwas Mühe geben, um unser Image mit unseren Patches zu verbessern. Bis jetzt war ich überzeugt, dass das nicht möglich war. Sah Flecken immer als notwendiges Übel an.
Mixxiphoid
hängt davon ab, wann auch im Release-Zyklus. Wenn Patches in den ersten Tagen nach der Veröffentlichung nahe beieinander liegen, entsteht ein anderer Eindruck als wenn sie einige Monate später (noch) nahe beieinander liegen.
13.
7

Immer mehr Unternehmen treten in die Fußstapfen von Chrome und haben immer häufiger Kundenfreigaben.

Voraussetzung für die Implementierung kurzer Release-Zyklen ist ein problemloses Upgrade. In Chrome erfolgt das Upgrade beispielsweise ohne Benutzereingriff beim Start der Anwendung. Wenn der Benutzer seine Anwendung immer aktiviert lässt, erhält er eine untergeordnete Markierung Er wird angewiesen, die Anwendung zu einem geeigneten Zeitpunkt neu zu starten, und die Anwendung unternimmt dann den Versuch, ihn nach dem Neustart in den vorherigen Zustand zurückzusetzen.

Diese Methode macht den Kunden glücklich, da er nicht über jedes Update Bescheid wissen muss. Da Feature-Releases häufig erscheinen, sind Bugfix-Releases ebenso willkommen.

Wenn auf der anderen Seite Patches nach auffälligen Show-Stopper-Bugs auftreten und diese in Clustern vorliegen, da die früheren Bugs den Bug nicht behoben oder einen größeren Bug erzeugt haben, können Sie sicher sein, dass Ihre Kunden ihn riechen werden. Dies wird auf jeden Fall den professionellen Ruf des Anbieters schlecht widerspiegeln und die vom Anbieter wahrgenommenen Softwarestandards senken. Die kontinuierliche Lieferung basiert in hohem Maße auf effektiven Unit-Tests und Integrationstests, um den Erfolg zu gewährleisten.

Ich halte es für eine falsche Strategie, nicht mit Ihren Kunden darüber zu sprechen, dass sie „schlafende Hunde lügen lassen“. Kunden sind nicht blind und keine Dummköpfe. Ich glaube, dass eine gute Kommunikation mit Ihren Kunden ihnen nur versichern kann, dass sie Ihre Priorität haben und dass Sie für ihre Kritik empfänglich sind. Wenn Sie ein paar Mal schlechte Veröffentlichungen geliefert haben und Sie nicht hören, wie sie sich beschweren - Sie sollten sich auf jeden Fall Sorgen machen -, ist es nicht so, dass sie es nicht bemerkt haben, sondern eher, dass sie damit beschäftigt sind, einen Ersatz für Sie zu finden ...

Uri Agassi
quelle
2
+1, als häufiger Kunde von Software möchte ich, dass die Jungs regelmäßig aktualisiert werden und sie auf gute Weise bereitgestellt werden. Produkte, die stagnieren, sind hier die echte rote Fahne - zumindest bedeutet dies, dass der Anbieter nicht in das Produkt investiert. Oder investieren Sie in vNEXT, für das Sie erneut bezahlen müssen.
Wyatt Barnett
Ich verstehe aus Ihrem letzten Absatz, dass wir in unserer Kommunikation gegenüber dem Kunden immer ehrlich und transparent sein sollten. Gibt es Situationen, in denen wir den Kunden (noch) nicht über bestimmte Dinge informieren sollten?
Mixxiphoid
1
Ehrlich mit dem Kunden umzugehen, bedeutet natürlich nicht, die Leitung offen zu halten, während Sie eine Panikbesprechung einberufen, um eine gerade gefundene Katastrophe zu mildern. Sie sollten die Informationen kommunizieren, nachdem Sie die Situation beurteilt haben, eine Strategie zur Behebung haben und ehrlich sagen können, dass alles unter Kontrolle ist. Vielleicht finden Sie sich die Wahrheit zu verschönern , aber regelrechte Lügen haben eine Art, Sie später
Uri Agassi
2

Patches speziell für Kunden, die ein Problem festgestellt haben, müssen offensichtlich so schnell wie möglich gelöscht werden.

Ich habe gesehen, dass Software in großen Unternehmen den Ansatz verfolgt, dass andere Kunden diese Patches in regelmäßigen Abständen als Service Pack erhalten. Normalerweise ist die Installation und der Test der Patches in der Kundenumgebung aufwändig, in Ihrem Fall kann dies jedoch nur dazu verwendet werden, die möglichen Auswirkungen des von Ihnen befürchteten Effekts zu verringern.

Ich habe auch Leute gesehen, die befürworten, Patches in Repositories oder auf Websites abzulegen, auf denen Kunden die gewünschten Patches herunterladen und installieren können. Dies kann zu Problemen führen, wenn Sie wissen, über welche Patches welche Kunden verfügen. Wenn Sie also ein Problem melden, müssen Sie genau bestimmen, welchen Code sie ausführen, aber mit Sorgfalt, die nachverfolgt werden kann. Sie können die Benutzer dann zwingen, ein Upgrade auf eines der größeren "Pakete" durchzuführen, wenn eines veröffentlicht wird, das viele Patches enthält.

Ausnahme sind Sicherheitspatches. Es ist bekannt, dass ein großes in Washington ansässiges Softwareunternehmen auf den dritten Donnerstag im Monat wartet, bevor es kritische Sicherheitspatches veröffentlicht. Informationen über den Hack sind herausgekommen und haben ihre Hand frühzeitig zu noch größerer Verlegenheit gezwungen.

Google Chrome umgeht das Problem, indem es sehr häufig automatisch aktualisiert. Außerdem müssen Sie das Programm neu starten (Chrome neu starten oder sich in Ihrem Fall abmelden). Sie haben jetzt die normale Praxis für Browser gemacht und die Leute denken nicht einmal mehr darüber nach. Aber nicht jeder kann Google sein.

SaaS-Anwendungen umgehen das gesamte Problem, indem sie die Updates im Hintergrund durchführen.

Vor allem aber, wenn Sie nicht sehr häufig eine kontinuierliche Integration oder Aktualisierung mit neuen, vom Benutzer angeforderten Funktionen durchführen, befinden Sie sich meines Erachtens immer noch in einer Zeit, in der von Ihnen erwartet wird, dass Sie vor der Veröffentlichung eine angemessene Menge an Tests durchgeführt haben. Wenn es Ihnen peinlich wäre, Ihre Kunden zu treffen und über die Häufigkeit von Fehlerkorrekturen zu sprechen, führen Sie wahrscheinlich nicht genügend Tests durch. Haben Sie freigegeben, wie viel Risiko Sie eingegangen sind, bevor Sie den Code freigegeben haben? Es gibt ein Argument dafür, sehr frühen Buggy-Code zu veröffentlichen, solange Sie wissen, dass dies der Fall ist, aber ich denke, Sie müssen ein gutes Verständnis für Ihre bekannte Qualität haben, was bedeutet, dass Sie Ihre Zeit verstehen und unter Kontrolle halten, um die Qualität zu kennen.

Encaitar
quelle
+1, das ist der entscheidende Punkt - je schneller Sie einen Fehler beheben (und bereitstellen) können, desto besser - solange der Benutzer / Kunde keine zusätzlichen Anstrengungen mit der Bereitstellung hat. Wenn der Kunde manuell bereitstellen muss oder Aktualisierungen nur seinen Workflow unterbrechen, ist es wichtig, die richtige Häufigkeit für Bereitstellungen zu finden. Websites wie Facebook werden mehrere Patches pro Tag bereitstellen und die meisten Leute werden es nicht einmal bemerken.
Doc Brown
Ich denke, wir haben Glück in dieser Hinsicht. Unsere Updates kosten uns (neben dem Stress und der Programmierung und allem) nur 1 oder 2 Stunden. Es kostet den Kunden 1 Minute, wieder an die Arbeit zu gehen. Ich werde auf den Service Pack-Ansatz eingehen. Dies kann sich in der Tat als nützlich erweisen, wenn Sie den Patch nicht direkt benötigen.
Mixxiphoid
Fanden diese Referenz für Facebook: blogs.wsj.com/cio/2013/04/17/… , so dass es anscheinend zwei Veröffentlichungen pro Tag gibt, nicht mehrere. Immer noch beeindruckend, denke ich.
Doc Brown
Ich habe diesen Amazon-Push-Code alle 17 Sekunden "gehört". Aber ich schreibe es in einen Kommentar, weil ich mich nicht erinnern kann, wer es mir gesagt hat, und ein Google zeigt es nicht an. :-)
Encaitar
@Encaitar: Richtig, die Architektur von Amazon verfügt über Hunderte interagierender Dienste. Ich bin also nicht überrascht, wenn sie etwas extrem häufig drücken, aber ich bezweifle sehr, dass jeder Druck direkt mehr als eine Komponente betrifft. Was Sie als einzelne Website sehen, muss nicht unbedingt eine Gesamtversion haben. Es ist eher so, als würde das Stadtstraßennetz alle 17 Sekunden aktualisiert, weil Ihre Crews insgesamt 5.000 frische Linien pro Tag malen :-)
Steve Jessop