Wie kann ich mich in einem risikoaversen Umfeld für einen halbstrengen Release-Zeitplan einsetzen?


12

In letzter Zeit wurde ich zunehmend von dem geplagt, was ich als eine meiner frustrierendsten und moralisch tödlichsten Erfahrungen in diesem Beruf bezeichnen müsste: Auf einer Veröffentlichung sitzen zu müssen , die getestet, erneut getestet, inszeniert und in jeder Hinsicht und Zwecke ist bereit zu versenden / bereitzustellen .

Als Allround-Lösungsspezialist und nicht nur als Hardcore-Programmierer verstehe ich die Notwendigkeit einer angemessenen Änderungskontrolle und habe sie sogar befürwortet. Aber in letzter Zeit ist das Gleichgewicht zwischen der Deckung unserer Stützpunkte und der pünktlichen Lieferung völlig schiefgegangen, und es ist mir wenig bis gar nicht gelungen, etwas Vernünftiges wiederherzustellen.

Ich suche nach überzeugenden Argumenten, um das risikoaverse Management davon zu überzeugen, dass:

  1. Das Entwicklerteam sollte (oder muss) in der Lage sein, seinen eigenen Veröffentlichungszeitplan festzulegen - selbstverständlich (1-3 Monate sollten konservativ genug für alle außer den größten Fortune 500-Unternehmen sein);

  2. Software-Releases sind wichtige Meilensteine ​​und sollten nicht rücksichtslos behandelt werden. Mit anderen Worten, unnötige Verzögerungen / Unterbrechungen sind äußerst störend und sollten nur als letzter Ausweg für ein kritisches Geschäftsproblem betrachtet werden. und

  3. Externe (Nicht-Entwickler- / Nicht-IT-) Einheiten, die als Stakeholder einbezogen werden möchten (oder dies verlangen), sind dafür verantwortlich, mit dem Entwicklerteam zusammenzuarbeiten, um den Veröffentlichungszeitplan einzuhalten, insbesondere in der letzten Woche oder so vor dem geplanten Schiff Datum (dh Benutzer testen / Staging).

Die obigen Behauptungen stimmen für mich aus Erfahrung, aber es sieht so aus, als ob ich es jetzt beweisen muss - also bitte ich hier um etwas Fleischigeres, wenn so etwas existiert.

Kann jemand, der die Idee eines festen (oder vielleicht semi-flexiblen) Release-Zyklus an das Management "verkaufen" musste, Hinweise geben, welche Argumente / Strategien effektiv oder überzeugend sind und welche nicht? Gibt es abgesehen von den offensichtlichen Terminkonflikten und den gesunkenen Kosten irgendwelche harten Daten / Beweise, die nützlich wären, um festzustellen, dass der Versand tatsächlich wichtig ist, selbst in einem "Unternehmensumfeld"?

Alternativ bin ich offen für konstruktive Argumente, warum die Flexibilität des Zeitplans (auch über einen Zeitraum von Wochen / Monaten) wichtiger ist als der termingerechte Versand. Es ist schwer für mich, im Moment zu glauben, aber vielleicht wissen sie etwas, was ich nicht weiß.

Beachten Sie, dass wir Veröffentlichungen inszeniert haben, die bis auf die Produktion alle Phasen durchliefen. Probleme werden mit einem kommerziellen Bug-Tracker nachverfolgt, und jedes Problem - zu 100% -, das dieser Version zugewiesen wurde, wurde geschlossen. Mir ist klar, dass es schwer zu glauben ist und genau das ist der Punkt. Es macht keinen Sinn, dass eine 100% ige, vollständige, vollständig getestete und von den Stakeholdern genehmigte Veröffentlichung vom Management aus ungeklärten Gründen verzögert wird. Aber genau das ist passiert. Das ist, was passiert ist, das ist das Problem, das gelöst werden muss.


Viel Glück. Als Entwickler in einer früheren Firma haben wir diesen Kampf von der anderen zur mittleren geschlagen. Wir hatten Bereitstellungen aus einer Laune heraus, weil das Unternehmen "sofort" Fehlerbehebungen und Verbesserungen benötigte. Ich wünsche Ihnen alles Gute für Ihre Bemühungen.
TheDevOpsGuru

Hat Ihr Management jemals die Opportunitätskosten für das Warten auf eine Veröffentlichung untersucht?
Chrisaycock

