November 2015

Band 30, Nummer 12

Dieser Artikel wurde maschinell übersetzt.

Microsoft Azure – Technische Schulden mit SonarQube und TFS in den Griff bekommen

Durch Cesar Solis Brito, Hosam Kamel | November 2015

Technischer Schulden sind die Probleme in einem Entwicklungsaufwand, die auf den Kunden ineffizient vorankommen. Verwendungsdatensammlungssystem Produktivität durch erschwert Code schwer verständlich, instabil, zeitaufwändige ändern, um zu überprüfen, und nicht geplanten Arbeit, der den Fortschritt blockiert erstellt. Technischer Schulden Pflanzensäfte Stärke eines Unternehmens aufgrund hoher Customer Support-Kosten und schließlich eine Kombination dieser Probleme erzeugt größere Probleme.

Technische sind Schulden nehmendes. Kleine beginnt und mit der Zeit über Änderungen in Eile und mangelnde Kontext und Disziplin wächst. Es kann nicht genügend nirgendwo materialisieren – auch für ein Projekt, das als "sauberen" – aufgrund von Änderungen im Projekt Umstände. Beispielsweise kann für den US-Markt produzierte Code, der Prototyp für internationale, sofort erstellen von Schulden im Zusammenhang mit der Lokalisierbarkeit vorgeschlagen werden. Oder als Weiterentwicklung der Technologie, die app möglicherweise nicht zu halten.

Schulden kommt in vielen Formen, einschließlich der Probleme, die über die Codeanalyse doppeltem Code, Codekomplexität, nicht genügend Tests, überlappende und arbeitende Tests und "Architektur spaghetticode."

Core Probleme von Entwicklungsteams bei der Verwaltung ihrer technischen Schulden gehören:

  • Verstehen und Identifizieren der Schulden und, wo sich der Code befindet.
  • Evaluieren die Kosten für Wartung und die Kosten nicht wiederhergestellt. Technischen Schulden zu beheben, hat jedoch auch Nachteile. Nicht beheben auch hat jedoch auch Nachteile, sogar etwas komplexere, evaluieren und größer sein kann.
  • Richtlinien bereitstellen konzentriert sich verhindern Schulden immer schlimmer und ihn nach unten zu verwalten.
  • Verfügbarmachen von Entwicklern, die Schulden erforderlich, um die Richtlinien auf eine Weise zu erfüllen, die schwierig ist, ist nicht, damit nicht Sie dies als große zeitaufwändig und mühsam mühsam betrachten und können als Teil ihrer täglichen Entwicklungsprozess natürliche befassen.
  • Nachverfolgen von Schulden mit der Zeit, um sicherzustellen, dass die Hochrechnung in die richtige Richtung und definierte Richtlinien einhalten.
  • Beheben von Problemen Schulden so effizient und automatisch wie möglich.

Daher muss diese Schulden verwaltet werden – beseitigt nicht unbedingt – und hat daher gemessen wird. Wenn Sie verwaltet, sollte es zwischen anderen neuen Funktionen priorisiert und die gewünschte Funktionalität. Die Auswirkung sollten gemessen werden, sowie, wie die finanzielle Auswirkungen an, eine Hypothek gemessen wird.

Sie müssen der Entscheidungen Standardfeature sein, die während der Entwicklung technischen Schulden erhöhen kann. Sie sollten die Verbesserungen dadurch erreicht, dass tatsächlich technischen Schulden zu messen können. Dies ist wichtig, um den Produktbesitzer (Clients, Benutzern, Managern usw.) zu rechtfertigen, Investitionen.

Lösungen, wie z. B. SonarQube von SonarSource Zusammenarbeit mit Visual Studio Team Foundation Server (TFS) zu Strategien zum Sammeln von Daten zu erleichtern und zeigt ihn in eine Art geschützt, verwalten und technischen Schulden zu reduzieren. SonarQube ist eine open-Source-Plattform für die Erkennung und Verwaltung von technischen Schulden.

