Soll ich verbesserungswürdige Unternehmensprozesse ansprechen?

Ich bin vor etwa einem Jahr in ein Softwareentwicklungsunternehmen eingetreten. Es gibt ein paar Teams, die an verschiedenen Produkten arbeiten, es gibt jedoch eine Reihe gemeinsamer Bibliotheken, die alle Teams verwenden müssen. Mein Team pflegt tatsächlich eine bestimmte Bibliothek, die eines der anderen Teams in ihr Produkt integriert.

Das allgemeine Problem besteht darin, dass es keine klar definierten Prozesse zur Wartung von Software innerhalb des Unternehmens gibt. Die meisten gängigen Bibliotheken sind schlecht dokumentiert, die Leute entfernen Code, anstatt ihn zu verwerfen (was Code, der von den Bibliotheken abhängt, kaputt macht), und es gibt keine Änderungsprotokolle. Die Richtlinie lautet, dass die Projekte so schnell wie möglich auf die neuesten Bibliotheksversionen aktualisiert werden sollten, es können jedoch mehrere Aktualisierungen an einem einzigen Tag erfolgen, oder eine einzelne Aktualisierung kann leicht einen halben Tag dauern.

Ich gehöre nicht zu den leitenden Mitarbeitern des Unternehmens, habe jedoch einige Erfahrung mit Softwarewartung und OSS und denke darüber nach, dieses Thema mit meinem Vorgesetzten zu besprechen, in der Hoffnung, dass er es weiter eskalieren kann. Ich bin fest davon überzeugt, dass gute Prozesse die Qualität der von uns erstellten Software verbessern und dazu beitragen, unnötigen Stress zwischen den Teams zu reduzieren. Soll ich das tun? Gibt es etwas, das ich bei der Vorbereitung auf das Gespräch mit meinem Vorgesetzten beachten sollte? Gibt es Möglichkeiten, wie meine Initiative nach hinten losgehen kann?

Klingt für mich so, als ob Ihr Unternehmen einen Change Manager braucht. Vielleicht stehen Sie für die Stelle zur Verfügung? Auf jeden Fall, bringen Sie es zur Sprache. Mit vielleicht einem Entwurf einer Stellenbeschreibung, das wäre eine Lösung. Vor allem, wenn Sie derjenige sein möchten, der es repariert. :)
Können Sie Buy-in von jedem Mitglied Ihres Teams erhalten? Das Wasser dort zu testen, wäre der logischste Ausgangspunkt. Organisationsweite Veränderungen vorzunehmen, ist mit Politik behaftet. Sie haben eine viel bessere Chance, mit Ihren Bemühungen erfolgreich zu sein, wenn Sie zeigen können, wie "Ihre Vorschläge" Ihrem Team geholfen haben, die Produktivität zu steigern, die Fehlerrate zu senken oder andere messbare konkrete Zahlen zu nennen, die Ihren Fall unterstützen. Die meisten Softwareexperten werden Ihre Einschätzung nicht verstehen. Glauben Sie also, dass jemand mit der Macht, eine organisatorische Änderung vorzunehmen, das verstehen wird? Sie brauchen Zahlen. Sie werden Zahlen verstehen.

Antworten (3)

Alles kann nach hinten losgehen. Aber dein Ansatz ist der richtige. Ich meine, zu dokumentieren, was im Unternehmen getan wird, und die Bereitstellung/Aufrechterhaltung der Abwärtskompatibilität sind alles gute Dinge. Das einzige, was ich Ihnen empfehlen kann, ist, langsam und sehr taktvoll anzufangen. Ihr Chef oder ein enger Freund von ihm könnte der Betreuer dieser Codebasis sein oder sie vielleicht einmal in der Vergangenheit geschrieben haben, ohne Rücksicht auf die Wartung, und es war die ganze Zeit über gekalkt. Jetzt versucht ein Neuankömmling, in ihren Augen „heißer Yuppie“, ihnen beizubringen, wie sie ihre Arbeit machen sollen. Wenn dies der Fall ist, wird es nicht auf die leichte Schulter genommen. Auch wenn sie wissen, dass es der richtige Weg ist, werden sie Widerstand leisten und ein Hindernis nach dem anderen aufstellen, um zu erklären, dass das, was Sie gesagt haben, nicht getan werden sollte.