@chrisaycock: Ich bezweifle, dass sie Opportunitätskosten aus jedem Blickwinkel untersucht oder wirklich verstanden haben . Nur den Ausdruck "Opportunitätskosten" zu verwenden, wird jedoch niemanden beeinflussen. Ich brauche etwas Bestimmtes, auf das ich hinweisen kann.
Aaronaught

Warum können Sie nicht mit der Arbeit an der nächsten Version Ihrer Software beginnen, während Sie auf die Veröffentlichung der aktuellen warten?
krlmlr

@ user946850: Ich kann theoretisch. Das ändert nichts an dem, was in dieser Frage gesagt wurde. Es negiert nicht den demoralisierenden Effekt, die Hände gefesselt zu haben und an etwas gearbeitet zu haben, das nicht veröffentlicht wird, oder den massiv störenden Effekt, mit einer Veröffentlichung in der Mitte des Zyklus umzugehen.
Aaronaught

Antworten:


7

Joel Spolsky sagt, dass ein Software-Entwicklungsteam ein Programm zur Umwandlung von Kapital (Geld) in funktionierende Software ist. Ihrer Frage nach scheint Ihr Team darin gut zu sein: Sie erhalten eine anständige Software für einen angemessenen Betrag.

Der nächste Schritt ist natürlich die Inbetriebnahme der Software. Solange Ihr Unternehmen dies nicht tut, haben sie keine Möglichkeit, eine Rendite auf ihre Kapitalinvestition zu erzielen. Software, die einsatzbereit im Regal steht, ist eine Art Inventar im Lager: Die Kosten sind gesunken, das Kapital des Unternehmens ist bereits ausgegeben. Es gibt auch Opportunitätskosten: Ihre Gruppe hat sich für dieses Projekt entschieden und nicht für etwas anderes.

Darüber hinaus entspricht der Wert neu entwickelter Software, die im Regal steht, dem Wert einer Käseschachtel im Kühlschrank eines Restaurants: Sie verrottet langsam. Ihr Wert sinkt, weil Ihre Konkurrenten aufholen. Es lehnt auch ab, weil es schwieriger und riskanter wird, neue Software in Betrieb zu nehmen, wenn die Entwickler andere Dinge tun. Nach ein paar Jahren im Regal kann es tatsächlich wertlos sein. In diesem Fall hat Ihr Unternehmen beschlossen, das in die Entwicklung investierte Kapital zu verwerfen. Es ist möglich, dass die Eigentümer des Unternehmens - die Aktionäre - darüber unzufrieden sind.

Eines müssen Sie als Entwickler herausfinden. Ist Ihre Software wirklich bereit, am Ende des von Ihnen vorgeschlagenen Release-Zyklus bereitgestellt zu werden? Ist es bereit zu gehen, oder gibt es eine ganze Menge mehr Arbeit zu tun und Geld auszugeben, während Ihr Unternehmen es in Produktion setzt? Besitzt Ihr Unternehmen die Server und Softwarelizenzen, die Sie für die Bereitstellung Ihrer Software benötigen? Enthält Ihr Arbeitsprodukt einen Bereitstellungsplan? Wurden die Endbenutzer geschult? Wurden die Produktionsdaten konvertiert? Wenn Ihre neue Software eine Änderung der Art und Weise beinhaltet, in der Ihr Unternehmen Geschäfte tätigt, ist das Unternehmen dann bereit, diese Änderung vorzunehmen? Haben Sie ein Schema ausgearbeitet, um Dinge parallel laufen zu lassen, um sicherzustellen, dass das neue Zeug genauso gut funktioniert wie das alte?

All diese Rollout-Kosten können die Kosten für die reine Entwicklung der Software leicht in den Schatten stellen. Ein kluges Projektmanagement-Team gibt sein Bestes, um all diese Dinge zu planen, zu budgetieren und zu terminieren. Hast du diese Arbeit gemacht? Haben Sie dem Management deutlich gemacht? Wenn nicht, ist es möglich, dass sie bei Ihren Rollouts langsam vorgehen.

Es ist möglich, dass ein moderner, flexibler Software-Rollout-Zeitplan nicht mit dem von Ihrem Unternehmen erwarteten Änderungstempo übereinstimmt. Ihre Endbenutzer - Ihre Stakeholder - sind möglicherweise nicht in der Lage, Änderungen so schnell zu verarbeiten, wie Ihr Team sie produzieren kann.