In diesem Artikel konzentrieren wir uns auf eine Methode zum Messen und technischen Schulden aktiv zu verwalten. Bewertung der Qualität von basierend auf Lebenszyklus erwartet (SQALE) aufgerufen wird, es ist eine open-Source-Methode, die nicht funktionierende Qualitätsattribute einer Software-Codebasis Schwerpunkt (bit.ly/1JQ96qT). Die SQALE-Methode wurde von Inspearit-Frankreich (ehemals DNV ITGS-Frankreich) entwickelt.

Nach einem Blogbeitrag SonarSource technische Schulden sind wie ein Verlust home Wasser (bit.ly/1N0Y4A9). Wenn Sie einen Speicherverlust Wasser zu Hause haben, was tun Sie zuerst, schließen Sie den Verlust oder den Boden? Die Antwort ist einfach und intuitiv: Schließen Sie den Verlust. Warum ist das so? Da eine andere Aktion nutzlos werden. Es werden nur eine Frage der Zeit, bis die gleiche Menge Wasser wieder auf den Boden.

Platzieren den Fokus auf den Code "Neu" mit technische Schulden bedeutet "beheben Sie den Verlust von". Das heißt, der Code, der hinzugefügt oder geändert, seit der letzten Version oder die letzten Commit/eingecheckt wurde.

Implementieren von SonarQube und TFS

Abbildung 1 zeigt eine Referenzarchitektur für eine Enterprise-Installation von TFS und SonarQube; es eine ausführliche Anleitung auf Kapazität, Entwurf, Implementierung und Betrieb von TFS lokal und in Microsoft Azure-Infrastruktur als a Service (IaaS) in der "TFS-Planungshandbuch" und "TFS auf Azure IaaS Guide", das von der Visual Studio ALM Rangers CodePlex-Website heruntergeladen werden kann (aka.ms/treasure5). Diese Architektur und seine Implementierung werden auf Unternehmensebene Support richtet unter Berücksichtigung der Funktionen für hohe Verfügbarkeit in der Datenebene über einen Datenbankcluster, und klicken Sie auf der Anwendungsebene in einer Farm.

Team Foundation Server Reference Architecture, einschließlich SonarQube
Abbildung 1 Team Foundation Server Reference Architecture, einschließlich SonarQube

Eine skalierbare SonarQube Server-Bereitstellung kann erreicht werden, indem mehrere SonarQube Server basierend auf einzelnen Teams einrichten oder Technologie unter Berücksichtigung der folgenden:

Innerhalb einer Instanz des Datenbank-Clusters sichere Möglichkeit, Dienste mit hoher Verfügbarkeit zu behandeln kann eine SonarQube-Datenbank installiert werden.

SonarQube Analyzer (plug-in) implementiert eine Möglichkeit, skalierbare serverabhängige Verarbeitungslasten von Analysedaten in der Datenbank SonarQube.

Die Datenbank und den Analyzern müssen sich im selben Netzwerk befinden. SonarSource arbeitet seit über die Umgestaltung von SonarQube (Version 5.2) so, dass sie eine Architektur mit drei Ebenen, wodurch diese Einschränkung wird veraltet.

Alle Computer – Datenbank, Webserver, Analyzer – muss Uhrzeit synchronisiert werden.

Erforderliche Komponenten für das Hosten von SonarQube und TFS in Azure

Einrichten einer Umgebung für TFS und SonarQube auf Azure benötigen Sie ein Azure-Abonnement genügend Guthaben in Richtung der Größe der Umgebung machen Sie erstellen. Können Sie die TFS-Planungshandbuch (bit.ly/1JzfVJK) entscheiden, die Größe der virtuellen Maschinen (VMs). Das Handbuch enthält außerdem Vorschläge auf Authentifizierungsmodelle z. B. eigenständigen Domäne erweitert und unidirektionale Vertrauensstellung Optionen. Ein großartiges Feature von Azure, die beschleunigen die Erstellung der Umgebung ist die verfügbare vorgefertigte TFS-VM-Vorlage, wie im Abbildung 2.

Virtuelle Maschinen Vorlage auf Microsoft Azure
Abbildung 2 virtuelle Maschinen-Vorlage auf Microsoft Azure

