Frage

Ich bin ganz neu / Kanban Lean, sondern über Online-Ressourcen in den letzten paar Wochen und haben sich mit einer Frage gegossen, dass ich keine gute Antwort gefunden haben. Mager / Kanban scheint sonst so eine gute Passform für unser Unternehmen, die bereits Scrum nutzen, haben aber einige Einschränkungen innerhalb dieser Methode erreicht. Ich hoffe, jemand hier kann mir eine gute Idee.

Wie ich es sehe, einer der größten Vorteile von Scrum über Wasserfall ist der Einsatz von Sprint. Dadurch, dass alles bereit alle 14 Tage Sie kurze Feedbackzyklen erhalten und oft freigeben kann. wie ich verstanden habe es jedoch aus der Lektüre über Lean, einige Kosten, die damit verbunden sind (zum Beispiel Zeit in Sprint-Planung Meetings, Team Engagement Meetings und einige Problemen verbrachte mit etwas Nützliches für alle am Ende des Sprints zu finden).

Lean / Kanban wird diese Abfälle entfernen, aber nur auf Kosten der nicht alle 14 Tage freigeben zu können. Oder habe ich verpasst einen wichtigen Punkt? Denn in Kanban, wie können Sie auf neue Entwicklungsaufgaben arbeiten und zur gleichen Zeit veröffentlichen? Wie stellen Sie sicher, dass Sie nicht etwas tun versenden, die nur zur Hälfte fertig ist? Und wie kann man es richtig testen?

Meine besten "Lösungen / Ideen" so weit sind:

  • Sie lösen nicht oft und ermöglichen die Abfälle im Zusammenhang mit Aufgaben aus der neuen Entwicklung ausgeführt wird. Nicht wirklich eine Lösung für die Frage aber gefragt.
  • in Zweige entwickeln und dann in den Hauptstamm fusionieren. Machen Sie haben kontinuierlich intern mindestens zwei Zweige zu unterstützen.
  • Verwenden Sie einige intelligente automatische Kennzeichnung System automatisch nur bestimmte fertige Aufgaben und andere nicht zu bauen.

Als Zusammenfassung Meine Frage ist : Wenn Sie Lean / Kanban verwenden, können Sie lösen oft ohne Abfall einzuführen? Oder ist Release oft nicht Teil von Lean / Kanban?

Weitere Informationen spezifisch für mein Unternehmen : Wir verwenden Team Foundation-System & Source Control und hatte zuvor einige schlechte Erfahrungen in Bezug auf Branching und Merging. Könnte dies einfach in einem gewissen Know-how gelöst werden in diesem Bereich, indem?

War es hilfreich?

Lösung

Das Problem, das Sie beschreiben, scheint eine Quelle Steuerprogramm - wie in-progress getan Funktionen von Funktionen zu trennen, als etwa Kanban. Sie scheinen auf laufen viele Zweige eine schwere Strafe zu stellen - was der Fall für die Quellcodeverwaltung Systeme ist nicht um die Idee von mehreren Filialen basiert. Auf Distributed Source Control-Systeme, wie GIT und Merkur, alles ist ein Zweig, und sie haben und mit ihnen zu arbeiten ist leicht.

Ich nehme an, Sie diesem Blog über Kanban vs SCRUM lesen und die damit verbundenen praktischen Leitfaden?

Und in der Antwort auf Ihre Frage, ja, können Sie lösen oft mit Kanban.

Andere Tipps

Sie müssen Pull-Systeme verstehen, die, was Kanban ist ist so konzipiert, zu verwalten.

Ein Kunde (oder Product Owner oder ähnliches) Anforderung für eine Funktion im laufenden System ist das, was den Prozess auslöst.

Die Anforderung ist ein Signal, das dem Einsatz geht. Deployment Look für einen Prüfling mit Eigenschaften, die die Anforderung entsprechen. Wenn es keine gibt, können Sie die Tests schreiben und Entwicklung sehen, ob es eine Entwicklung Schlitz ist, der verwendet werden kann, um etwas umzusetzen, das den Test erfüllt. Wenn die Entwicklung seiner Entwicklung gemacht hat (vielleicht für eine geeignete Analyse der Suche zuerst und so weiter), funktioniert der Test seine Test und Bereitstellung entfaltet.