Es ist auch möglich, dass Ihr Management-Team gestört ist. Hat Ihr Team etwas entwickelt, das der Rest des Unternehmens nicht will? Bedroht Ihr neues Personal Ihr Verkaufs- oder Produktionsteam? In diesem Fall könnte eine Führungskraft das Torpedieren, indem sie sagt, es sei zu riskant, um es einzuführen. Sie können nichts dagegen tun, wenn Sie nicht der CEO sind.

Sie haben nach überzeugenden Argumenten für die rechtzeitige Einführung von Software gefragt. Es gibt ein wirklich überzeugendes Argument: Return on Investment. Das Unternehmen entschied sich für eine Investition in diese Software und beschloss nun, die Investition zu verschwenden, da Ihre Software langsam im Regal verrottet.

Ein sekundäres Argument für die rechtzeitige Einführung ist die Moral Ihres Teams. Beeilen Sie sich und warten Sie nicht, um kreative Entwickler zu guter Arbeit zu motivieren. Sie können Ihr Team verlieren, wenn sie nicht die Zufriedenheit haben, ihre Arbeit in Betrieb zu nehmen.


1
Gute Antwort. Das Lustige in meinem Fall ist, dass sogar die Rollout- Kosten im Grunde genommen ausgegeben wurden. Wir müssen nur den Schalter umlegen! Abgesehen davon, dass wir metaphorisch gesehen einen Gewerkschaftsschalter-Flipper benötigen, um den Schalter tatsächlich umzulegen, und für die nächsten 7 Wochen sind keine verfügbar.
Aaronaught

1
Beeindruckend! Dieses Problem ist in der Medizin als kraniorektale Inversion bekannt. Müssen Sie woanders arbeiten?
O. Jones

5

Schauen Sie sich zuerst dieses Video an:

http://the99percent.com/videos/5822/Seth-Godin-Quieting-the-Lizard-Brain

Zusammenfassung:

So versenden Sie pünktlich und im Rahmen des Budgets: Wenn Ihnen die Zeit oder das Geld ausgeht, versenden Sie. Das ist es.

Der Grund, warum die meisten Projekte nicht pünktlich geliefert werden, ist, dass jemand "nur noch ein Feature oder einen Fix" zum Einfügen in das Release bereitstellt, kurz bevor Sie zur Auslieferung bereit sind, und zwar zu einem Zeitpunkt im Entwicklungszyklus, an dem Ihre Ressourcen verfügbar sind am seltensten, und jetzt musst du krabbeln. Dies wird als "Thrashing" bezeichnet. Solange Sie nicht versenden, müssen Sie sich keine Sorgen darüber machen, dass Ihnen jemand sagt, dass Ihr Produkt scheiße ist.

Die Art und Weise, wie Sie Thrashing heilen, besteht darin, die Leute zu Beginn des Produktentwicklungszyklus zu zwingen , und nicht am Ende.

Produktänderungen in den Wochen vor dem Veröffentlichungsdatum sind aus offensichtlichen Gründen sehr störend. Dies gilt unabhängig davon, ob es sich bei der Änderung um eine neue Funktion, eine Änderung des Softwareentwicklungsprozesses oder um den Versuch handelt, einen langjährigen Fehler zu beheben, der nicht im Entwicklungsplan enthalten ist.

Wenn sich jemand zu einem späteren Zeitpunkt im Entwicklungszyklus an mich wendet, frage ich ihn immer: "Was soll ich nicht erledigen, damit ich deine Sache erledigen kann?"

Wenn Sie einen Geldmotivator benötigen, dann ist dies: Studien belegen, dass die Implementierung einer Funktion oder eines Fixes umso teurer ist, je später Sie im Software-Lebenszyklus warten. Exponentiell. Es ist nicht schwer, das zu beweisen.


1
Das ist alles ein guter Rat, aber ich denke nicht, dass es wirklich relevant ist. Ich habe es definitiv nicht gesagt und wollte nicht implizieren, dass Änderungen des Gültigkeitsbereichs in letzter Minute zu Verzögerungen führen. Ich spreche von bürokratischen Hürden, die von Leuten aufgeworfen werden, die sich nur gegen jede Veränderung der Produktionsumgebung wehren, insbesondere gegen alles, was den Kunden gegenübersteht.
Aaronaught