Netzwerkkonfiguration sollte je nach Bedarf für den Schutz von externen Zugriff auf die inneren Schichten der TFS-Architektur ausgewählt werden. Verschiedene Arten von Azure verbinden zu lokalem über ein VPN sollte überprüft werden, als eine Möglichkeit zum Erweitern der Infrastruktur des Unternehmens und Flexibilität der Cloud zu erhalten. Das Handbuch beschreibt bewährte Methoden und Tipps zur Leistung, die beim Einrichten der TFS-Umgebung in Azure hilfreich sind. SonarQube erfordert, dass die Datenbank und Analyzer im selben Netzwerk befinden müssen.

Führen Sie die empfohlenen Schritte bei der Planung für die Installation:

  • Bestimmen Sie die Eignung der Azure IaaS. Cloud computing bietet Computingfunktionen als Dienst, so dass Sie auf Ressourcen zugreifen, wie z. B. berechnen, Stromversorgung, Netzwerke und Speicher. Entscheiden Sie, ob die Einschränkungen zulässig sind und ob eine nützliche.
  • TFS planen. Verwenden Sie "TFS und Notfall Avoidance und Wiederherstellung Planungshandbuch" (bit.ly/1JzfVJK) die beste Serverarchitektur für Ihre Bedürfnisse zu ermitteln.
  • Azure IaaS-Zuordnung. Ordnen Sie die nächsten Azure-VM-Konfiguration basierend auf Kosten und Skalierbarkeit.
  • Azure-Plattform Governance. Definieren Sie das Konto, Abonnements und den Besitz der Verwaltung und Berichterstattung an Ihr Unternehmen Prüfungsanforderungen erfüllen. Besitz- und Verantwortungsbereiche klar zu definieren.
  • Planen des Netzwerks. Definieren Sie Ihr Netzwerk, das lokale Anforderungen, Adresse Netzwerksegmenten, Affinität Gruppierung, Auflösung, Azure-tunneling und Überwachung umfasst.
  • Planung der Speicherkapazität. Definieren der Speicherstrategie mit lokalen Speicher oder Azure-Speicher.
  • Überprüfen. Wenden Sie sich an einen Azure Experten von Microsoft oder von Azure-Communitys (bit.ly/1fVTgz0) und überprüfen Sie die Pläne vor dem Ausführen eines Commits für sich selbst. Sicherstellen Sie die geplante Umgebung ist technisch und finanziell und aufrechterhalten werden kann.

Da der Zweck dieses Artikels besteht darin, einen SonarQube-Server für die Demo und Testzwecke einzurichten, sind zusätzliche Schritte nicht hier erwähnt werden. Wenn Sie planen oder eine produktionsumgebung oder eine Migration von einer vorhandenen Bereitstellung, sollten Sie die weiteren Schritte im Handbuch für einen vollständigen Plan überprüfen. Es gibt auch eine Prüfliste für die Bereitstellung in der Dokumentation, die für eine erfolgreiche Installation befolgt werden sollten.

Der Azure IaaS verweisen, Architektur und Installation ausgeübt hier basieren auf der Begleit-Machbarkeitsstudien (POC) ausführlich die "TFS auf Azure IaaS Guide", zum Beispiel für die Implementierung verwendet werden kann. Handbuch für die detaillierte Schritte zum Einrichten der TFS-POC-Umgebung enthält, gibt aber es keine Einschränkung, um die gleichen Schritte mit Ihrer eigenen POC-Umgebung oder in der Produktion eines.

Für die Installation SonarQube

Es empfiehlt sich dieselbe IaaS SQL Server-Instanz für SonarQube-Installation nur kümmert bestimmte SQL Server-Konfigurations-Anforderungen beim Erstellen der Datenbank SonarQube. Der "SonarQube Installation Guide für vorhandene Team Foundation Server 2013 einzelne Server-Umgebung" (bit.ly/1itxhS9) verfügt über ausreichend detaillierte Informationen und Referenzen zum Einrichten von Azure-Regionen (Stellen Sie sicher, dass zum Zusammenstellen des SonarQube-Servers-Computer in der gleichen Region wie TFS) und SQL Server. Die SQL Server-Konfiguration und die Datenbank die Erstellung hat bestimmte Anforderungen für SonarQube erfüllen. Beispielsweise muss der SQL-Datenbank, Groß-/Kleinschreibung und Akzenten, und dies ist nicht die Standardeinstellung. SQL-Authentifizierung muss aktiviert sein, und ein SQL-Benutzer, die für SonarQube arbeiten konfiguriert. Beim Hosten in Azure müssen Sie Netzwerkprotokolle für SQL Server den Zugriff auf die Datenbank außerhalb des virtuellen Computers zu aktivieren, indem Sie bestimmte Schritte ändern. Verwenden den SQL Server-Konfigurations-Manager, aktivieren Sie zunächst die Named Pipes- und TCP/IP-Protokoll für die SQL Express-Datenbank Siehe Abbildung 3.

