SIGS DATACOM Fachinformationen für IT-Professionals

SOFTWARE MEETS BUSINESS:
Die Konferenz für Software-Architektur
03. - 07. Februar 2020, München

Sessionsdetails

Vortrag: Di 2.1
Datum: Di, 04.02.2020
Uhrzeit: 09:00 - 10:30
cart

Codeballast über Bord?! Erfahrungen aus der Identifikation von nutzlosem Code und dem Umgang damit

Uhrzeit: 09:00 - 09:45
Vortrag: Di 2.1 1)

 

Viele historisch gewachsene Systeme sammeln über die Jahre Code an, den niemand mehr braucht. Solch nutzloser Code verursacht Kosten, ohne Wert zu stiften, da er Wartungsaufwände erhöht und Migrationen verteuert. Allerdings ist meist unbekannt, welcher Code nutzlos ist. Wir stellen Analysen zur Identifikation von nutzlosem Code an COBOL-, Java- und ABAP-Fallbeispielen vor und skizzieren, wie mit Herausforderungen bei der Interpretation der Analyseergebnisse umgegangen und diese in der Migrations- und Wartungspraxis eingesetzt werden können.

Zielpublikum: Architekten, Entwickler, Projektleiter, Manager, Entscheider
Voraussetzungen: Keine
Schwierigkeitsgrad: Fortgeschritten

Extended Abstract
Viele historisch gewachsene Systeme sammeln über die Jahre Code an, den niemand mehr braucht und der deshalb nutzlos ist. Ein Grund dafür ist beispielsweise, dass bereits implementierte Anforderungen obsolet werden und der Code, der diese Anforderungen implementiert, in der Codebasis verbleibt. Da meist unbekannt ist, welcher Code nutzlos ist, verursacht er oft Kosten, ohne Wert zu stiften: Er erhöht Wartungsaufwände, da er bei querschnittlichen Änderungen unnötig mitgewartet wird. Und er verteuert Migrationen, wenn er migriert, aber nicht gebraucht wird. Deshalb ist es wünschenswert, nutzlosen Code zu kennen und diese unnützen Aufwände einzusparen.
In diesem Vortrag stellen wir drei statische und dynamische Analyseansätze vor, die wir in den letzten Jahren bei der Analyse von Kundensystemen und im Rahmen von Forschungsarbeiten entwickelt haben: Wir haben basierend auf statischer Unerreichbarkeit nicht ausführbare und damit nutzlose COBOL-Programme identifiziert; basierend auf den statischen Codeeigenschaften Stabilität und Dezentralität nutzlose Java-Klassen erkannt; und basierend auf der Aufzeichnung von Codeausführung auf mehreren SAP-Produktivsystemen ABAP-Code gefunden, der mehrere Jahre nicht ausgeführt wurde. Jeder Analyseansatz wurde an einer oder mehreren realen Anwendungen erprobt und die Analyseergebnisse zusammen mit dem Entwicklungsteam evaluiert. Wir stellen die Ergebnisse im Vortrag vor. Da keine der Analysen nutzlosen Code zweifelsfrei erkennen kann, skizzieren wir, wie mit dieser Unsicherheit in der Praxis umgegangen werden kann und wie Herausforderungen bei der Interpretation der Analyseergebnisse adressiert werden können. Schließlich beschreiben wir konkrete Handlungsoptionen zum Umgang mit nutzlosem Code bei Migration und Wartung und welche Erfahrungen wir damit in der Praxis gemacht haben.
Zusammenfassend stellt dieser Vortrag Verfahren vor, um Codeballast zu identifizieren und damit verbundene, unnütze Aufwände zu sparen. Damit können Entwicklungsteams knappe Ressourcen auf erfolgskritische Aktivitäten konzentrieren und in unbekannten Kontexten schneller auf sich ändernde Anforderungen reagieren und somit erfolgreich sein.

 

Libs, Lizenzen, Lösungen – Tipps zum Umgang mit Third-Party Libraries

Uhrzeit: 09:45 - 10:30
Vortrag: Di 2.1 2)

 

Viele Entwickler denken immer noch, dass nur "selbstgemachte" Software gut ist. Andere schwören darauf, immer die neueste Library in das Projekt zu integrieren.
Dieser Talk zeigt anhand von Beispielen die Fallstricke beim Umgang mit Third-Party Libraries auf.
Dabei werden technische Aspekte ebenso beachtet wie organisatorische und rechtliche Aspekte.

Zielpublikum: Architekten, Entwickler, Projektleiter
Voraussetzungen: Programmierkenntnisse, Projekterfahrung
Schwierigkeitsgrad: Fortgeschritten

Extended Abstract
Die Zeiten, in denen die Software wirklich zu 100 Prozent von einem Team entwickelt wird, sind lange vorbei. Schneller als man denkt kommen immer neue Libraries in das Projekt.
Aber was ist hier zu beachten?
Wie steht es mit der Rechtslage? Wie finde ich diese bei einem alten Projekt heraus?
Welche Probleme können im Betrieb entstehen?
Was kann ich tun, wenn eine Library in z.B. einer neuen Java-Version nicht mehr supportet wird?
Diese Fragen sollen im Talk anhand echter Beispiele einmal genauer untersucht werden.
In der anschließenden Diskussionsrunde kommen dann die Teilnehmer mit ihren Erfahrungen zu Wort.