Wohlgemerkt, nachdem ich meine Frage noch einmal gelesen habe, habe ich wohl nicht viel unternommen, um zu klären, dass es keine Änderungen am Geltungsbereich gab, daher kann ich diese Antwort auch nicht wirklich beanstanden.
Aaronaught

4

Sie haben die Probleme, mit denen Sie konfrontiert sind, klar beschrieben, jedoch ist mir nicht klar, warum sich die Manager so verhalten. Könntest Du das erläutern? Sie glauben zum Beispiel, dass es einsatzbereit ist. Ist jemand anderer Meinung, wenn ja, wer und warum? Sind sie Ex-Beaurokraten der Regierung?

Dies klingt sehr nach einem Problem zwischen Fähigkeit und Wunschausrichtung. Sie möchten das Problem lösen, aber nicht die Fähigkeit (Autorität). Diejenigen mit der Autorität haben nicht das Bedürfnis.

Sie müssen herausfinden, warum ihnen das Verlangen fehlt - es ist ein Marketinggrund (halten Sie es für ein weiteres Jahr, während wir die alte Version noch ein bisschen länger melken), ist es Angst / Zuversicht (Wenn es Fehler gibt, werden wir schlecht aussehen , kostet uns Geld ..., mangelnde Ressourcen (Ich kann mir die Kosten für Versand / Verpackung / PR nicht leisten), ist es kommerziell, wenn Ihre undurchsichtigen Gewinne schlecht sind und sie nicht wollen, dass Sie Geld verdienen ( Nicht so dumm, wie es sich anhört.

Ich vermute auch, dass der Respekt zwischen den Beteiligten gering ist, weshalb keine vernünftigen Diskussionen mit Erwachsenen stattfinden.

Entschuldigung - nicht die spezifische Antwort, nach der Sie gefragt haben, hoffentlich ein paar Dinge, über die Sie nachdenken sollten.


1
Der vorletzte Absatz ist eine ziemlich gute Analyse des Problems - es ist ein politisches Problem, kein technisches. Natürlich kann ich aus Datenschutzgründen nicht auf viel detailliertere Details eingehen, und ich denke auch nicht, dass dies für die Lösung wirklich relevant ist. Unabhängig davon, wer "blockiert" und warum, denke ich, dass die einzige langfristige Lösung darin besteht, das obere Management davon zu überzeugen, dass das Entwicklerteam die Kontrolle über den Prozess haben muss, und zwar über einen Prozess, bei dem feste Versandtermine im Voraus geplant sind.
Aaronaught

3
Ein Punkt zu beachten: Es ist nicht normal, dass Dev für Liefertermine verantwortlich ist. Dev hat Eingaben in diese Daten vorgenommen, aber wenn die Daten nicht aus geschäftlichen, sondern aus technischen Gründen festgelegt wurden, ist das Geschäft in Schwierigkeiten.
Mattnz

Sie machen hier einen guten Punkt, indem Sie die Subtilität hervorheben - es geht mehr darum, eine Verpflichtung der Geschäftsleitung hinter regulären Schiffsterminen zu setzen, als die vollständige Kontrolle über den Zeitplan zu haben. Natürlich wird das Unternehmen letztendlich entscheiden, wann und wie oft es versenden soll, aber dies sollte weit im Voraus entschieden werden, wobei das Entwicklerteam einen erheblichen Input hat und vor allem 2 Wochen vorher (oder noch schlimmer) nicht zur Debatte stehen kann , 2 Wochen nach ) dem voraussichtlichen Versanddatum, es sei denn, es liegt ein solider geschäftlicher Grund vor, den der Blocker zu rechtfertigen hat.
Aaronaught

Jeder andere Prozess ist für mich nur Chaos. Wenn Sie keine Ahnung haben, wann Ihr Projekt tatsächlich ausgeliefert wird, ist es nahezu unmöglich, das richtige Scoping oder Design durchzuführen.
Aaronaught

2
@Aaronaught - Es kann so einfach sein wie Politik / Zusammenarbeit. Sie könnten sich in heißes Wasser stürzen, vor dem Ihr Management Sie schützen möchte. Lassen Sie mich diese Logik vorschlagen - nehmen Sie an, dass der Versand nicht in jedem Fall im besten Interesse des Geschäfts ist. Daher muss es einige Gründe / Situationen geben, in denen es im Interesse des Unternehmens liegt, nicht zu versenden. Nicht zu wissen, wie die Situation von oben nach unten aussieht, macht Sie nicht falsch, und auch das Management macht es nicht falsch.
Jasonk

2

Als Erstes sollten Sie sicherstellen, dass Ihre Veröffentlichungen kein hohes Risiko aufweisen .

Im Idealfall sollten Ihre Änderungsanforderungen einen Abschnitt mit der Bezeichnung " Risikominderung" enthalten, der Anweisungen zum Zurücksetzen auf eine frühere Version enthält, wenn Probleme auftreten. In Bezug auf das Risiko kann keine Menge vorheriger Tests eine einfache Option zum Zurücksetzen der Änderung ersetzen.

  • In einem risikoaversen Umfeld kann ich mir keinen Weg vorstellen, um irreversible Veränderungen schmerzlos zu machen .
    Wenn viele / die meisten Ihrer Releases in diese Kategorie fallen, sollten Sie Ihre Architektur überdenken.

Das Risiko, NICHT freizugeben, ist auffällig, wenn Sie möchten, dass der Zeitplan des Entwicklerteams ernst genommen wird.

Wenn Ihre Releases Korrekturen für Produktions- / Supportprobleme und Ausfälle liefern, ist dies relativ einfach, indem Sie diese nur auflisten und darauf hinweisen, dass die Produktion Gefahr läuft, diese zu wiederholen, es sei denn, es wird ein Upgrade durchgeführt.

Eine wirklich effektive Maßnahme, die dem Entwicklerteam zur Verfügung steht, um Release-Ausrutscher zu bekämpfen und sicherzustellen, dass das Risiko einer Nichtveröffentlichung mit der Zeit zunimmt . Dies kann mit internen Releases erreicht werden, die nach einem festen Zeitplan ausgeführt werden und eine "kumulative" Liste von Lösungen für Produktionsprobleme bieten.

  • Vereinfacht gesagt, müssen sich Jungs, die Ihre Freigabe blockieren XX, nicht nur darüber im Klaren sein, dass sie das Risiko haben, dass NProduktionsprobleme ungelöst bleiben, sondern auch, dass sie eine Woche (oder einen Monat) später die Freigabe XX+1in ihrer Genehmigungswarteschlange haben und diese blockieren Das Risiko von N+MProduktionsproblemen bleibt ungelöst - und das wird auch bei XX+2und weiteren "internen" Releases der Fall sein, die vom Entwicklerteam bereitgestellt werden.

Durch die oben beschriebene Vorgehensweise wird die Verbindung zwischen Anwendungsaktualisierungen und Produktionsproblemen im Wesentlichen enger und eindeutiger.

Aus diesem Grund können Sie eine stärkere Einbeziehung in die Eskalation von Produktionsproblemen erwarten . Sie können diese als Gelegenheit nutzen, um Ihre Vision von strengeren geplanten Updates voranzutreiben. Sie können sogar selbst einige Eskalationen auslösen, um die Umsetzung Ihres gewünschten Ansatzes zu beschleunigen.

  • "... empfehlen, ein Upgrade der Anwendung auf eine neuere Version ( XXoder eine neuere Version ) in Betracht zu ziehen . Die derzeit in Ihrer Umgebung ( XX-2) bereitgestellte Version ist stark veraltet - zwei Hauptversionen hinter der aktuellen Codebasis. Daher werden Details für solche einfachen Fehler angegeben Tief verborgen in Protokollen und nicht entzifferbarem Müll wird die Anwendung den Clients gemeldet, anstatt eindeutige Fehlerbeschreibungen zu hinterlassen. Dies führt dazu, dass Benutzer und Support Zeit damit verschwenden, wirklich einfache Probleme zu untersuchen. "
     
    Oben ist ein Kommentar, den ich vor einiger Zeit im Support Issue Tracker für das Ticket hinzugefügt habe im Zusammenhang mit bestimmten Produktionsvorfall. Kurz danach wandten sich die "Stakeholder" an das Entwicklerteam und fragten, wie sie den Überblick über unsere Releases behalten und wie sie bei der Bereitstellung in ihrer Umgebung helfen können. Oh und sie haben auch schnell von upgegradetXX-2Version auch. :)