Aktivieren das Named Pipes und TCP/IP-Protokoll für die SQL Express-Datenbank
Abbildung 3 ermöglicht die Named Pipes und TCP/IP-Protokoll für die SQL Express-Datenbank

Immer noch im Server-Konfigurations-Manager, bearbeiten Sie die TCP/IP-Eigenschaften, und suchen Sie auf der Registerkarte IP-Adressen für dynamische TCP-Ports und notieren Sie den Port (hier 49419), siehe Abbildung 4. Sie verwenden sie um die Verbindung von außerhalb der Datenbank zu aktivieren.

Beachten Sie die Portnummer in dynamische TCP-Ports, die Verbindung mit der Datenbank von außen zu aktivieren.
Abbildung 4 Beachten Sie die Portnummer in dynamische TCP-Ports, die Verbindung mit der Datenbank von außen zu aktivieren.

SieheAbbildung 5, starten Sie den SQL Server mit der rechten Maustaste auf SQL Server Express in der SQL Server-Dienste-Element, und wählen Sie neu starten. Starten Sie den SQL Server-Browser (Registerkarte Dienst nicht beendet automatisch und starten Sie ihn).

Der SQL Server-Browserdienst starten
Abbildung 5: starten den SQL Server-Browser

Jetzt müssen Sie einen Port in der Firewall öffnen, damit die Datenbank auf dem TFS-Computer zugegriffen werden. Geben Sie Folgendes in der cmd.exe-Aufforderung als Administrator ausführen:

netsh advfirewall firewall add rule name="SQL" dir=in action=allow
  protocol=TCP localport=49419 49590

SonarQube erfordert nicht die vollständige Installation von JVM-Java SE Runtime Environment (JRE) sollte ausreichen, und es gibt bestimmte Vorschläge zum Einrichten und nutzen Sie ein X 64 Prozessorarchitektur.

Das Setup des Abschnitts SonarQube Server im Handbuch beschreibt, wie der Download, Installation und Konfiguration beim Konfigurieren und starten Sie SonarQube, einschließlich der Windows-Firewall-Einstellungen.

Beim Hosten in Azure müssen Sie Zugriff auf den Server SonarQube von außen zugänglich zu aktivieren. Zu diesem Zweck müssen Sie zuerst den anonymen Zugriff deaktivieren. Um Authentifizierung zu erzwingen, melden Sie sich als Systemadministrator, und rufen Sie die Einstellungsseite | Allgemeine Einstellungen | Sicherheit und legen Sie die Force User Authentication-Eigenschaft auf "true".

Öffnen Sie den Port in der Firewall für den Webserver. Nun müssen Sie einen Port in der Firewall öffnen, damit der Webserver über das Internet zugänglich ist. Geben Sie in einer cmd.exe-Eingabeaufforderung als Administrator ausführen:

netsh advfirewall firewall add rule name="Sonar Web" dir=in action=allow
  protocol=TCP localport=9000

