2008-09-10 9 views
21

Sie verwalten aktiv technical debt Schulden auf Ihre Software-Entwicklungsprojekte und wenn ja, wie machen Sie das?Verwalten Sie aktiv technische Schulden?

+1

Diese Frage scheint off-topic zu sein, da Fragen des Projektmanagements nicht mehr zum Thema gehören. Siehe http://pm.stackexchange.com. – LittleBobbyTables

+0

Ich stimme ab, diese Frage als off-topic zu schließen, weil Fragen des Projektmanagements nicht mehr zum Thema gehören. Siehe [pm.stackexchange.com] (http://pm.stackexchange.com/tour). – Pang

Antwort

3

In unseren Teams verwalten wir aktiv technische Verbindlichkeiten. Wir machen Scrum, also erstellen wir eine technische Schuldenkarte für die aktuelle Iteration oder die nächste Iteration, abhängig von der Schätzung und unserer verbleibenden Sprintkapazität, und sie bekommen Priorität, genau wie Features und Fehlerkarten. Wir verwalten auch größere, Team-übergreifende Schuldenposten, indem wir einen teamsübergreifenden Rückstand von technischen Schulden haben, den wir priorisieren und in jedes Scrum-Team während ihrer Sprint-Planung injizieren.

9

Ein Aspekt der Verwaltung technischer Schulden besteht darin, nichttechnische Manager davon zu überzeugen, dass Sie Zeit für Refactoring und Fehlerbehebung benötigen.

Here's an article with specific suggestions auf, wie man das macht.

+2

+1 großer Fan deines Blogs Jason. –

+0

Danke @SnOrfus! Wenn du auf Twitter bist, folge @asmartbear und ich bringe dich zurück. –

+0

Ich habe hier einige Techniken und Taktiken zu technischen Schulden veröffentlicht: http://benlakey.com/2012/06/18/technical-debt/ –

2

Ich denke, es ist wichtig, Zeit für den Umgang mit technischen Schulden zu planen, wenn Sie versuchen, alte Sünden aufzuholen, aber ich denke auch, dass Sie dies nicht zur Gewohnheit machen sollten. Sobald Sie das Durcheinander beseitigt haben, sollten Sie vermeiden, dass Ihr Projekt mehr Schulden macht, es sei denn, Sie haben gute Gründe dafür.

Aktiv zu verwalten, wie Mike es vorschlägt, scheint der vernünftigste Ansatz zu sein, aber ich denke, es ist sehr wichtig, Ihrem Team klarzumachen, dass Sie keine Zeit planen oder auf lange Sicht Refactoring planen sollten.

Refactoring sollte ein natürlicher Teil des Schreibens von Code sein, und sollte daher in Ihren anderen Schätzungen und Plänen enthalten sein und nicht als separate Aktivität — behandelt werden, es sei denn aus "historischen" Gründen oder weil Sie bewusst beschlossen, etwas auf eine bestimmte Art und Weise umzusetzen und später wieder umzusetzen.

0

Es hängt viel vom Produkt ab. Als ich in einem Bereich arbeitete, in dem unser Code extern auditiert werden musste, war dies ein geplanter Teil unseres Sprints. PM hat gerade die Entwicklung gefragt, welcher Bereich benötigt wird, und es wurde in den Plan eingefügt. Das bedeutet nicht, dass Sie den Code in dem Bereich, an dem Sie gerade arbeiten, nicht beheben würden, aber Sie würden keinen Tag damit verbringen, einen beschädigten Code neu zu schreiben, der funktioniert hat. Jetzt arbeite ich in Scrum und Entwickler tun es einfach wie sie arbeiten. Mein Eindruck ist, dass ungefähr die gleiche Zeit in die Refactoring-Arbeit fließt.

1

Was Sie tun, ist erstellen Sie eine Kultur, wo technische Schulden nicht akzeptabel ist, es sei denn in extremen Fällen. Ähnlich wie Leute, die nur bar bezahlen und Kredite nur als letztes Mittel verwenden.

0

Ich stimme mit Anders überein. Wenn Sie Systeme für die Verwaltung technischer Schulden einrichten müssen, bedeutet dies, dass Sie sie noch hinzufügen. Stoppen Sie in erster Linie Schulden zu machen, indem Sie Ihre Definition von "fertig" aktualisieren.

Dies bedeutet, dass "verschuldete" Module schwerer durchzuarbeiten sind. Entwickler sollten sich dessen bewusst sein und ihnen mehr Story Points zuweisen, damit sie die Dinge "erledigt" lassen.

0

Wenn Sie zu spät in Release-Zyklus sind, möchten Sie die Codebasis nicht zu viel ändern. Dies bedeutet, dass es immer technische Verbindlichkeiten geben wird. Ich schreibe normalerweise FIXME: s für die Änderungen, die suboptimal sind, und dann kümmere ich mich um sie, bevor ich anfange, Funktionen für das nächste Release zu implementieren.

0

Java Posse haben kürzlich die Verwaltung von Technical Debt abgedeckt, die sehr umfassend aussieht.

1

Wenn ich wirklich technische Schulden anhäufen muss, weil ich JETZT etwas veröffentlichen muss, lege ich einen kritischen Fehler darüber, so dass es höchste Priorität hat.Aber nur für Extremsituationen (der Kunde springt auf und ab, die Frau sucht ein Dingbat etc.).

0

Bei den Projekten, an denen ich bisher beteiligt war, wurden einige technische Schulden nur zu Beginn neuer Phasen der Projekte "bezahlt" (verwaltet), d. H. Nach "großen Freigaben" oder Meilensteinen.

Ein sehr wichtiger Aspekt bei technischen Schulden ist, dass es nicht nur Entwickler, sondern auch das Management involviert. In diesem Sinne ist mir bewusst, dass der beste Weg, damit umzugehen, darin besteht, sie für "nicht-technische Projektbeteiligte" sichtbar zu machen, die Zeit und Ressourcen zur Verwaltung der technischen Schulden aufteilen können, sobald sie ihre Auswirkungen verstehen.

Diese article diskutiert verschiedene Arten von technischen Schulden, die gesund sein könnten, und speziell, wie man die technische Schuldenlast verwaltet und verfolgt.

Verwandte Themen