Wenn die Produktion eskaliert, sollten Sie besser darauf vorbereitet sein, Ihre Vision schnell und klar darzustellen.

Eine Sache, die Sie nützlich finden, ist, herauszufinden, wer für einen bestimmten Release-Fehler verantwortlich ist. Grundsätzlich müssen Sie in der Lage sein, Fragen wie "Wer ist für die Tatsache verantwortlich, dass die geplante Veröffentlichung nicht stattgefunden hat?" Schnell und klar zu beantworten. Wenn Sie nicht bereit sind, wählen sie möglicherweise den Weg des geringsten Widerstands und geben Ihnen die Schuld. In Kommentaren zu einer anderen Antwort heißt es: "Sie könnten sich in heißes Wasser stürzen, vor dem Ihr Management Sie zu schützen versucht."

Nicht zuletzt,

Es wird einige Zeit dauern

(Das wissen Sie wahrscheinlich schon, aber es scheint sich zu lohnen, es ausdrücklich zu erwähnen.)

Was Sie suchen, kann als Einstellungsänderung beschrieben werden, von "Es ist riskant , es freizugeben " zu "Es ist riskant, es NICHT freizugeben ". Einstellungsänderungen treten selten über Nacht auf. Möglicherweise ist Geduld erforderlich, um die Schicht abzuschließen.