Hinzufügen von Endpunkten in Azure Sonar Web und die Datenbank. Für den Moment können Sie SonarQube Computer mit Remotedesktop anmelden und Zugriff auf die Datenbank und die Website. Sie müssen sicherstellen, dass Sie diese beiden Ressourcen aus Ihrem Computer über das Internet herstellen können. Dazu benötigen Sie zum Erstellen von Endpunkten in Azure:

  • Wechseln Sie zu portal.azure.com.
  • Suchen Sie nach der virtuellen Maschine, in denen SonarQube eingerichtet ist.
  • Klicken Sie in der Blade-Darstellung dieser virtuelle Computer auf alle Einstellungen.
  • Klicken Sie in den Einstellungen auf Endpunkte.
  • Klicken Sie auf "hinzufügen" in das Fenster "Endpunkte".
  • Fügen Sie einen Endpunkt namens Sonar Web privaten Ports 9000 den öffentlichen TCP-Port 9000 zuordnen.
  • Fügen Sie einen Endpunkt namens SQL-Zuordnung von des öffentlichen TCP-Ports 1433 an den privaten Port 49419 (der Port 1433 wird vom SQL Server Management Studio oder Visual Studio zum Ermitteln des SQLEXPRESS erwartet). Beachten Sie, dass dieser Schritt nicht mehr erforderlich wird nicht als SonarQube 5.2 veröffentlicht wird.

SonarQube kann auf viele Sprachen Analysen; Zuerst müssen Sie die Plug-Ins für die Sprachen des Projekts aus der SonarQube-Plug-in-Bibliothek analysiert werden installieren (bit.ly/1NdhnYF) oder über SonarQube Update Center (bit.ly/1NPKZet). Dann müssen Sie zum Installieren und konfigurieren einige erforderliche Komponenten auf dem Build-Agent, je nach Art der Projekte: MSBuild.SonarQube.Runner (bit.ly/1LOYzM3), eine für. NET--basierte Projekte); SonarQube Maven-Plug-Ins Runner (für Java Maven-Projekte). und SonarQube Runner, Läufer generische für alle anderen Projekttypen.

Team Build integriert werden und die geänderte Builddefinition testen, siehe Abbildung 6. Das Tool SonarQube Runner integriert mit Build-Agent problemlos von Entwicklungsteams, die Arbeit mit TFS verwendet durchgeführt werden können.

Durchführen von Analysen mit Build-Agent SonarQube
Abbildung 6 SonarQube Analyse mit Build-Agent

Strategie zum Verwalten von technischen Schulden

Nun, dass die SonarQube-Umgebung eingerichtet ist, beschreiben wir eine Strategie zur Messung der technische Schulden in agile aufwärtsspirale zur Verbesserung des Wert, der dem Produktbesitzer und dem Unternehmen nutzen. Wie von der Methode SQALE erwähnt, ist unsere Absicht klar definieren, was die technische Schulden erstellt, diese Schulden korrekt zu schätzen, analysieren die Forderung nach technischen und geschäftlichen Perspektive und bieten unterschiedliche Prioritäten Strategien ermöglichen, einen Plan optimierte Resultate einrichten.

Die SQALE-Methode, siehe Abbildung 7, wird zum formulieren und Organisieren der nicht funktionsbezogenen Anforderungen, die Qualität des Codes zu beziehen. Es ist in drei hierarchische Ebenen organisiert: Merkmale, untergeordnete Merkmale und Anforderungen, sich auf interne CodeAttribute beziehen. (Diese Anforderungen hängen in der Regel Kontext und die Sprache der Softwares. Eine Verletzung dieser Anforderungen stellt technischen Schulden.)

Die SQALE-Methode
Abbildung 7: die SQALE-Methode

Die Methode SQALE normalisiert die Berichte, die infolge der Quelle Codeanalysetools können durch iteriert und in den Kosten für Wartung und nicht wiederhergestellt. Darüber hinaus werden die Regeln für die Aggregation diese Kosten, entweder Baumstruktur der SQALE-Methode, oder befolgen die Hierarchie Artefakte, die den Quellcode definiert. Um technische Schulden eines Softwareprojekts zu verwalten, sollten Sie die Schulden sichtbar machen. Stellen Sie sicher, dass des Produktbesitzers und marketing-Mitarbeiter wissen, dass technischer Schulden vorhanden ist, und wiederholen Sie die Ihnen oft "Wenn wir technische Schulden tilgen Zeitplan nicht erhalten Sie möglicherweise nicht alle gewünschten Funktionen."

