Ich arbeite seit 4 Jahren im IT-Bereich (als Entwickler und QA-Leiter) und bin erst im September 2018 als Systemanalyst in dieses Unternehmen eingetreten.
Hier sind einige Hintergrundinformationen über das Unternehmen und das Projekt, das wir gerade durchführen:
Folgendes ist mir am aktuellen SOP/Workflow des Teams aufgefallen:
Ist das ein gesundes Projektmanagement? Ich habe dem PM meine Bedenken geäußert, dass wir eine ordnungsgemäße Dokumentation (URS, FRS usw.) haben und uns abmelden sollten, um häufige Änderungen von Ideen / Anfragen zu verhindern und Zeit für Entwickler zu gewinnen, aber der PM sagte, dieser Kunde kümmert sich nicht darum es und wird die Verfahren nicht befolgen. Was sollten wir tun, um mit diesen Szenarien umzugehen?
Scheint sicherlich nicht gesund zu sein, wie beschrieben :/. Ich kann nicht zu allen Punkten sprechen, aber ein Stück:
Wenn Sie an Funktionen arbeiten, ohne etwas vorgeführt zu haben, ist dies nicht großartig. Ich bin mir nicht sicher, ob Sie mehr Dokumentation benötigen, aber Sie müssen in einen wiederholbaren Zyklus von „Bauen Sie ein Arbeitsstück, zeigen Sie es dem Kunden, entscheiden Sie gemeinsam, was als nächstes wichtig ist, was gebaut werden soll.“
Wenn sie Änderungen wünschen, nachdem sie es gesehen haben, schön und gut – sie müssen mit den restlichen Elementen auf der Liste priorisiert werden.
Wenn Sie keine funktionierende/demontierbare Software erhalten, bevor der Kunde oder PM nach Änderungen fragt, ODER wenn die Änderungen immer oberste Priorität haben, dann werden Sie nie in einen Rhythmus der Lieferung funktionierender Software geraten, und das Projekt wird vorhersehbar sein zerbrechlich und stressig. :(
Die für Änderungen und Ergänzungen geforderte schnelle Bearbeitungszeit ist ebenfalls lückenhaft – es ist unmöglich, in einen vernünftigen Entwicklungszyklus zu gelangen, wenn jede neue Laune oberste Priorität hat.
Ich bin sicher, andere können sich mit spezifischeren Erkenntnissen melden - viel Glück. Sorgen Sie sich nicht zu sehr um die Dokumentation, aber bestehen Sie auf einem vernünftigen Entwicklungszyklus, priorisierten Anforderungen und häufigen Demos.
Das Team praktiziert agile Methoden (Mein erstes Mal mit Agile)
Agilität ist nicht wirklich eine Methodik. Es ist ein Ansatz für die Softwareentwicklung , bei dem es wichtiger ist, auf Änderungen zu reagieren als einem Plan zu folgen.
Es scheint wahrscheinlich, dass Sie einem agilen Framework folgen, möglicherweise Scrum oder Kanban ? Wenn Sie in Sprints arbeiten, verwenden Sie wahrscheinlich Scrum. Es würde sich lohnen, mehr von Ihrer Organisation darüber zu erfahren, welchen Rahmen sie befolgen, da dies es uns ermöglicht, spezifischer auf Ihre Frage zu antworten.
Es gibt einige Probleme mit dem aktuellen Ansatz:
Der PM hat die Entwickler angewiesen, die Lösung zu codieren (gemäß der Idee/Visualisierung des PM)
Dies ist keine agile Praxis. Typischerweise ermutigen wir die Leute, die die Implementierung durchführen, das Design zu produzieren.
Kundenfeedback mit Änderungen (manchmal geringfügig, manchmal größer) und PM forderten das Team auf, innerhalb der nächsten Stunden / Tage Änderungen gemäß dem Feedback vorzunehmen.
Kundenfeedback ist wertvoll und Teil des agilen Ansatzes. Es ist jedoch ungewöhnlich, sofort auf alle Rückmeldungen zu reagieren. Ein gängiger Ansatz wäre, das Feedback zu erhalten, es zu überprüfen, zu priorisieren (neben anderen bestehenden Anforderungen) und es dann bei Bedarf in die nächste Planungssitzung einzubringen.
PM erhielt immer Anruf vom Kunden
Es ist nicht ungewöhnlich, einen primären Ansprechpartner mit dem Kunden zu haben. Es ist jedoch in der Regel sehr wertvoll, wenn auch Mitglieder des Lieferteams mit ihnen sprechen. Es wäre sicherlich nicht sinnvoll, Kommunikationsbarrieren zwischen dem Delivery-Team und dem Anforderungs-/Feedbackgeber zu errichten.
Der PM wird gefragt, warum wir Idee A verwenden, da sie falsch ist, und uns auffordern, zu Idee B zu wechseln
Das ist eindeutig eine Fehlfunktion. Es lohnt sich, das Lieferteam zusammenzubringen und mit dem Projektmanager zu sprechen. Schlagen Sie einen anderen Ansatz vor, bei dem das Team mehr Verantwortung für die Entwicklung übernimmt. Wenn Sie einen agilen Coach in Ihrer Organisation haben, wäre dies eine gute Gelegenheit, ihn einzubeziehen.
„Ob Sie es glauben oder nicht, die reale Antwort könnte lauten – vielleicht nicht, aber wir müssen es trotzdem tun.“
„Agil“ ist zunächst einmal ein Ideal. (Eine wertvolle und nützliche Perspektive, aber nichtsdestotrotz „ein Ideal“.) Als solche enthält sie bestimmte vereinfachende Annahmen – die wahr oder falsch sein können – sowohl in Bezug auf „den Kunden“ als auch in Bezug auf die Umstände, unter denen „der Client" handeln könnte. Glücklicherweise hat Ihr Team einen PM, der „8 Jahre Erfahrung mit diesem Unternehmen“ hat. ("Halleluja.")
Computersoftware ist sehr anspruchsvoll und die Entwicklung dauert lange ($$$!!) . So könnte das Team in eine bestimmte Richtung geschickt werden, bevor diese Richtung vollständig verstanden wird, in dem Wissen, dass Nacharbeit das Ergebnis sein wird. Auf Kundenanforderungen kann reagiert werden, bevor der Kunde (!) vollständig weiß, wie die endgültigen Anforderungen aussehen werden, oder die endgültigen Geschäftsentscheidungen getroffen (oder davon erfahren) hat, die sie bestimmen.
Was hier passiert – und das ist etwas, was eine Methodik trotz ihrer Vorzüge wirklich zu einfach zu verstehen ist – ist eine Reihe von fundierten Vermutungen , die gleichzeitig auf mehreren verschiedenen Ebenen angestellt werden, sowohl innerhalb als auch über dem Team.
„Computerprogrammierung“ erfordert notwendigerweise „absolute Gewissheit“, da die betreffende Maschine nur 1 und 0 kennt , aber dieses „Raten“ wird angewendet, um den Aufwand gegen die reale Geschäftsunsicherheit mit – so hoffen wir – so wenig Verschwendung und Nacharbeit wie möglich abzugleichen möglich.
Außerdem – "sobald die Software fertiggestellt ist, wird sie in Stein gemeißelt und daher viel schwieriger zu ändern sein." Dies ist ein weiteres Argument für die "Fluidität", die Programmiermethoden so schwer zu verstehen sind. Das Unternehmen kann sich sozusagen spekulativ auf bestimmte Aspekte des Gesamtprojekts festlegen, da es weiß, dass einige Teile überarbeitet werden müssen, aber nicht alle.
Todd A. Jacobs
VincentPzc