Successfully reported this slideshow.
Your SlideShare is downloading. ×

Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring-Projekt

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 9 Ad

Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring-Projekt

Download to read offline

Legacy-Software-Refactoring
Welche Zielsetungen sind für ein erfolgreiches Software-Refactoring-Projekt relevant?
Diese Präsentation bietet einen exklusiven Einblick für IT-Manager, IT-Leiter, Product Owner und Entwicklungsleiter.
Technosoft Software Development unterstützt IT-Unternehmen in Deutschland, den Niederlanden, Österreich, Schweiz, Liechtenstein bei der erfolgreichen Umsetzung ihrer Refactoring-Projekte.

Legacy-Software-Refactoring
Welche Zielsetungen sind für ein erfolgreiches Software-Refactoring-Projekt relevant?
Diese Präsentation bietet einen exklusiven Einblick für IT-Manager, IT-Leiter, Product Owner und Entwicklungsleiter.
Technosoft Software Development unterstützt IT-Unternehmen in Deutschland, den Niederlanden, Österreich, Schweiz, Liechtenstein bei der erfolgreichen Umsetzung ihrer Refactoring-Projekte.

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring-Projekt (20)

Advertisement

Recently uploaded (20)

Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring-Projekt

  1. 1. Legacy-Software-Refactoring TECHNOSOFT SOFTWARE DEVELOPMENT - NEARSHORE OUTSOURCING - QA & TESTING 1 WELCHE ZIELSETZUNGEN SIND FÜR EIN ERFOLGREICHES REFACTORING-PROJEKT RELEVANT?
  2. 2. Erfolgreiches Software-Refactoring 2 Zielsetzung 1: Den Quellcode vereinfachen  Übliche Softwareanwendungen steuern zwar keine SpaceX- Raketen zum Mars, sind aber manchmal so aufgebaut, als ob sie es tun würden. Da ein Entwickler manchmal zu viele Abstraktionsebenen überarbeitet, um unmögliche Szenarien auszuschließen und zahlreiche „Was wäre wenn“-Fälle zu berücksichtigen, kann es schon vorkommen, dass man am Ende über sein Ziel hinaus geschossen hat. Da die Lernkurve für eine komplizierte Anwendung viel zu lang sein kann, wird eine einfache Wartung wegen unnötigen Schichten, Wrapper, Schnittstellen und tiefen Vererbungsketten praktisch unmöglich. Keep it simple! (function repeat () { eat () ; sleep () ; code () ; repeat () ; }) () ; TECHNOSOFT SOFTWARE DEVELOPMENT - NEARSHORE OUTSOURCING - QA & TESTING
  3. 3. Erfolgreiches Software-Refactoring 3 Zielsetzung 2: Einsicht in den Quellcode verbessern  Undurchsichtiger Quellcode kann aus mehreren Gründen entstehen: Alltagsstress des Entwicklers, mangelnde Kommunikation der Projektteilnehmer, rasch wechselnde Anforderungen. Was auch immer der Grund sein kann, ist es in manchen Fällen nahezu unmöglich zu verstehen, was im Quellcode vor sich geht und warum dieser überhaupt noch funktioniert. Es sind weder Kommentare, Diagramme noch Dokumentation vorhanden. Niemand kann den Code ändern, ohne dadurch die Anwendung außer Betrieb zu setzen. TECHNOSOFT SOFTWARE DEVELOPMENT - NEARSHORE OUTSOURCING - QA & TESTING
  4. 4. Erfolgreiches Software-Refactoring 4 Zielsetzung 3: Strukturelle Robustheit des Quellcodes verstärken  Viele Programmierer schreiben ihren Quellcode einfach „herunter“, wodurch dieser instabil wird. Bei jeder Änderung, die man später vornimmt, fühlt es sich an, als ob man ein Kartenhaus berühren würde - es droht immer etwas zusammenzubrechen. Im Gegenteil zur objektorientierten Programmierung, können viele Legacy-Anwendungen nur dank Quellcode-Kommentaren verstanden werden. Dies ist ein typisches Problem besonders für Anwendungen mit komplexen Abhängigkeiten und einer großen Anzahl an Schnittstellen. TECHNOSOFT SOFTWARE DEVELOPMENT - NEARSHORE OUTSOURCING - QA & TESTING
  5. 5. Erfolgreiches Software-Refactoring 5 Zielsetzung 4: Flexibilität des Quellcodes verbessern  Eine starre Quellcodebasis macht es schwer, neuen Anforderungen gerecht zu werden. Die Entwicklung neuer Funktionalitäten stellt komplexe Herausforderungen dar und muss sorgfältig eingeplant werden. Kunden beschweren sich über andauernde und kostspielige Umsetzungen. Dies ist ein typisches Problem für Anwendungen, die zu schnell gewachsen sind oder nur auf bestimmte Anforderungen zugeschnitten wurden, ohne das Gesamtbild zu berücksichtigen. TECHNOSOFT SOFTWARE DEVELOPMENT - NEARSHORE OUTSOURCING - QA & TESTING
  6. 6. Erfolgreiches Software-Refactoring 6 Zielsetzung 5: Leistung des Quellcodes steigern  Die Anwendung hat mit der Zeit mehr Benutzer gewonnen, mehr Daten werden bearbeitet und mehr Funktionen werden ausgerollt. Obwohl der Quellcode anfangs akzeptabel funktionierte, wurde er in der Zwischenzeit langsamer und muss wieder reanimiert werden, bevor Kunden damit anfangen sich zu beschweren. Dieser Nebeneffekt - übermäßige Langsamkeit - kann mit der Zeit zu Recht auftreten und als Fehler angesehen werden. TECHNOSOFT SOFTWARE DEVELOPMENT - NEARSHORE OUTSOURCING - QA & TESTING
  7. 7. Erfolgreiches Software-Refactoring 7 Zielsetzung 6: Quellcode-Testbarkeit verbessern  Ablaufverfolgungs- oder Fehlerprotokolle sind entweder nicht verfügbar oder nicht detailliert und aussagekräftig genug, um klare Einsichten zu bekommen, was nicht läuft. Wenn ein Kunde bestimmte Fehler meldet, nimmt die Untersuchung sehr viel Zeit in Anspruch und erfordert häufig die direkte Einbeziehung eines Entwicklers. Ohne gutes QA-Management oder strukturierte QA/Testing-Prozesse ist das Wiedergeben von Fehlern schwierig und erfordert manchmal sogar die vollständige Replikation der Kundenumgebung (Daten und Software) in einem lokalen Netzwerk, um das Debugging aufzunehmen. TECHNOSOFT SOFTWARE DEVELOPMENT - NEARSHORE OUTSOURCING - QA & TESTING
  8. 8. Erfolgreiches Software-Refactoring 8 Zielsetzung 7: Deployment von Quellcode automatisieren  Jedes Mal, wenn neuer Quellcode bereitgestellt wird, sind kleine Überraschungen nicht ausgeschlossen. Muss der Entwickler für einen reibungslosen Ablauf eine Vielzahl manueller Schritte verfolgen, oder ist zu viel Konfiguration notwendig, dann sind diese bestimmten Personen zuzuschreiben. Legacy-Software ist eher auf Vertrauen anstatt von Effizienz aufgebaut, diese Praxis entspricht längst nicht mehr modernen Tools und Services wie z.B. Docker, Kubernetes, GitHub und Azure DevOps, die den Deployment- Prozess um das Zehnfache beschleunigen können. TECHNOSOFT SOFTWARE DEVELOPMENT - NEARSHORE OUTSOURCING - QA & TESTING
  9. 9. Tel: 0231 586 99 717 E-Mail: info@technosoft.de 9STRUCTURAL ENGINEERING - NEARSHORE OUTSOURCING - QA & TESTING Ihre Legacy-Software läuft träge? Geben Sie nicht auf! Vertrauen Sie auf mehr als 40 Jahre Erfahrung in Softwareentwicklung und Qualitätssicherung! Wir freuen uns auf Ihren Anruf!

×