1

Über Ihrer Frage hängt ein großes Fragezeichen, und aus diesem Grund möchte Ihr Unternehmen die Software nicht freigeben. Es ist nicht immer nur ein einfacher Fall von Risikoaversion. Oft liegen andere Ursachen zugrunde, die von den hohen Managementhöhen nicht oft weitergegeben werden. Meine Frage an Sie lautet also: "Haben Sie sich mit Ihrem Chef zusammengesetzt und ihn gefragt, warum die Produktfreigabe aufgeschoben wird?".

Es gibt einen großen Unterschied zwischen dem Managen von Risiken und dem Vermeiden von Risiken. Es kann rechtliche oder Marketinggründe für die Verzögerung einer Produktfreigabe geben. Es könnte sich um Vertrauensprobleme zwischen dem Management und dem Entwicklungsteam handeln. Das Produkt entspricht möglicherweise nicht den Anforderungen des Kunden, auch wenn es genau den Anforderungen entspricht, die der Kunde vor Monaten gestellt hat. Es kann sich sogar um jemanden in der Geschäftsleitung handeln, der ernsthaft versucht, die Schuld für die Verzögerung an eine andere Stelle zu verlagern, oder sogar um eine Verzögerung durch einen Dritten, die erforderlich ist, um etwas zu erledigen, bevor Ihr Produkt ausgeliefert wird. Ich könnte mir Dutzende von Szenarien einfallen lassen. Sehr oft geht der Entwickler von einer Risikoaversion aus, ohne die andere Seite der Gleichung zu verstehen, die nicht offengelegt wurde. Auf der anderen Seite kann es einfach Selbstzufriedenheit sein, Konflikt zwischen Personen innerhalb eines Unternehmens,

In jedem Fall ist es wichtig, mehr Informationen über die Gründe für Verzögerungen bei der Produktfreigabe zu haben und diese Informationen zu verwenden, um so schnell wie möglich einen Fall für die Freigabe Ihres Produkts zu erstellen. Ja, es kann sehr frustrierend sein, aber es gibt andere Möglichkeiten, mit diesen Situationen umzugehen, ohne die Konfrontation mit Ihren Vorgesetzten oder einen Burnout zu riskieren. In ähnlichen Situationen habe ich selbst Informationen gesammelt, meine Fortschritte dokumentiert und im schlimmsten Fall einfach das Projekt zurückgestellt und mich mit etwas anderem befasst. In der Regel war es das Ergebnis eines soliden Geschäftsmodells, das auf den Informationen beruhte, die ich als Feedback zu den von mir aufgeworfenen Fragen erhalten hatte, um ein Projekt wieder auf den Weg zur Veröffentlichung zu bringen. Wenn ich die Geschäftsleitung nicht davon überzeugen konnte, dass das Produkt versandt werden sollte, Ich habe die Zurückhaltung bei der Auslieferung als bloß abgeschlossenes Projekt dokumentiert und erwarte die Freigabe durch das Management. Ich stelle dann sicher, dass mein Vorgesetzter mein Dokument als vom Management akzeptiert und verstanden signiert, damit mein eigener Hintern abgedeckt wird, falls sie versuchen sollten, mich später für eine Nichtfreigabe zu beschuldigen.