Die Wasser Speicherverlust Metapher empfiehlt Zurückstellen der aktuellen technischen Schulden, es sei denn, was wirklich wichtige und dringende beheben – z. B. Sicherheitsprobleme. So nehmen Sie eine Baseline, stellen Sie sicher, dass Sie neue Schuld bewusst sind, versuchen Sie nicht, stellen Sie alle neuen Schulden (Stop den Verlust) und wie Sie arbeiten und Umgestalten von Code, der Zeitaufwand für die vorhandene Schulden zu beseitigen. Sie sind Komponententests, sodass gefährlich, dies ist nicht (Bereinigung alles).

Verwalten von technischen Schulden muss nicht eingeplant werden. Es ist eine Änderung des Verhaltens in der gesamten Organisation.

Wie in Abbildung 8, SonarQube stellt ein Dashboard basierend auf SQALE in der Reihenfolge für das Team eine allgemeine Darstellung des Status eines Softwareprojekts Qualität haben.

SQALE methodenbasierte SonarQube Dashboard innerhalb einer Project-Lebensdauer 
Abbildung 8: SQALE methodenbasierte SonarQube Dashboard innerhalb einer Project-Lebensdauer

Abbildung 9 zeigt das Widget technische Schulden Pyramide. Lesen Sie das Diagramm vertikal von unten nach oben. Erstens soll sichergestellt, dass Sie getestet werden (40 Minuten), andernfalls sind, ändern Sie code, es gibt keine Garantie, Sie wird nicht mehr Probleme einführen. Anschließend möchten Sie zuverlässig, das dauert eine zusätzliche 42 min; Daher müssen insgesamt zuverlässig Sie 1 h 22 Min. usw. verbringen.

Technische Schulden Pyramide Widgets
Abbildung 9: technische Schulden Pyramide Widgets

Wie kann ich technische Schulden zu verwalten?

Es folgen die wichtigsten Schritte erforderlich, um die technische Schulden zu verwalten:

Schritt 1: Legen Sie die Ziele des Projekts. Es muss eine Definition von was technischen Schulden erstellt. Die Indizes werden basierend auf der durchschnittlichen Remediation-Maßnahmen, die vom Entwicklungsteam geschätzte berechnet. Mehrere Diagramme und werden verwendet, um Stärken und Schwächen des Quellcodes bewerteten effizient zu visualisieren. Sie sollten Fragen:

  • Die meisten zu Risiken beitragen, welche Teile der Software?
  • Die Qualitätskriterien die betroffen sind?
  • Was ist die Auswirkung der identifizierten Verstöße auf das Projekt oder die Benutzer?

Dies sind die definierten Ziele über ein Projekt. SonarQube können Sie bestimmte Probleme innerhalb des Codes Drilldown, um die Ursache und Auswirkungen und damit Aufgaben zur Tilgung der Schulden zu verstehen. Diese Analyse sollte während der agilen Planung und wenn möglich, priorisiert entlang Product Backlog Items (PBIs). Die PBIs sind definiert und ausgewertet, um zu verteilen oder zu verbessern, Geschwindigkeit oder andere Merkmale der Architektur. Die Eigenschaften werden von wichtiger, denen definiert, die potenzielle geschäftliche Vorteile für die Produktbenutzer wie Portabilität oder Wiederverwendung ausliefert.

Schritt 2: Überwachen Sie den Betrag der technischen Schulden im Zeitverlauf an. Überprüfen der Ergebnisse des Tasks ausgeführt werden oder bewährte Methoden, die implementiert wird. Wichtige Fragen enthalten, ob technische Schulden erhöht, während der letzten Tag/Sprint/Version und wie viel Rand gibt es das Ziel für das Projekt festgelegten verknüpft ist.

Schritt 3: Analysieren Sie den Prozess und die Auswirkung. Sie sollten auch technischen Schulden durch folgende von Methoden zwischen verschiedenen Projekten oder Teams oder Zulieferer vergleichen sein. Dies kann zwischen Teams bewährte Methoden übernehmen und diese effektiver anwenden, während auch bessere technische Schulden Ergebnisse messen verbessern.

Es ist möglich, den Ursprung der technischen Schulden durch die Beantwortung von Fragen wie z. B., die Teil des aktuellen während der letzten Tag/Sprint/Version, erstellt wurde welcher Teil des aktuellen aus Legacycode geerbt wird und welche Teile des Projekts haben die höchste technische Schulden zu analysieren.