Aber in den meisten gut strukturierten Softwareunternehmen werden Ihre Vorschläge wie Musik in den Ohren des Managements klingen. Aber seien Sie in diesem Fall darauf vorbereitet, die Rolle des leitenden Betreuers zu übernehmen, was ein großer Zeitverlust sein wird, während Sie gleichzeitig den Weg zu den oberen Ebenen der Karriereleiter ebnen, wenn Sie gute Arbeit leisten.

Wenn das Unternehmen klein ist und nicht die Hierarchie einiger größerer Unternehmen hat: Ich würde empfehlen, mit einigen Strategien zu beginnen, die das Potenzial haben, zu funktionieren, anstatt nur der Typ zu sein, der weiß, dass etwas nicht stimmt, aber beabsichtigt, die Arbeit zu verteilen, es zu beheben anderswo.
Der Rat, den ich dieser guten Antwort hinzufügen möchte, ist, dass Sie Ihren Rat in Form von echten Problemen (z. B. Beispiele für Codebruch anderer Teams aufgrund der Entfernung von Bibliothekscode) und vorgeschlagenen Lösungen präsentieren sollten. Stimmen Sie auf jeden Fall zu, dass Sie taktvoll und nicht wertend sein sollten. Viel zu oft sehe ich Programmierer, die ein bestehendes Problem nicht beschreiben können, ohne deutlich zu machen, dass sie glauben, dass das Problem existiert, weil alle anderen außer ihnen ein inkompetenter Schwachkopf sind. Sei nicht so.
Ich denke, wenn Sie jemanden aus einem der Teams finden können, der den Schmerz all dieser schlechten Prozesse spüren wird. Setzen Sie sich mit ihnen zusammen und finden Sie heraus, ob Sie wirklich die Probleme für sie lösen oder die Probleme verstehen, und dann ist das ein großartiger Informationspunkt. „Bob“ aus dem Bewerbungsteam sagte mir, dass sie diesen Monat X Tage mit diesen Problemen verschwendet haben. Ich denke, dass es bei manchen Managern mehr Gewicht hat, über den Schmerz in realen Begriffen sprechen zu können, als es nur auf einer ganzheitlichen Prozessebene zu tun

Viele der von Ihnen angesprochenen Probleme sind erhebliche Schwächen im Änderungsmanagement und / oder im SDLC-Prozess.

Keine gut definierten Prozesse für die Wartung von Software im Unternehmen

  1. Wie verfolgen Sie, welche Änderungen an der Software vorgenommen wurden,
    insbesondere in der Produktionsumgebung, falls in Ihrem
    Unternehmen eine vorhanden ist?

  2. Wenn keine Änderungsprotokolle verwendet werden, wie können Sie eine vorgenommene Änderung nachverfolgen und feststellen, ob die Änderung autorisiert und nicht böswillig ist?

  3. Wie können Sie Änderungen zu den Benutzern zurückverfolgen, die sie vorgenommen haben, denn wenn Sie dies nicht tun können, kann keine Person zur Rechenschaft gezogen werden, wenn eine Änderung kritische Funktionen beeinträchtigt.

  4. Leute entfernen Code, anstatt alten Code zu verwerfen . Dies ist eine sehr schlechte Praxis, wie Sie vorschlagen. Was passiert, wenn ein Release fehlschlägt und zurückgesetzt werden muss? Ohne alten funktionierenden Code, auf den zurückgegriffen werden kann, besteht das Risiko einer Geschäftsunterbrechung aufgrund der Unfähigkeit, sich nach einem Ausfall / einer Katastrophe wiederherzustellen.

Was sagt der SDLC-Prozess, sei es WaterFall oder eine Version von Agile, darüber aus, wie Codeänderungen verarbeitet werden? Gibt es eine QA-Funktion, die geeignete Entwicklungstechniken erzwingt?