Sie müssen immer Ihre Ichs und die T-Shirts ankreuzen, um zu vermeiden, dass Sie später für Verzögerungen beim Versand verantwortlich gemacht werden (egal wie unfair), und es ist auch wichtig, dass Sie nicht zu emotional an solche Probleme gebunden werden, es sei denn, Sie mögen die Idee eines gut verdienten Geschwürs. Wenn Sie Ihre eigene Situation mit einer gewissen professionellen Distanz betrachten, können Sie eine Lösung finden, weil Sie sich sozusagen auf eine größere Distanz zum Problem gebracht haben. Wenn Sie nicht in der Lage sind, Ihren Fall zu vertreten, müssen Sie ihn möglicherweise eine Weile warten lassen. Um Ihren Fall jedoch in den Vordergrund zu stellen, müssen Sie professionell distanziert wirken und Argumente haben, die auf Informationen beruhen, mit denen ein enger Zusammenhang besteht Ihr Unternehmen und sein Innenleben.

Ich habe gerade darüber nachgedacht, was für Sie hilfreich sein könnte, indem Sie vielleicht die Lean-Software-Entwicklung lesen und prüfen , ob darin etwas Wertvolles enthalten ist, das möglicherweise mit der Situation Ihres Unternehmens zusammenhängt, insbesondere in den ersten Kapiteln. Ich denke, es war Kapitel 4, in dem das Problem der schnellstmöglichen Lieferung erörtert wird und das sich auf Verzögerungskosten bezieht.


1
Es gibt kein Fragezeichen. Ich habe keines dieser Szenarien erwähnen , weil es nicht alle , die relevant sind. Natürlich wäre das, was Sie hier sagen, in keinem Zusammenhang vernünftig, aber die Frage wurde mit der Annahme geschrieben, dass die Leute mir glauben würden , wenn ich sage, dass ich alle Ermittlungswege ausgeschöpft habe.
Aaronaught

@Aaronaught Im Kontext meiner Antwort geht es nicht darum, dir nicht zu glauben. Oft, wenn wir glauben, wir hätten alles getan, gibt es noch eine andere Möglichkeit, es zu versuchen, oder wenn es nicht von Wert ist, wenn andere etwas sagen, in der Hoffnung, dass es für Sie direkt relevant ist, auch wenn es das Offensichtliche aussagt. Möglicherweise befindet sich jemand anderes in einer ähnlichen Situation, und diese Antwort trifft möglicherweise näher auf ihn zu (für diesen Zweck ist diese Website auch bestimmt). Ungeachtet dessen bleibt mein letzter Absatz relevant, obwohl ich zusätzlich eine leichte Bearbeitung anbieten werde.
S.Robins

0

Ich würde sagen, der einfachste / effektivste Weg, eine Veröffentlichung zu verkaufen, besteht darin, die Tools für eine Weile herunterzufahren, wenn sie einsatzbereit sind. Mach etwas anderes, starte ein neues Projekt, arbeite an Fehlern für das bestehende Projekt. Tun Sie nichts mehr mit diesem, bis es aus der Tür geschickt wurde - warum tun Sie es dann überhaupt nicht, wenn es nicht geht, wenn es fertig ist?

aber in der realen Welt ist das eigentliche Release das Problem eines anderen. Sie sollten es an ihn senden und es dann als Release behandeln. Sobald es aus Ihrer Tür ist, wird es verschickt. Wenn sie nur drauf sitzen, ist es nicht dein Problem (in der Tat ist es großartig, es werden keine Bugs gemeldet! ​​W00t! Boni für eine fehlerfreie Veröffentlichung;))

Sie benötigen also ohnehin ein Änderungskontrollsystem und einen Freigabemanager. Dann ist alles ganz einfach (mit der Ausnahme, dass Sie die Änderungskontrolle verwalten müssen, sodass Versionskontrolle und Bereitstellungsbuilds sehr wichtig sind. Es erfordert Organisation, aber wenn Sie organisiert sind, ist es einfach).


Der erste Teil Ihrer Antwort hat mich beunruhigt, aber wenn ich den Rest lese, denke ich, dass dies eine gute Möglichkeit ist, damit umzugehen.
Jasonk

0