Teams sollten auch auf bestimmte Teile der technischen Schulden konzentrieren, um die Ergebnisse zu optimieren. Dazu Fragen wie z. B. die dringendsten Probleme in meinem Code behoben werden, was die nächste Probleme behoben sind und welche Verstöße gegen "richtigen Code" nicht so kostspielig sind beheben und generiert eine hohe Verringerung der Auswirkungen für Unternehmen.

Wenn ich 100 Stunden zum Verringern der technischen Schulden verbringen, überzeugen Sie sich wie viel ich meine Geschwindigkeit verbessert? Und welche Verbesserung werden Benutzern wahrnehmen, die Qualität der Anwendung?

Die Antworten auf diese Fragen bietet einen natürliche Feedbackmechanismus für die Suche nach Möglichkeiten zur Verbesserung und Schließen der Lücken zu einem besseren Produkt.

Die Methode SQALE unterstützt drei Strategien für die Adressierung von technischen Schulden:

  1. Technische Logik (nutzlose Doppelarbeit vermeiden). Verwenden Sie die SQALE Pyramide.
  2. Beheben die Unfällen mit den höchsten geschäftlichen verringern Sie Auswirkung auf das Unternehmen nicht.
  3. Die Rentabilität die Unfällen mit der höchsten Rendite gemeldeten Fehler zu beheben.

Nachbereitung

Technischer Schulden zu verwaltende hat – nicht notwendigerweise entfernt – und hat daher bestätigt und gemessen werden. Auswählen, um ihn zu beenden, ist ein guter Ausgangspunkt. Auswahl nach unten zu verwalten, und es gibt unterschiedliche Arten. Vorhandene Schulden möglicherweise bereinigt werden, wie Sie Code zum Beheben von Fehlern oder Hinzufügen neuer Funktionen berühren. Oder vielleicht Wiederherstellung, die Aktionen für Sicherheits-oder Übereinstimmung wird wichtig sind. Dies ist z. B. die Möglichkeit der Organisation denkt, dass das Problem behoben werden soll. In diesem Fall muss die Arbeit auf die anderen neuen Funktionen oder Funktionalität gewünscht, Messen der Auswirkungen auf die Implikationen priorisiert werden.

Sollten Sie lernen, die Entscheidungen Standardfeature sein, die technischen Schulden erhöhen kann und Sie können dadurch erreicht, dass tatsächlich es Verbesserungen zu messen.

SonarQube und die TFS-Integrationskomponenten erleichtern Sammeln von Daten aus dem Build in Microsoft Build Engine oder TFS und Visual Studio Online. SonarQube bietet technischen Schulden in eine Möglichkeit, die hilft Ihnen zu verstehen und in Ihrem Plan wie besser investieren auflösen. Laufende Arbeit von Microsoft und SonarSource ist (finden Sie unter bit.ly/1OeqftX) diese Integration weiter verbessern und eine erstklassige Lösung zum Verwalten von technischen Schulden auf einer Plattform bereitzustellen.


Cesar Solis BritoBerater in der Softwareentwicklung in den Feldern Finanz- und pharmaceutical und bei Microsoft seit mehr als 20 Jahren wurde. Derzeit ist er ein Escalation Engineer bei Microsoft und für die Azure-Plattform. Er aktiv arbeitet im Anwendungslebenszyklus-Verwaltung und Entwicklungstechnologien von Microsoft beziehen. Sie erreichen ihn unter Cesar.Solis@microsoft.com oder ihm auf Twitter folgen: @cesarsolis.

Hosam Kamelist senior premier Field Engineer bei Microsoft und ein Visual Studio ALM Rangers mit mehr als 10 Jahren der Softwareentwicklung auftreten. Sein Spezialgebiet sind derzeit in Visual Studio ALM und Team Foundation Server. Sie erreichen ihn über seinen Blog unter blogs.msdn.com/HKamel oder ihm auf Twitter folgen: @HosamKamel.

Dank den folgenden technischen Experten von Microsoft für die Überprüfung dieses Artikels: Mathew Aniyan, Brian Blackman, Harysh Menon, Duncan Pocklington und Jean-Marc Prieur