Die Anforderungen nach hinten durch das System gehen sind Berechtigungen zu arbeiten. Sobald der Antrag angekommen ist, löst dies eine Menge Aktivität, wobei jede Aktivität sollte so schnell wie möglich abgeschlossen werden. Dort haben Sie Ihren Turbo-Einsatz.

Genau wie die Anforderung für ein Auto geht an den Händler, der in dem Schiff, die in die Autofabrik signalisiert sieht, wer die Lieferanten signalisiert.

Kanban geht es nicht um Anforderungen, die durch ein System schieben. Es geht um die Funktionalität aus dem System im Austausch für eine Anfrage, die über den Zieh letzten Schritt eintritt.

Das Team schaffe ich verwendet Kanban und wir lösen um alle zwei Wochen. Wenn Sie streng sind, was in Ihren Fern Code Zweig integriert wird (Tests vorbei, Kunden genehmigt, etc.), Kanban können Sie freigeben, wann immer Sie wollen. Sie müssen sicherstellen, dass die Geschichten über Ihr System zu bewegen sind nicht co-abhängig, um dies zu tun, aber auf meinem Team, das in der Regel kein Problem - ein großer Teil unserer Arbeit Wartung beinhaltet, die aus mehreren unabhängigen Fehlerbehebung bestehen / Ausstattung pro Release.

Die Art, wie wir wöchentliche Veröffentlichungen auf einem nachhaltiges Engineering-Projekt behandelt, die verwendete Kanban eine Verzweigungsstrategie umzusetzen war. Die Devs arbeitete in einem Sandbox Zweig und machte einen checkin pro Workitem. Unsere Tester würden das Arbeitselement in der Sandbox testen; wenn sie die Regressionstests die checkin geben würden in unserem Release-Zweig migriert werden. Wir schlossen den Release-Zweig von Mittag Montag bis zum Release ging (in der Regel bis Mittwoch, gelegentlich bis Donnerstag, war der Tropfen tot Datum Freitag), und wieder lief die Regressionstests für alle migrierten checkins sowie Integrationstests für das Produkt, dropping Release einmal alle der bestandenen Tests.

Mit dieser Strategie lassen Devs ständig zu Themen arbeiten, ohne während des Freisetzungsprozesses aus ihrem Zweig eingefroren werden. Er läßt sich auch zu Themen arbeitet, die mehr als eine Woche dauerte zu lösen; wenn es nicht in und getestet wurde geprüft / genehmigt es nicht migriert.

Wenn ich Kanban für eine neue Version eines Projektes läuft, würde ich eine ähnliche Strategie verwenden, aber Gruppe alle zugehörigen checkins als ‚Feature‘, eine Funktion, die Migration en masse zu dem Versionszweig einmal wurde die Funktion durchgeführt, und dann zusätzliche Einheit / Integration / Annahme / Regressionstests in dem Freigabezweig vor dem Durchführen eine Veröffentlichung mit dieser Funktion fallen. Beachten Sie, dass ein Schlüsselkonzept von Kanban ist in Arbeit zu beschränken, so könnte ich mein Team beschränken auf ein Merkmal zu einem Zeitpunkt, zu arbeiten (dies wahrscheinlich mehrere Workitems / User Stories wäre).

Es gibt mehr zu diesem als nur der Quellcodeverwaltung, aber Ihre Wahl von TFS wird Sie begrenzen. Wenn das Burton-Projekt im Jahr 2004 wurde konzipiert zurück, wurde Microsoft nicht die Aufmerksamkeit auf Agile zahlen, viel weniger Lean. Es wird Ihre schwächste mechanische Verbindung für einige Zeit sein. Ihre hackles sollten von CodePlex eigener Annahme von Mercurial angehoben worden, nachdem er als Aushängeschild der TFS-Implementierung der Microsoft-Community angeboten wurde.

Ein ausgeprägtes Problem hier ist, Arbeitsgestaltung. Es umfasst die Reihenfolge, die Sie wählen Funktionen (Arbeitsplan) sowie die Priorisierung und die Kosten der Verzögerung und der Form und Größe der Arbeitselemente zu implementieren.