Ich kann mir nicht vorstellen, dass es eine "gute Sache" ist, das Entwicklerteam so zu machen, wie Sie es beschreiben. Es könnte das eigentliche Problem verschleiern, aber es sei denn, das Entwicklerteam ist in der richtigen Position, um die Inputs aus Vertrieb und Marketing abzuwägen usw. usw. Sie riskieren die Freigabe aus den falschen (und möglicherweise schlechten) Gründen.

Wenn ich Ihr Problem verstehe, haben Sie das Projekt abgeschlossen und ein Ergebnis erhalten, das Sie niemandem außerhalb Ihres Unternehmens zeigen können. (Ich hoffe, das fasst es zusammen, ich habe den ganzen Thread gelesen und ich habe Probleme, meinen Finger darauf zu legen.)

Hast du es versucht:

  1. Bitten Sie das Management, dass ein Kunde oder eine Gruppe von Kunden während der Entwicklung als Stakeholder fungiert? In der Regel finden Sie einen Kunden, der Zwischenfreigaben vornimmt und Feedback gibt. Sie können großartige Fürsprecher sein, wenn es Zeit ist, sie freizugeben. Sogar eine "beschränkte Freigabe" an einen Kunden könnte ausreichen, um das Management zu beeinflussen
  2. Erstellen eines Versionsplans mit Punktversionen. Das heißt, Sie können 3.4 heute veröffentlichen, da die Veröffentlichung von 3.4.1 für heute + 1 Monat geplant ist. Dies zusammen mit der guten Idee, die Sie bereits erwähnt haben, dass eine Release-Trittfrequenz dieser Nachricht hilft.
  3. Holen Sie sich Support, Vertrieb oder Marketing auf Ihre Seite. Bauen Sie Fixes ein, mit denen die drei häufigsten Support-Anfragen gelöst werden und Sie können einen Verbündeten von einer anderen Abteilung erhalten. Wenn Sie keinen Kunden-Stakeholder wie in # 1 finden können, versuchen Sie es mit ein paar Verkäufern. Angebot, für Verkaufsgespräche zur Verfügung zu stehen und das Produkt mitzubringen. Wenn Sie unterwegs sind, zeigen Sie dem Verkäufer, dass Sie mit dem Produkt vertraut sind (in welchem ​​Zustand auch immer), dass es für Sie gezogen wird.

Um Ihre andere Frage zu beantworten: "Warum sollte das Management auf einer Veröffentlichung sitzen?" Unternehmen tun dies die ganze Zeit in Nicht-SW-Bereichen und ich denke nicht, dass es beispiellos ist. Zum Beispiel haben Sie eine neue Version, die einsatzbereit ist, alle getestet und fertig. Aber die alte Version wurde von der Konkurrenz noch nicht verdrängt. Sobald der Wettbewerb ein konkurrierendes Produkt veröffentlicht, gibt das Management die im Regal wartende Version frei und stört den Markt, setzt den Wettbewerb zurück und erhält den Umsatz und den Ruf als Marktführer. Zu frühes Loslassen gibt Wettbewerbern die Hand, die vielleicht eine bessere Vorstellung von Ihrer Roadmap haben und versuchen, Sie bis zum Ende zu schlagen.

Nach alledem ist Hanlons Rasiermesser wahrscheinlich die richtige Antwort :-)


-1

Gehen Sie weg von dieser Firma, sie verstehen keine Software. Aber im Ernst, Software ist es, was das System zum Funktionieren bringt. Stellen Sie sich vor, wenn Sie Autos bauen, sind Autofabriken langsam? Warten sie auf Auto-Releases? Sind sie inkrementell und bürokratisch? Nein, sie versuchen, die Dinge so schnell und sauber wie möglich zu machen. Sie haben ein Managementproblem und sollten es als einen Managementkonflikt behandeln. Versuchen Sie, sie in ihre Begriffe zu fassen. Fragen Sie, was das Risiko für sie bedeutet, und versuchen Sie, es zu minimieren. Die Gefühle Ihrer Entwickler sind ebenfalls wichtig, da sie mit den Entscheidungen, die durch Ihre Intervention getroffen werden, fertig werden müssen. Werden sie glücklich sein, alle Nachtschwärmer pünktlich zum Versand zu bringen? Was wären die Preise / Strafen? Jetzt werde ich Ihnen einen praktischen Ansatz für dieses Problem geben, ein bisschen extrem, aber um ein Audit bitten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.