Hat jemand Erfahrung mit der Verwendung einer Bug-Tracking- / Issue-Tracking-Software wie Bugzilla, Mantis oder JIRA, nicht nur für Bugs oder Aufgaben, sondern um Diskussionen zu initiieren und aufrechtzuerhalten, die letztendlich zu einer Entscheidung führen?
Ein Entwickler ist beispielsweise der Meinung, dass alle geschützten Felder aufgehoben und mit geschützten Methoden, die auf sie zugreifen, in private Felder geändert werden sollten. Es ist nicht seine Berufung, und er möchte darüber diskutieren. Normalerweise spricht er den Punkt im nächsten Entwicklertreffen an, an dessen Ende eine Entscheidung getroffen wird. Stattdessen hatte ich die Idee, dass er ein Thema einer bestimmten Art "Entscheidung" eröffnet und seine Absicht beschreibt, als würde man normalerweise einen Fehler oder eine Aufgabe beschreiben.
Andere Entwickler können ihre Kommentare abgeben, wenn sie dies wünschen, und am Ende wird das Problem als "akzeptiert" oder "abgelehnt" geschlossen.
Die Vorteile, die ich darin sehe:
- Asynchrone Kommunikation: Niemand ist gezwungen, in einer Besprechung seine Meinung zu äußern, wenn er noch keine Zeit hatte, alle Auswirkungen dieser Entscheidung zu überwachen.
- Schriftliches Protokoll von Überlegungen, die zu einer Entscheidung führen. Wenn jemand diese Frage später noch einmal aufwirft, kann er darauf verwiesen werden.
- Es können Beziehungen zu anderen Themen hergestellt werden, z. B. kann eine Aufgabe bis zu einer Entscheidung zurückverfolgt werden.
- Die Integration in Versionskontrollsoftware, z. B. ein Commit, kann auf eine Entscheidung zurückgeführt werden.
Nachteile:
- Starker Geruch eines goldenen Hammers: Issue-Tracking-Software wird normalerweise verwendet, um verwertbare Gegenstände zu verfolgen
- Organisatorischer Aufwand kann unverhältnismäßig sein: Anstelle eines kleinen informellen Gesprächs muss man seine Ideen in schriftlicher Form kommunizieren
Antworten:
Die Art und Weise, wie wir arbeiten, sollte Issue Tracking alle Probleme verfolgen. Wir wissen nicht, welche Probleme umsetzbar sind, bis sie analysiert wurden. Wenn das Tracking-System nur umsetzbare Probleme enthält, werden diese wahrscheinlich zu früh untersucht, sodass Diskussionen und Entscheidungen verloren gehen. Wir gehen so vor, wie es sein sollte (jedenfalls in unserem Workflow), da sonst Probleme wiederholt und ohne Sichtbarkeit angesprochen werden können.
Wir haben eine Kategorie in unserer Jira-Implementierung für "Risiko", daher verwenden wir Jira, um Elemente zu verfolgen, die nicht umsetzbar sind, aber die Software in irgendeiner Weise gefährden können. Die Diskussion über den Artikel wird nachverfolgt und sobald das Risiko beseitigt (oder gemindert) ist, wird das Problem geschlossen. Das Beispiel, das Sie gegeben haben, könnte leicht in die Risikokategorie eingehen.
Es ist wichtig, dass solche Dinge besprochen und nachverfolgt werden und die Entscheidung aufgezeichnet wird. Wenn der Entwickler das Problem in ein paar Monaten erneut anspricht, hat die Antwort "Gefragt und beantwortet" eine Rechtfertigung.
quelle
Korrigiere mich, wenn ich falsch liege; aber ich denke, was du redest ist - "Kann / Wie man Bug-Tracking / Issue-Tracking-Systeme verwendet, um auch" Decision-Tracking "durchzuführen. Fehlt etwas?
Am Anfang würde ich sagen, dass dies in der Tat eine großartige Idee ist. Obwohl wir es nicht genau so verwenden, ist es sinnvoll, es zum Zwecke der Verfolgung zu verwenden. In unserem Fall folgt ein langer E-Mail-Thread - eher als Forum / Mailingliste.
Bei Ihrer Frage im weiteren Sinne geht es jedoch darum, wie Sie Entscheidungen effektiv treffen (und verwalten) und die Auswirkungen der Arbeit mit den getroffenen Entscheidungen in Verbindung bringen können, um bessere Einblicke zu gewinnen.
Wie gesagt, es kann eine großartige Idee sein, wenn das den Menschen hilft. Daran ist nichts auszusetzen. Um Entscheidungen effektiv zu treffen / zu treffen, sind jedoch nur wenige konkrete Dinge erforderlich.
Es ist richtig, dass die meisten Entscheidungen breit angelegt sein sollten, damit alle wichtigen Aspekte abgedeckt und angemessen abgewogen werden, bevor Entscheidungen getroffen werden. Unabhängig davon, welches Tool Sie verwenden, muss der transparente Zugriff auf Informationen für alle Beteiligten möglich sein. Sie haben Recht, dass der asynchrone Modus zum Übermitteln und Sammeln von Informationen hilfreich ist, da die Leute Zeit einplanen können, bevor sie Vorschläge machen. Wenn Sie vorab um Antworten gebeten werden - in der Regel während der Besprechungen - ist das Urteil möglicherweise nicht so gut wie bei der gleichen Person mit genügend Hausaufgaben.
Dies bedeutet jedoch nicht unbedingt "reine Demokratie", bei der jede Stimme gleich ist. Im Allgemeinen sollte die entscheidende Person eine oder wenige sein - und obwohl sie alle Meinungen vertreten hat, muss sie für die Entscheidungen selbst verantwortlich sein und nicht für alle Personen, die ihre Meinungen abgegeben haben.
Die meisten Entscheidungen müssen umsetzbar sein. Dies könnte schwierig sein, Widersprüche zu vermeiden. Aber die Tatsache, dass Entscheidungen nicht umsetzbar und nur subjektiv sind, eröffnet Möglichkeiten für zukünftige (Fehl-) Interpretationen.
Es ist wichtig, die Ebene und den Umfang der Entscheidung zu klassifizieren. Vor allem müssen wir herausfinden, ob wir ein bestimmtes Designproblem oder einen bestimmten Aspekt des Codes oder einen bestimmten Aspekt der Prozesse diskutieren oder ob diese Probleme mit der Projektplanung und -verfolgung zusammenhängen. Sehr oft, wenn Probleme aus einem Produktionscode hervorgehen - all dies ist zutreffend, aber wir müssen in der Lage sein, alle verschiedenen Aspekte zu unterscheiden und diese Entscheidungen unabhängig voneinander effektiv zu verwalten.
Manchmal können Entscheidungen darüber getroffen werden, ob wir bestimmte Systeme oder Rollen und Verantwortlichkeiten für Einzelpersonen verwenden. Es kann schwierig sein, diese Entscheidungen mit der Kodierung spezifischer Entscheidungen in einem Forum vom Typ Schwarzes Brett zu verknüpfen.
Nur eine zusätzliche Anekdote; Jedes Team muss Codeprüfungen und Entwurfsprüfungen als eigenen Prozess durchführen. Dies wird viele Probleme abdecken, die Sie beispielsweise angeführt haben. Sie müssen entscheiden, ob Entscheidungen verfolgt werden, die sich mit anderen Dingen befassen oder nicht.
Eine gute Entscheidungspraxis erfordert viel Disziplin bei der Zusammenführung der Informationen und der Sicherstellung, dass Entscheidungen bei der Umsetzung mit dem richtigen Geist eingehalten werden.
Ein Tool kann nur dazu beitragen, Informationen besser darzustellen, nicht darüber hinaus. Aber das könnte eine gute Hilfe sein, wenn es für Sie funktioniert.
quelle
FogBugz ist der richtige Weg. Es ist nicht kostenlos. Die neuesten Funktionen machen die Implementierung einer agilen Methodik noch einfacher.
Ein einfacher, freier Weg wäre Asana.
Unabhängig davon, welches Tool Sie verwenden, ist die Teamkommunikation das Wichtigste, um ein erfolgreiches Projekt zu ermöglichen.
quelle