Scrum wird allgemein sagen interpretiert, dass nicht-technischen „Product Owner“ Arbeitsplan auf ihren eigenen Anliegen ausschließlich basierend bestimmen kann. Wenn Sie diesen Pfad folgen, Sie gehen durch nicht nehmen, die Chancen viel Abfall entstehen Arbeit zusammen zu tun, die zusammen gehört. Eine Arbeit, die zusammen gehört, kann nicht nur durch Product Owner Wünschen bestimmt werden. Technische und Belegschaft (Fähigkeiten) Chancen müssen auch berücksichtigt werden.

Für die Arbeit in der produktivste Art und Weise zu tun, die Arbeit hat sich auf diese Weise gestaltet werden. Das bedeutet, dass in einem Lan Product Development Team, werden die Entscheidungen nicht von einer nicht-technischen Arbeiter gemacht, sondern durch das, was Toyota ruft jemand von „Sehr hohe Fachkompetenz“, die auf das Produkt der Nähe, in der Nähe zu den Kunden und in der Nähe der Mannschaft .

Diese Rolle ist ein starker Kontrast zu Scrum Satz. Ein Chefingenieur auf einem Lean-Team ist sie (selbst) die Stimme des Kunden, und die Rolle des Product Owner ist nicht erforderlich.

Scrum „Product Owner“ ist eine Anerkennung einer unterentwickelte Rolle in der Softwareentwicklung Organisationen, aber es ist weit von einer nachhaltigen Lösung, die Abfälle konsequent vermeidet. Die Rolle der „Software Architects“ ist oft unzureichend, ebenso wie in einigen Entwicklern Subkulturen hat der Architekt von der Arbeit entfernt viel zu werden.

Ihre Fragen des kontinuierlichen Einsatzes sind nur mit Technologie und Werkzeugen teilweise angesprochen. Schauen Sie auch auf organisatorische Fragen, und vielleicht einige Gedanken zu Scrum Zweck geben als Übergangs-Ansatz von Wasserfall eher als eine, die Ihre Organisation auf unbestimmte Zeit dienen kann.

Für die Quellcodeverwaltung würde ich sehr empfehlen Perforce . Es macht Verzweigung und die Integration von Änderungen aus anderen Branchen relativ einfach und bietet die beste Schnittstelle für die Quellcodeverwaltung, die ich bisher gesehen habe.

Kontinuierliche Integration hilft auch - das heißt viele kleine, mehr als täglich verpflichtet, statt große und potenziell anspruchs verschmilzt. Tools wie CruiseControl- können Highlight helfen, wenn die Quelle bekommt durch eine schlechte gebrochen begehen. Auch wenn jeder viele kleine Änderungen dann in Konflikt stehenden Änderungen vornimmt wird selten.

Ich würde auch nicht zu versuchen, beraten Dingen wie schlank, gedränge, kanban & co zu folgen. zu eng. lösen Sie einfach die Probleme selbst, auf der Suche nach diesen Ideen zur Führung statt Unterricht. Die Besonderheiten Ihrer Probleme mehr als wahrscheinlich eine gewisse Flexibilität für das beste Management erfordern.

Wie wir es machen:

Wir haben eine Pipeline mit den folgenden Stufen

  1. Backlog
  2. TODO
  3. In Bearbeitung (Entwicklung und schnellen Test)
  4. Code-Überprüfung
  5. Test (Intensives Testen)
  6. Integrationstest und allgemeine Akzeptanztests
  7. Bereitstellen

Jede Geschichte als ein Zweig entwickelt basiert auf der neuesten Version der Deploy Bühne zu verlassen. Sie werden dann im Rahmen der Vorbereitung der Integrationstest integriert.

zieht QA von der Code-Review-Phase und kann Mitteilungen bereitet der Mangel an jedem Tempo. Ich denke, wir haben ein Tempo von etwa einem Release jede Woche.

Mit dem „Master“ Zweig von git zu entfernen und nicht zu tun, jede Zusammenführung vor dem Code-Review-Phase wir sichergestellt haben, dass es keine Möglichkeit gibt, zu „schleichen“ Code in Versionen. Die, wie ein interessantes Nebenprodukt, hat uns gezwungen, einen großen Teil der Arbeit sichtbar zu machen, die versteckt werden verwendet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top