Achten Sie darauf, wie verwandte Prozesse in Ihrem Unternehmen funktionieren. . Angesichts der Nachlässigkeit des Änderungsmanagements in Ihrem Unternehmen bin ich bereit zu wetten, dass die damit verbundenen Prozesse nicht besser sind. Einige Fragen, über die es sich lohnt nachzudenken, vorausgesetzt, Ihr Unternehmen ist ausgereift:

  1. Was sind die Jobrollen von Mitarbeitern, die Code aus dem Repository ändern/entfernen können?
  2. Werden unvereinbare Aufgaben so getrennt, dass Entwickler direkten Zugang zur Produktion haben?
  3. Ist das Testen und Dokumentieren der Ergebnisse erforderlich, bevor der Code in der Produktion bereitgestellt wird?
  4. Wie zuverlässig sind die Rollback-/Wiederherstellungsverfahren, falls eine vorgenommene Änderung das System zum Absturz bringen würde?

Sie sollten auch beachten, dass Ihr Unternehmen, wenn es sich um ein an der US-Börse börsennotiertes Unternehmen handelt, Abschnitt 404 des Sarbanes Oxley Act – SOX unterliegt , wenn der betreffende Prozess die Finanzberichterstattung in irgendeiner Weise beeinflusst. Sarbanes Oxley – Mandate gemäß Abschnitt 404 tragen die persönliche Verantwortung für die Angemessenheit der internen Kontrollen in ihrem Unternehmen. Das Top-Management kann ins Gefängnis gehen, wenn es wegen betrügerischer Falschberichterstattung über interne Kontrollen verurteilt wird.

Ich arbeite in der IT-Prüfung und meine Aufgabe besteht genau darin, Probleme, die Sie in Ihrem Beitrag erwähnen, dem Management zur Lösung zur Kenntnis zu bringen. Mein Vorschlag ist, dass Sie mit Ihrem Vorgesetzten besprechen, dass die aktuellen Prozesse erhebliche Risiken für das Unternehmen in Bezug auf Geschäftsunterbrechungen, Systemintegrität und Kundenzufriedenheit darstellen. Wenn dies fehlschlägt, wenden Sie sich an die Interne Revision Ihres Unternehmens, falls eine solche Funktion in Ihrem Unternehmen existiert und Sie berechtigt sind, abteilungsübergreifend zu sprechen.

Zusammenfassend lässt sich sagen, dass Sie, wenn nach Ihrer Präsentation vor dem Management immer noch keine Verbesserungen vorgenommen wurden, wahrscheinlich darüber nachdenken sollten, einen anderen Job zu finden, da diese Entwicklungsumgebung Ihrem Wachstum abträglich ist.

Ich bin fest davon überzeugt, dass gute Prozesse die Qualität der von uns erstellten Software verbessern und dazu beitragen, unnötigen Stress zwischen den Teams zu reduzieren. Soll ich das tun? Gibt es etwas, das ich bei der Vorbereitung auf das Gespräch mit meinem Vorgesetzten beachten sollte? Gibt es Möglichkeiten, wie meine Initiative nach hinten losgehen kann?

Schauen Sie sich an, was Sie selbst über Ihren Arbeitgeber geschrieben haben:

Es gibt keine klar definierten Prozesse zur Wartung von Software ...
Die Leute entfernen Code, anstatt ihn zu verwerfen ...
Es gibt keine Änderungsprotokolle ...
Projekte sollten so schnell wie möglich auf die neuesten Bibliotheksversionen aktualisiert werden ...
Es kann mehrere Updates geben an einem einzigen Tag ...

Das ist nicht nur Cowboy-Programmierung; Sogar Cowboys befolgen Regeln. Das ist offene Banditenprogrammierung, wo es keine stinkenden Regeln, keine stinkenden Prozesse, kein stinkendes Konfigurationsmanagement, keine stinkende Versionskontrolle gibt. Nichts als den Code zu schleudern. Das ist eine Organisation voller Leute, die keine stinkenden Abzeichen brauchen.

Eine Softwareentwicklungsorganisation, die sich 2016 nicht die Mühe macht, auch nur die einfachsten Versionskontrollsysteme zu verwenden, will keine Prozesse. Zeitraum. Menschen, die für solche Organisationen arbeiten, tun dies aus einem bestimmten Grund. Sie wollen nicht mit diesem „Prozesskram“ belästigt werden, auch wenn es ihnen helfen würde.

Also ja, es gibt viele Möglichkeiten, wie Ihre Initiative nach hinten losgehen kann.