Software-Modernisierung

Modernisieren von komplexen Software-Systemen

Sie möchten eine bestehende Softwarearchitektur modernisieren oder für neue Geschäftsfelder einsetzen? Sie möchten Betriebs- und Entwicklungskosten Ihrer Systeme senken und deren Flexibilität erhöhen?

Wir helfen Ihnen bei systematischer Verbesserung, beginnend bei der strukturierten Problem- und Risikoanalyse sowie der Maßnahmenfindung. Diese Grundlagen bewerten wir dann aus betriebswirtschaftlicher Sicht. Wir unterstützen Sie so bei der notwendigen Priorisierung und bei der strategischen Planung und Umsetzung der notwendigen Verbesserungsmaßnahmen.

Mit Ihnen gemeinsam ergreifen wir die geeigneten Maßnahmen, um die unter wirtschaftlichen, organisatorischen und technischen Rahmenbedingungen für Sie optimale Architektur und Implementierung zu erreichen. Sprechen Sie mit uns - über Ihre Zukunftsfähigkeit durch systematische Modernisierung.

  • Die VENOM-Story: Von Leben, Leiden und Rettung eines großen (und gar nicht so hypothetischen) IT-Systems

    Vortrag Gernot Starke IT Tage 2017

    Darf ich Ihnen VENOM vorstellen – ein eCommerce-System für ziemlich komplizierte Produkte (Komplettausstattung von Supermärkten, Gartenplanung, Regal- und Möbelplanung und ähnlich abgefahrene Dinge) – inklusive kompletter Logistik, Lieferung, Verzollung, Aufbau, Abnahme, Inbetriebnahme… nennen wir es “very normal system”. Das System ist historisch/hysterisch gewachsen, wird von einer zerfahrenen, ziemlich desolaten Firma (SAMM Inc.) entwickelt und betrieben und drohte vor einiger Zeit, “den Bach hinunter” zu gehen. SAMM Inc. zog die Reißleine, und beauftragte ein (agiles) Team damit, die Rettung von VENOM (und SAMM) vorzubereiten und durchzuführen – “Succeed or die”, hieß die Devise. Diese (völlig fiktive) Situation ist in Wirklichkeit völlig real: Hören Sie über “rise and fall of the system”, sehen Sie die Auswirkungen desaströser Architekturarbeit und verkorkster Entwicklungs- und Betriebsprozesse.

    Erleben Sie anschließend, wie methodische Verbesserung von Software funktionieren kann, die Rettung von VENOM: Von der systematischen Architekturbewertung über die Entwicklung angemessener Verbesserungsmaßnahmen bis hin zur effektiven Umsetzung zeige ich auf, wie Modernisierung und Evolution sich mit Projektalltag und Feature-Druck vereinbaren lässt.

    Disclaimer: Eventuelle Ähnlichkeiten mit realen Softwaresystemen und Entwicklungsorganisationen wären rein zufällig – obwohl ich diverse der hier geschilderten Situationen selbst erleben durfte oder erleiden musste.

    Mehr lesen
  • Am Rande des Abgrunds – die VENOM-Story. Ein Interview mit Gernot Starke

    Link Gernot Starke

    Wie sieht ein ganz normales System eigentlich aus? Wenn sich technische Schulden immer höher türmen, wie schaffen wir es, nicht von ihnen erschlagen zu werden? Dr. Gernot Starke liefert Antworten im Interview auf der W-JAX 2017.

  • Die VENOM-Story: Von Leben, Leiden und Rettung eines großen (und gar nicht so hypothetischen) IT-Systems

    Vortrag Gernot Starke W-JAX 2017

    Darf ich Ihnen VENOM vorstellen – ein E-Commerce-System für ziemlich komplizierte Produkte (Komplettausstattung von Supermärkten, Gartenplanung, Regal- und Möbelplanung und ähnliche abgefahrene Dinge) inklusive kompletter Logistik, Lieferung, Verzollung, Aufbau, Abnahme, Inbetriebnahme, nennen wir es „very normal system“.

    Das System ist historisch/hysterisch gewachsen, wird von einer zerfahrenen, ziemlich desolaten Firma (SAMM Inc.) entwickelt und betrieben und drohte vor einiger Zeit, „den Bach herunter“ zu gehen. SAMM Inc. zog die Reißleine und beauftragte ein (agiles) Team damit, die Rettung von VENOM (und SAMM) vorzubereiten und durchzuführen – „Succeed or die“ hieß die Devise.

    Diese (völlig fiktive) Situation ist in Wirklichkeit völlig real: Hören Sie über „rise and fall of the system“, sehen Sie die Auswirkungen desaströser Architekturarbeit und verkorkster Entwicklungs- und Betriebsprozesse.

    Erleben Sie anschließend, wie methodische Verbesserung von Software funktionieren kann, die Rettung von VENOM: Von der systematischen Architekturbewertung über die Entwicklung angemessener Verbesserungsmaßnahmen bis hin zur effektiven Umsetzung zeige ich auf, wie Modernisierung und Evolution sich mit Projektalltag und Featuredruck vereinbaren lassen.

    Disclaimer: Eventuelle Ähnlichkeiten mit realen Softwaresystemen und Entwicklungsorganisationen wären rein zufällig – obwohl ich diverse der hier geschilderten Situationen selbst erleben durfte oder erleiden musste.

    Mehr lesen
  • Keynote: Verbesserung eines großen IT-Systems – am (guten + schlechten) Beispiel

    Vortrag Gernot Starke Software Architecture Summit Berlin 2017

    Lernen Sie VENOM kennen, ein großes und über mehrere Jahre lang auch erfolgreiches IT-System. Hören Sie Erfolgsberichte begeisterter Anwender und Trauerreden beteiligter Entwicklerinnen, Horrorgeschichten aus Betrieb und Support. Die Protagonisten dieses Systems sind zufriedene und erschrockene Benutzer, motivierte, engagierte und frustrierte Entwickler, scham- und rücksichtslose, effektive und chaotische Manager, Admins und Betreiber und andere.

    VENOM stößt an vielerlei Grenzen, das Management wechselt häufig die Fahrtrichtung, das Entwicklungsteam alterniert zwischen Stress, Depression und Euphorie.

    Das Management beauftragt „Verbesserung“ – und dann erleben Sie, wie’s gehen kann. Soviel sei verraten: Nicht jeder Ansatz führt zu Erfolg – und manches drohende Desaster kann sich dann doch noch zum Positiven wenden. Außerdem sollen Vollbremsungen bei hoher Geschwindigkeit schon so manches Vehikel vor der Kollision mit der (harten) Wand bewahrt haben.

    Das hier beschriebene VENOM-System (für very normal system) ist einerseits völlig fiktiv, aber andererseits basieren viele der zugrunde liegenden Entscheidungen, Strukturen und Konzepte maßgeblich auf real existierenden Systemen. Die Verbesserungsansätze, die Sie erleben werden, entstammen sämtlich der Realität.

    Mehr lesen
  • Bis an den Abgrund - und zurück: Aufstieg, Krise und Rettung einer (gar nicht so) hypothetischen Software

    Vortrag Gernot Starke Java Forum Stuttgart 2017

    Unser “ganz normales System” (VENOM, "very normal system“) unterstützt eCommerce-Prozesse für ziemlich komplizierte Produkte (Komplettausstattung von Kaufhäusern und Apotheken, Gartenplanung, Regal- und Möbelplanung und ähnliche abgefahrene Dinge) - inklusive kompletter Lieferung, Verzollung, Aufbau, Abnahme, Inbetriebnahme….

    Das System, über viele Jahre eher hysterisch als historisch gewachsen, wird von einer ziemlich desolaten organisierten Firma (SAMM Inc.) entwickelt und betrieben. Es drohte vor einiger Zeit, „den Bach herunter“ zu gehen. SAMM Inc. zog die Reißleine, und beauftragte ein (agiles) Team damit, die Rettung von VENOM (und SAMM) vorzubereiten und durchzuführen - „Succeed or die", hieß die Devise.

    Diese (überaus fiktive) Situation ist in Wirklichkeit völlig real. Lernen Sie „rise and fall of a system“ aus der Nähe kennen, sehen Sie die Auswirkungen desaströser Architekturarbeit sowie verkorkster Entwicklungs- und Betriebsprozesse. Und dann - erfahren Sie von Maßnahmen, die wirklich helfen könnten (oder auch nicht) - und sehen Sie (am realen Beispiel), wie methodische Verbesserung von Software(architektur) funktionieren kann.

    Disclaimer: Ähnlichkeit mit real existierenden Unternehmen ist rein zufällig.

    Mehr lesen
  • Leben, Leiden und Rettung eines IT-Systems

    Vortrag Gernot Starke Java User Group Köln Juli 2017

    Der ganz normale Wahnsinn - vom Leben, Leiden und der Rettung eines (gar nicht so) hypothetischen Systems

    VENOM (das „very normal system“) unterstützt eCommerce-Prozesse für ziemlich komplizierte Produkte (Komplettausstattung von Supermärkten, Gartenplanung, Regal- und Möbelplanung und ähnliche abgefahrene Dinge) - inklusive kompletter Lieferung, Aufbau, Abnahme, Inbetriebnahme….

    Das System ist über gute 20 Jahre historisch/hysterisch gewachsen, wird von einer zerfahrenen, ziemlich desolaten Firma (SAMM Inc.) entwickelt und betrieben und drohte vor einiger Zeit, „den Bach herunter“ zu gehen. SAMM Inc. zog die Reißleine, und beauftragte ein (agiles) Team damit, die Rettung von VENOM (und SAMM) vorzubereiten und durchzuführen - „Succeed or die", hieß die Devise.

    Diese (völlig fiktive) Situation ist in Wirklichkeit völlig real. Hören Sie über „rise and fall of the system“, sehen Sie die Auswirkungen desaströser Architekturarbeit und verkorkster Entwicklungs- und Betriebsprozesse. Diskutieren Sie mit mir, welche Maßnahmen helfen könnten (oder auch nicht) - und sehen Sie (am realen Beispiel), wie methodische Verbesserung von Software funktionieren kann.

    Disclaimer: Ähnlichkeit mit real existierenden Unternehmen ist rein zufällig.

    Mehr lesen
  • Der ganz normale Schrecken – interaktive Geschichte eines großen IT-Systems

    Vortrag Gernot Starke JAX 2017

    Erleben Sie die Geschichte von VENOM, einem großen erfolgreichen, aber auch chaotischen IT-System aus der Sicht verschiedener Beteiligten. Unsere Protagonisten sind zufriedene und erschrockene Benutzer, motivierte, engagierte und frustrierte Entwickler, scham- und rücksichtslose, effektive und chaotische Manager, Admins und Betreiber und andere.

    Die Story beginnt schon in den 1990er-Jahren, als Netscape noch das Gesicht des Internets war, bis in Zeiten resilienter, containerbasierter Microservices. VENOM stößt dabei an vielerlei Grenzen, das Management wechselt häufig die Fahrtrichtung, das Entwicklungsteam alterniert zwischen Stress, Depression und Euphorie.

    Sie lernen eine Modernisierungs- und Verbesserungsinitiative kennen, die nach diversen Reviews und Diskussionsrunden gestartet werden soll.

    Und dann sind Sie, wertes Publikum, gefragt: Kann der Plan zur Modernisierung von VENOM aufgehen? Kann VENOM an frühere Erfolge anknüpfen? Findet die Entwicklung in ruhige Fahrwasser zurück?

    Mehr lesen
  • KEYNOTE: Architekturtransformationen in der Praxis

    Vortrag Gernot Starke, Stefan Tilkov Software Architecture Summit 2017

    Eigentlich wollen alle nur das Beste – und doch ist es oft so schwer, sinnvolle Veränderungen durchzusetzen. Dieses Gefühl plagt IT-Konferenzbesucher, wenn sie, frisch beflügelt von den großartigen Berichten über die Innovationsführer, wieder „nach Hause” kommen und dort mit den tollen neuen Ideen vor Wände laufen. In diesem Vortrag werfen wir einen Blick auf die typischen Probleme und diskutieren Wege, sie zu überwinden. Für das systematische Vorgehen spielen neben Technologie auch Politik und Betriebswirtschaft eine wichtige Rolle.

    Mehr lesen
  • Architekturmodernisierung mit SCS und Microservices

    Vortrag Alexander Heusingfeld, Michael Vitz OOP 2017 Folien verfügbar

    Dieser Vortrag adressiert ein klassisches Dilemma der IT: eine große, monolithische Anwendung, kritisch und wichtig, und innerlich ungeheuer schwer und aufwendig zu warten. Um auf fachliche Änderungen und dynamische Märkte schneller reagieren zu können, müssen wir dieses Altsystem modularisieren und strukturell sowie konzeptionell modernisieren – dabei aber kontinuierlich (hoch) verfügbar halten. Ganz nebenbei verfügen wir natürlich nur über ein eingeschränktes Budget.

    Wir zeigen Ihnen anhand etablierter Praktiken und Patterns (aus dem Fundus von aim42.org) typische Möglichkeiten auf, solche Projekte anzugehen. So können Sie Stück für Stück, gerade so, wie es das Projektbudget zulässt, die Architektur des Gesamtsystems modernisieren, ohne ein Big-Bang-Release zu fürchten. Hierbei wollen wir auch die Frage beantworten, mit welchen Themen Sie sich neben „Wie teile ich mein System auf“ außerdem beschäftigen müssen, und wie wir die Vorteile einer Microservice-Architektur nutzen können, ohne uns gleich allen ihren Herausforderungen auf einmal stellen zu müssen.

    Zielpublikum: Architekten, Entwickler, Projektleiter Voraussetzungen: Basiswissen Software-Architektur und verteilte Systeme Schwierigkeitsgrad: Anfänger

    Mehr lesen
  • Software verbessern – aber richtig (mit aim42)

    Vortrag Gernot Starke .NET Developer Conference 2016 Folien verfügbar

    Die Informatikausbildung fokussiert auf die Neuentwicklung von Software – den Alltag vieler Softwerker prägen jedoch meist Pflege, Änderung oder Erweiterung von Systemen. In diesem Workshop stelle ich Ihnen aim42 vor, ein systematisches Vorgehen zur Verbesserung von Software. aim42 ist frei verfügbar (Open-Source) und kondensiert Praktiken und Patterns rund um Modernisierung, und Evolution von IT-Systemen.

    aim42 funktioniert iterative in den Phasen Analyse, Evaluate und Improve. Es adressiert sowohl technische wie auch fachliche Stakeholder und schließt damit eine gravierende Verständnislücke in Entwicklungs- und Änderungsprozessen von Software.

    Sie müssen Ihre Systeme parallel zum Tagesgeschäft verbessern, und sind dabei von engen Zeit- und Budgetgrenzen gebunden? Sie möchten innere Qualität verbessern, müssen statt dessen immer neue Features liefern? Ich zeige Ihnen Wege aus diesem Legacy-Chaos.

    Im Workshop stelle ich die Grundlagen von aim42 vor und begebe ich anschließend in praktischen Übungen mit Ihnen gemeinsam auf die Suche nach konkreten Problemen. Sie lernen, wie Sie die identifizierten Probleme betriebswirtschaftlich einschätzen und damit Ihrem Management begreiflich machen können.

    Ich nutze praktische Beispiele realer IT-Systeme, um die aim42 Praktiken zu erläutern.

    Voraussetzungen: Der Workshop richtet sich primär an Softwareentwickler und –architekten mit Projekterfahrung, aber auch Product-Owner und Projektleiter kommen auf ihre Kosten.

    Mehr lesen
  • Lean Prinzipien und das Management von Technical Debt

    Vortrag Sven Johann XP Days Germany 2016

    Viele Systeme haben allerhand unsichtbare Probleme, die man heutzutage als Technical Debt zusammenfassen kann: Code Smells, fehlende Tests und Dokumentation, schlechtes Design, unangemessene Architektur und/oder veraltete Technologie. Kleine Probleme wie Code Smells sind noch einfach zu beheben, aber substantielle Probleme, die große Teile der Codebase betreffen sind aus vielen Gründen weitaus schwieriger anzupacken. Risiko, Kosten und Wert der “Rückzahlung” von Technical Debt sind zudem schwer abzuschätzen.

    Es heißt oft, dass Technical Debt zu vermeiden sei, dies ist aber letztenendes unmöglich und deshalb rückt mehr und mehr das Maximieren des Wertes von “Technical Debt Management” in den Vordergrund. Ein in die Jahre gekommenes System hat fast immer so viel Verbesserungsbedarf, dass Verbesserungen nicht blind gemacht werden dürfen. Es ist wichtig, die Stellen anzupacken, die am meisten Wert versprechen.

    Hier kommen Lean Prinzipien ins Spiel um zu entscheiden, was man wann und wie verbessern sollte.

    Dieser Vortrag gibt erst einen Überblick über die Technical Debt Landkarte und warum man Technical Debt managen sollte, statt einfach nur blind zu verbessern. Danach werden die Lean Prinzipien “Eliminate Waste”, “Decide as late as possible”, “Deliver as fast as possible” und “See the whole” diskutiert und wie man sie nutzen kann, um ein System wertorientiert zu verbessern.

    Mehr lesen
  • Improving Your Software

    Vortrag Gernot Starke GOTO Berlin 2016

    As software developers, we spend most our time maintaining existing systems – under time and budget pressure.

    Building new business functionality tends to get more difficult, expensive and risky over time, due to increasing size, growing complexity and lack of conceptual integrity.

    Although we complain about technical debt, lack of innovation, and the architectural deficits of historically grown software, we often patch, fix or hack symptoms instead of curing the root causes of these problems.

    In this talk, you’ll get an overview of the Architecture Improvement Method, the open-source aim42 approach to systematical evolution, modernization and improvement of systems.

    Based upon examples from various organizations and industries, I’ll demonstrate the applicability of aim42 practices in real-life situations.

    You’ll see how to:

    • identify and analyze the worst problems in your systems
    • translate your problems to business & management terms
    • convince your management of corrective actions
    • integrate improvement with your day-to-day development.

    A video of this talk is available.

    Mehr lesen
  • Software systematisch verbessern

    Artikel Gernot Starke

    Es ist ein bekanntes Phänomen: Obwohl zu Beginn beim Entwickeln des Projekts alles sauber und ordentlich zuging, degeneriert das System mit der Zeit – das Phänomen der „verfaulenden Software“ schlägt zu. Änderungen werden dann immer riskanter, schwieriger und langwieriger. In der Entwicklung und im Betrieb mehren sich die Probleme, die zu beheben immer mehr Zeit in Anspruch nimmt. Gleichzeitig steigen aber auch Änderungs- und Betriebskosten, während die Zufriedenheit von Entwicklern, (fachlichen) Auftraggebern, Testern, Administratoren und anderen Beteiligen ständig abnimmt. Vermutlich kennt jeder Leser diese Situation: Willkommen in der Legacy-Hölle.

    Mehr lesen
  • Managing Technical Debt

    Vortrag Sven Johann The Architecture Gathering 2016

    Viele Systeme haben allerhand unsichtbare Probleme, die man heutzutage als Technical Debt zusammenfassen kann: Code Smells, fehlende Tests und Dokumentation, schlechtes Design, unangemessene Architektur und/oder veraltete Technologie. Kleine Probleme wie Code Smells sind noch einfach zu beheben, aber substantielle Probleme, die große Teile der Codebase betreffen, sind aus vielen Gründen weitaus schwieriger anzupacken. Risiko, Kosten und Wert der “Rückzahlung” von Technical Debt sind zudem schwer abzuschätzen.

    Es heißt oft, dass Technical Debt zu vermeiden sei, dies ist aber letztenendes unmöglich. Deshalb rückt mehr und mehr das Maximieren des Wertes von “Technical Debt Management” in den Vordergrund.

    Dieser Vortrag diskutiert anhand mehrerer Beispiele, z.B. Ablösung von Alt-Frameworks oder Totalumbau eines Domänenmodells, angewandte Ideen, wie man mit Hilfe unterschiedlichster Ideen wie Shearing Layers oder Value-Chain-Analysis den Wert einer Verbesserung innerhalb eines Entwicklungsprozesses für alle Stakeholder sichtbar und nachvollziehbar machen kann, und wie man dies in einen Standard-Entwicklungsprozess wie z.B. Scrum einbetten kann.

    Mehr lesen
  • JAX TV: Legacy-Systeme mit Microservices, Hystrix und RxJava modernisieren

    Link Arne Landwehr, Holger Kraus

    In ihrem Vortrag bei der WJAX 2015 zeigen Arne Landwehr und Holger Kraus, wie auch größere, monolithische Altsysteme mithilfe der offenen Netflix-Bibliotheken schrittweise in Richtung einer Microservice-Achitektur weiterentwickelt werden können. Hystrix kann dabei einen wertvollen Beitrag zur Gesamtstabilität des entstehenden verteilten Systems leisten. Der Einsatz von RxJava ist eine gute Möglichkeit, den Anteil von asynchronen Prozessen innerhalb der Legacy-Architektur zu erhöhen. Der Vortrag wird anhand von Beispielen demonstrieren, wie der hier angedeutete Modernisierungsprozess umgesetzt werden kann.

  • Software verbessern - aber richtig

    Vortrag Gernot Starke Java Forum Stuttgart 2016

    Unser berufliches Leben besteht zum größten Teil aus erweitern, korrigieren, ändern, patchen, fixen von Software, also Anpassungen bestehender Systeme.

    Genau diesen Teil ignoriert die klassische IT-Ausbildung, die primär auf die Neuerstellung fokussiert. Ich zeige im Vortrag pragmatische Wege, wie Sie die wesentlichen Aspekte Ihrer Systeme systematisch verbessern können.

    Sie lernen, wie Sie:

    • die schlimmsten Probleme finden,
    • Ihr Management von Umbaumaßnahmen überzeugen,
    • Verbesserungen mit Ihrem Tagesgeschäft verbinden,
    • mittel- und langfristige Verbesserungen angehen können.

    Dazu bekommen Sie einen Überblick über die Architecture Improvement Method, die (Open-Source) Methodik zur Verbesserung, Modernisierung und Evolution von IT-Systemen.

    Anhand realer Beispiele aus unterschiedlichen Domänen zeige ich die Anwendung dieser Praktiken auf mittlere und große IT-Systeme. Damit erhalten Sie konkrete Ansätze, Management und Projektleitung von Verbesserungen zu überzeugen.

    Mehr lesen
  • Microservice-Architekturen zur Modernisierung von Bestandssystemen

    Vortrag Alexander Heusingfeld, Michael Vitz Microservices Summit 2016

    Ein klassisches Dilemma der IT: eine große, monolithische Anwendung, kritisch und wichtig, und innerlich ungeheuer schwer und aufwändig zu warten. Um auf fachliche Änderungen und dynamische Märkte schneller reagieren zu können, müssen wir dieses Altsystem modernisieren – nur wie? Erneuern wir nur den Technologie-Stack und bauen einen neuen Monolithen? Oder modularisieren wir und bauen strukturell sowie konzeptionell Neues? Wie können wir das entscheiden?

    Wir zeigen Ihnen in diesem Workshop anhand etablierter Praktiken und Patterns (aus dem Fundus von aim42.org) typische Möglichkeiten auf, solche Projekte anzugehen und die Systeme dabei (hoch) verfügbar zu halten. So können Sie Stück für Stück, gerade so wie es das Projektbudget zulässt, die Architektur des Gesamtsystems modernisieren, ohne ein Big-Bang-Release zu fürchten. Hierbei wollen wir uns auch mit der Frage beschäftigen, die so gern von unseren Vorgesetzten gestellt wird: “Können Sie mir mal vorrechnen, wieso eine Microservice-Architektur die finanziell bessere Entscheidung ist?“ Nach dem Workshop haben Sie einige anwendbare Muster kennengelernt, mit deren Hilfe Sie Ihre eigenen Monolithen wieder zu besser wartbaren Systemen migrieren können.

    Mehr lesen
  • Value-based Improvement (wert-/nutzenbasierte Modernisierung)

    Vortrag Martin Schmidt, Gernot Starke Business Technology Days 2016 Folien verfügbar

    Wenn Softwaresysteme durch ständiges „Herumbasteln“ (sprich: Erhöhung der technischen Schulden) verrotten, dann werden fachliche Erweiterungen immer teurer und riskanter. Ein Teufelskreis – denn dann steigt gleichzeitig der Druck, neue Features liefern zu müssen.

    Im Vortrag zeigen wir systematische Auswege aus dieser Situation: Mit aim42-basierter Analyse identifizieren Sie die schlimmsten Wartungshindernisse und bewerten diese aus betriebswirtschaftlicher Sicht. Parallel zu fachlicher Erweiterung beseitigen Sie systematisch und kontinuierlich diese Hemmnisse – und balancieren damit Wartbarkeit und Business-Value. Klassischen Refactoring-Ansätzen fehlt dieser betriebswirtschaftliche Aspekt – daher stoßen sie bei Entscheidern so oft auf Widerstand.

    Mehr lesen

    Microservices zur Architektur­modernisierung

    Vortrag Alexander Heusingfeld, Michael Vitz JAX 2016 Folien verfügbar

    Dieser Vortrag adressiert ein klassisches Dilemma der IT: eine große, monolithische Anwendung, kritisch und wichtig, und innerlich ungeheuer schwer und aufwändig zu warten. Um auf fachliche Änderungen und dynamische Märkte schneller reagieren zu können, müssen wir dieses Altsystem modularisieren und strukturell sowie konzeptionell modernisieren – dabei aber kontinuierlich (hoch) verfügbar halten. Ganz nebenbei verfügen wir natürlich nur über ein eingeschränktes Budget.

    Wir zeigen Ihnen anhand etablierter Praktiken und Patterns (aus dem Fundus von aim42.org) typische Möglichkeiten auf, solche Projekte anzugehen und Stück für Stück die Architektur des Gesamtsystems zu modernisieren. Hierbei unterstützen uns u. A. Bibliotheken wie Hystrix dabei, die Risiken dieser Umstellung zu managen und auch zu visualisieren. Nach dem Vortrag haben Sie einige anwendbare Muster kennengelernt, mit deren Hilfe Sie Ihre eigenen Monolithen wieder zu besser wartbaren Systemen migrieren können.

    Mehr lesen
  • Software modernisieren – aber richtig

    Vortrag Gernot Starke EuregJUG April 2016

    Bestehende IT-Systeme leiden oftmals an vielerlei Krankheiten, die Innovation und Weiterentwicklung behindern (und obendrein das Entwicklerleben erschweren).

    Systematische Modernisierung und Verbesserung muss parallel zum Tagesgeschäft und auch mit beschränkten Budgets funktionieren - gleichzeitig sowohl für Entwickler wie auch Manager nachvollziehbar sein. Genau hier setzt aim42 an, die (Open-Source) „Architecture Improvement Method“ - die schon vielen Teams pragmatische Wege aus dem Legacy-Chaos aufgezeigt hat.

    aim42 arbeitet iterativ und enthält eine Vielzahl etablierter, einfach umsetzbaren Praktiken rund um die Verbesserung. aim42 funktioniert komplett unabhängig von Technologie und ist sowohl in kleinen wie auch größeren Umfeldern einsetzbar.

    Der Vortrag zeigt Highlights und grundlegenden Ansätze von aim42, nutzt dazu Beispiele unterschiedlicher Fachdomänen.

    Einige Stichworte:

    • Problemanalyse muss Breiten- und Tiefensuche kombinieren
    • Böse Fallen statischer Codemetriken
    • Nichtlineare Beziehungen zwischen Problemen und Lösungen
    • Wie schlimm ist ein Problem wirklich?
    • Wie erkläre ich meinem Manager mein technisches Problem?
    • Kategorien von Verbesserungsmaßnahmen
    Mehr lesen
  • When Microservices Meet Real-World Projects: Lessons Learned

    Vortrag Alexander Heusingfeld JUG Dortmund Spring Event Folien verfügbar

    Als Berater sehen wir oft beide Seiten der Medaille: Auf der einen Seite arbeiten wir mit Leading-Edge-Technologien, die meist gerade erst marktreif sind. Auf der anderen Seite stehen Kunden mit sehr konservativen Betriebsabteilungen, Legacy-Systemen und strikten Reglementierungen zur Datensicherheit.

    In dieser Session möchten wir von den Erfahrungen berichten, die wir im Beratungsalltag sammeln durften. Was bedeutet eigentlich “pets vs. cattle”? Warum soll sich ein Entwickler mit den Business-Use-Cases auseinandersetzen? Warum können IT-Projekte auf Grund der Unternehmensorganisationen scheitern, und was hat eine DevOps-Mentalität mit Perspektivenwechsel zu tun? Wir zeigen Wege, wie wir eine Legacy-Anwendung iterativ modernisiert und in mehrere, leichter wartbare Self-Contained-Systeme aufgeteilt haben. Dabei werden nicht nur die unterschiedlichen Ebenen von Architekturentscheidungen herausgestellt, sondern auch die Auswirkungen auf die Organisationsstruktur und kritische Punkte auf dem Weg verdeutlicht.

    Mehr lesen
  • Den Modernisierungsmotor anwerfen

    Vortrag Martin Schmidt innoQ-Themenabend: Digitale Transformation

    Die Digitale Transformation / Modernisierung stellt neue Herausforderungen an die IT. Martin Schmidt spricht in seinem Vortrag darüber, wie Sie den «Modernisierungsmotor» anwerfen können. Das Ziel ist es, Strategie, Organisation und Technologien in Einklang zu bringen. Dabei sind die richtigen Ansatzpunkte und die Modernisierung als stabilisierender Faktor für die Transformation entscheidend.

    Mehr lesen
  • Legacy Systeme modernisieren mit Microservices, Hystrix und RxJava

    Vortrag Holger Kraus, Arne Landwehr OOP 2016 – Software meets Business Folien verfügbar

    Als Software-Entwickler ist man nur sehr selten in der Situation, ein völlig neues System auf der Basis neuester Technologien entwickeln zu dürfen. Oft sollen bestehende Systeme nur um viele kleinere Features erweitert werden. Die Renovierung der grundlegenden Systemarchitektur und die Einführung neuer Programmierparadigmen sind in diesem Umfeld schwierig. Umso wichtiger ist es, dass man die Modernisierung von Altsystemen zu einem fortlaufenden Bestandteil auch des Feature-getriebenen Entwicklungsprozesses macht.

    In diesem Vortrag möchten wir zeigen, wie auch größere, monolithische Altsysteme mithilfe der offenen Netflix-Bibliotheken schrittweise in Richtung einer Microservice-Achitektur weiterentwickelt werden können. Hystrix kann dabei einen wertvollen Beitrag zur Gesamtstabilität des entstehenden verteilten Systems leisten.

    Der Einsatz von RxJava eröffnet eine gute Möglichkeit, den Anteil von asynchronen Prozessen innerhalb der Legacy-Architektur zu erhöhen. Der Vortrag wird anhand von Beispielen demonstrieren, wie der hier angedeutete Modernisierungsprozess umgesetzt werden kann.

    Mehr lesen
  • Wider die Mikroskop-Falle: Die wahren Probleme Ihrer Software finden

    Vortrag Gernot Starke OOP 2016 – Software meets Business Folien verfügbar

    Wenn wir Software verbessern oder bewerten wollen, müssen wir eine möglichst präzise Vorstellung der existierenden Probleme oder technischen Schulden erarbeiten. Vordergründig bietet sich Quellcode zur Suche an, die meisten der typischen Code- und Architektursmells werden Sie schon kennen. Ich zeige Ihnen jedoch einige weitere typische Problemzonen auf, etwa Daten- und Datenstrukturen, Schnittstellen, technische Infrastruktur, querschnittliche technische Konzepte, Entwicklungs- und Betriebsprozesse sowie die beteiligten Menschen – überall lauern Probleme und Risiken. Zusätzlich lernen Sie typische Fallen bei der Problemanalyse kennen, etwa die Mikroskopfalle oder die Widerstandspyramide, die Ihre Problemsuche schnell zu Albträumen werden lassen.

    Als Ausblick zeige ich Ihnen, ganz analog zur Bauch-Beine-Po Gymnastik, einige etablierte Praktiken zur Abhilfe auf und weise damit den Weg zur systematischen Verbesserung und Evolution von Software.

    Ich führe hier auf pragmatische Weise die Disziplin “Ganzheitliche System- und Architekturbewertung” ein, bei der Methoden wie ATAM in der Praxis nur einen zu kleinen Teil der gesamten Probleme erfassen. “Qualitative wie auch quantitative Analysen in erweitertem Suchraum” wäre wohl eine etwas seriösere Formulierung des Titels.

    Ich verspreche den Teilnehmern praxisnahe, umsetzbare Hinweise, um in eigenem Kontext/System Probleme und Risiken zu identifizieren - und parallel dazu typische Verbesserungsansätze zu erkennen.

    Mehr lesen
  • Warum Programmierer an ihren Software-Systemen riechen müssen

    Link Gernot Starke

    Die Redaktion von jaxenter.de hat sich am Rand des Software Architecture Summit in Berlin mit Gernot Starke über die Evolutions on Softwaresystemen unterhalten. Wenn Ihr Softwaresystem langsam ist und Schwierigkeiten damit hat, sich “weiterzuentwickeln”, ist es gut möglich, dass Ihr Team nur eindimensional arbeitet. Lesen Sie mehr dazu im Interview.

  • Microservices in the Real World

    Link Alexander Heusingfeld, Tammo van Lessen

    InfoQ did an interview with our colleagues Alexander Heusingfeld and Tammo van Lessen about getting people from operations involved in architecture and dealing with “us vs. them” behavior when applying DevOps. They also talked about what the Self-Contained Systems approach is and how it can be used to modernize software systems, similarities and differences between the Self-Contained Systems approach and microservices, improving deployment pipelines and using measurements in deployment, and about their experiences with a “getting out of your comfort zone” program.

  • Microservices zur Architektur­modernisierung

    Vortrag Alexander Heusingfeld, Michael Vitz Microservices Summit

    Dieser Workshop adressiert ein klassisches Dilemma der IT: Eine große, monolithische Anwendung, kritisch und wichtig, und innerlich ungeheuer schwer und aufwändig zu warten. Um auf fachliche Änderungen und dynamische Märkte schneller reagieren zu können, müssen wir dieses Altsystem modularisieren und strukturell sowie konzeptionell modernisieren – dabei aber kontinuierlich (hoch) verfügbar halten. Ganz nebenbei verfügen wir natürlich nur über ein eingeschränktes Budget… Wir zeigen Ihnen anhand etablierter Praktiken und Patterns (aus dem Fundus von aim42.org) typische Möglichkeiten auf, solche Projekte anzugehen und Stück für Stück die Architektur des Gesamtsystems zu modernisieren. Hierbei unterstützen uns u.A. Bibliotheken wie Hystrix dabei die Risiken dieser Umstellung zu managen und auch zu visualisieren. Nach dem Workshop haben Sie einige anwendbare Muster kennengelernt, mit deren Hilfe Sie Ihre eigenen Monolithen wieder zu besser wartbaren Systemen migrieren können.

    Mehr lesen
  • When Microservices Meet Real-World Projects

    Vortrag Alexander Heusingfeld GOTO Conference Berlin 2015 Folien verfügbar

    As a consultant, Alexander Heusingfeld has seen both sides of the coin: on the one hand, he gets to know the leading-edge technologies that have just become ready for the market. On the other hand, there are customers with conservative operation teams, legacy systems, and strict data security regulations.

    In this session, he shares some learnings from consulting gigs, talks about what business domain thinking means, and why the DevOps mindset can change the team spirit. He explains some of the approaches he used to iteratively modernize legacy systems into multiple self-contained systems, the different levels of architectural decisions that have to be taken and the impact of this architectural approach on a classic organization structure.

    Mehr lesen
  • Modernization of legacy systems with microservices, Hystrix and RxJava

    Vortrag Holger Kraus JAVADAY KYIV Folien verfügbar

    As a software developer you are not very often in the situation where you develop a completely new system from scratch based on recent techonologies. More often just small features have to be integrated in already existing systems. A change of the basic software architecture and an introduction of new programming paradigms are very difficult in this context. It is all the more important to make the modernization of a legacy systems an ongoing part of the feature-driven development process. In this talk I will show step by step how to transform a big, monolithic legacy system towards a modern microservice based architecture. And I will demonstrate how two open libraries from Netflix can support this process. Hystrix will help us to improve the overall stability of the system and RxJava will help us to handle asynchronous processes in a more elegant way. Based on examples, I will show how the suggested modernization process could be realised.

    Mehr lesen
  • Hitliste der Legacy-Sünden

    Vortrag Eberhard Wolff W-JAX 2015 Folien verfügbar

    Jeder kennt Systeme mit schlechter Codequalität und Architektur – und die sind schwer änderbar. Aber andere Faktoren sind oft noch viel wichtiger. Was ist mit Tests? Oder dem Releaseprozess? Dieser Vortrag zeigt die populärsten Sünden in Legacy-Anwendungen, wie man sie beheben kann und so ein erfolgreiches Projekt auch mit einer alten Codebasis umsetzen kann.

    Mehr lesen

    Know your Enemies: Problembewusstsein als Grundlage von Änderungs- und Evolutionsprojekten

    Vortrag Gernot Starke W-JAX 2015 Folien verfügbar

    Die meiste Zeit verbringen wir in der Softwareentwicklung mit Änderung oder Verbesserung bestehender Systeme. Dabei ist es besonders wichtig, an den richtigen Stellen zu ändern (und nicht willkürlich die bekannten Refactoring-Patterns anzuwenden).

    Ich zeige auf, wie Sie systematisch die aus langfristiger und ökonomischer Sicht schlimmsten Probleme in Ihren Softwaresystemen und -architekturen finden können und wie Sie dann deren Lösung angehen können. Dabei spannen wir den Bogen von der Analyse der beteiligten Stakeholder und externen Schnittstellen über verschiedene Ansätze der (quantitativen) Code- und (qualitativen) Architekturanalyse bis hin zu fortgeschrittenen Themen wie Datenanalyse, Prozessanalyse oder Kontextanalyse. Anhand realer Probleme aus mittleren und großen Projekten zeige ich auf, dass die “Feinde” manchmal an überraschenden Stellen lauern.

    Mehr lesen
  • Microservices Meet Real-World Projects: Lessons Learned

    Vortrag Alexander Heusingfeld, Tammo van Lessen JavaOne Conference 2015 Folien verfügbar

    As consultants, this session’s speakers regularly see both sides of the coin: on the one hand, they get to know the leading-edge technologies that have just become ready for the market. On the other hand, there are customers with conservative operation teams, legacy systems, and strict data security regulations. In this session, they share some learnings from their consulting gigs, what business domain thinking did to their customers, and why the DevOps mindset changed the team spirit. They explain the different approaches they used to iteratively modernize a big Java legacy system into multiple self-contained systems, the different levels of architectural decisions they made, the impact on a classic organization structure, and the critical points along the way.

    Mehr lesen
  • Evolutionsstrategien: Refactoring im (ganz) Großen

    Vortrag Gernot Starke The Architecture Gathering 2015

    Evolution und Verbesserung von Software müssen neben den Code-Umbauten im Kleinen auch das Große Ganze im Fokus halten, die langfristige Strategie: Wollen wir das bestehende System komplett ersetzen, oder nur Teile austauschen? Wollen wir einen Big-Bang, eine Database-first Migration, Legacy-Strangulation oder einen Change-by-Split?

    In diesem Vortrag möchte ich Ihnen diese und andere Ansätze vorstellen, damit Sie für die langfristige, systematische Verbesserung Ihrer eigenen Systeme besser planen können.

    Mehr lesen
  • Legacy Systeme modernisieren mit Microservices, Hystrix und RxJava

    Vortrag Holger Kraus, Arne Landwehr Berlin Expert Days 2015

    Als Software-Entwickler ist man nur sehr selten in der Situation, ein völlig neues System auf der Basis neuester Technologien entwickeln zu dürfen. Oft sollen bestehende Systeme nur um viele kleinere Features erweitert werden.

    Die Renovierung der grundlegenden Systemarchitektur und die Einführung neuer Programmierparadigmen ist in diesem Umfeld schwierig. Umso wichtiger ist es, dass man die Modernisierung von Altsystemen zu einem fortlaufenden Bestandteil auch des Feature-getriebenen Entwicklungsprozesses macht.

    In diesem Vortrag möchten wir zeigen wie auch größere, monolithische Altsysteme mithilfe der offenen Netflix-Bibliotheken schrittweise in Richtung einer Microservice-Achitektur weiterentwickelt werden können. Hystrix kann dabei einen wertvollen Beitrag zur Gesamtstabilität des entstehenden verteilten System leisten.

    Der Einsatz von RxJava ein gute Möglichkeit den Anteil von asynchronen Prozessen innerhalb der Legacy-Architektur zu erhöhen. Der Vortrag wird anhand von Beispielen demonstrieren wie der hier angedeutete Modernisierungsprozess umgesetzt werden kann.

    Mehr lesen
  • ANALYZE: So finden Sie die Probleme Ihrer Software

    Vortrag Gernot Starke Software Architecture Summit 2015

    Zu Beginn jeder systematischen Verbesserung Ihrer Systeme sollten Sie einen Überblick über deren Problemzonen haben (die oftmals über banale Code- oder Performanceprobleme hinausgehen).

    Im Workshop stelle ich die typischen Problemzonen mittlerer und großer Softwaresysteme vor und zeige eine Menge Praktiken und Vorgehensweisen, wie Sie solche Probleme in Ihren eigenen Systemen analysieren können. Neben Code, Technologie sowie Architektur bekommen auch Infrastruktur, Daten und Prozesse die ihnen zustehende Aufmerksamkeit.

    Am Ende haben Sie einen pragmatischen Katalog und eine Menge Ansätze, Ihre eigenen Systeme selbständig zu analysieren. Schließlich gehe ich darauf ein, wie Sie mit diesem „Haufen Probleme“ sinnvoll umgehen und darauf eine „evolutionäre Verbesserung“ basieren können.

    Mehr lesen
  • Code: Lieber Redundanz oder lieber Reuse?

    Artikel Eberhard Wolff

    In einem neuen Artikel auf Heise Developer beschäftigt sich Eberhard Wolff mit der Wiederverwendung von Code.

    Wiederverwendung war der heilige Gral der Softwareentwicklung. Was Entwickler wiederverwenden können, müssen sie nicht noch einmal schreiben. Das ermöglicht ungeahnte Produktivitätssprünge, so dachte man. Mittlerweile hat sich aber einiges geändert – und sogar redundanter Code zeigt seine Vorteile. Auch Redundanzfreiheit ist nur ein Trade-off.

  • JAX TV: Die Hitliste der Legacy-Sünden, ein JAX 2015-Talk von Eberhard Wolff

    Link Eberhard Wolff

    Jeder kennt Systeme mit schlechter Codequalität und Architektur – und die sind schwer änderbar. Aber andere Faktoren sind oft noch viel wichtiger. Was ist mit Tests? Oder dem Releaseprozess? Eberhard Wolff zeigt in diesem Vortrag die populärsten Sünden in Legacy-Anwendungen, wie man sie beheben kann und so ein erfolgreiches Projekt auch mit einer alten Codebasis umsetzen kann.

  • Schluss mit Verschlimmbesserung: Software-Evolution, aber richtig

    Vortrag Gernot Starke Dev Day 2015

    In diesem Talk erfahren Sie, worauf es bei Evolution, Wartung und Änderung von Software wirklich ankommt. Den größten Teil unseres Informatikerlebens verbringen wir mit Anpassungen bestehender Systeme - und genau diesen Teil ignoriert die klassische IT-Ausbildung. Ich zeige einen pragmatischen und systematischen Lösungsweg aus diesem Dilemma - und verspreche Ihnen Bausteinen wesentlicher Lösungsansätze:

    • So finden Sie die schlimmsten Probleme
    • So überzeugen Sie Ihr Management von Umbaumaßnahmen
    • So gehen Sie kurz-, mittel- und langfristig Verbesserungs- und Evolutionsprojekte an
    Mehr lesen
  • Modernization of legacy systems with microservices, Hystrix and RxJava

    Vortrag Holger Kraus JEEConf

    As a software developer you are not very often in the situation where you develop a completely new system from scratch based on recent techonologies. More often just small features have to be integrated in already existing systems. A change of the basic software architecture and an introduction of new programming paradigms are very difficult in this context. It is all the more important to make the modernization of a legacy systems an ongoing part of the feature-driven development process.

    In this talk I will show step by step how to transform a big, monolithic legacy system towards a modern microservice based architecture. I will also demonstrate how two open libraries from Netflix can support this process. Hystrix will help us to improve the overall stability of the system and RxJava will help us to handle asynchronous processes in a more elegant way. Based on examples I will show how the suggested modernization process could be realised.

    Mehr lesen
  • Know your Enemies – Problembewusstsein als Grundlage von Änderungs- und Evolutionsprojekten

    Vortrag Gernot Starke JAX 2015 Folien verfügbar

    Die meiste Zeit verbringen wir in der Softwareentwicklung mit Änderung oder Verbesserung bestehender Systeme - dabei ist es besonders wichtig, an den richtigen Stellen zu ändern (und nicht willkürlich die bekannten Refactoring-Patterns anzuwenden). Ich zeige auf, wie Sie systematisch die aus langfristiger und ökonomischer Sicht schlimmsten Probleme in Ihren Softwaresystemen und -architekturen finden können - und wie Sie dann deren Lösung angehen können. Dabei spannen wir den Bogen von der Analyse der beteiligten Stakeholder und externen Schnittstellen über verschiedene Ansätze der (quantitativen) Code- und (qualitativen) Architekturanalyse bis hin zu fortgeschrittenen Themen wie Datenanalyse, Prozessanalyse oder Kontextanalyse. Anhand realer Probleme aus mittleren und großen Projekten zeige ich auf, dass die “Feinde” manchmal an überraschenden Stellen lauern.

    Mehr lesen
  • Systeme modernisieren mit Microservices, Hystrix und RxJava

    Vortrag Holger Kraus, Arne Landwehr JavaLand 2015

    Als Softwareentwickler ist man nur sehr selten in der Situation, ein völlig neues System auf der Basis neuester Technologien entwickeln zu dürfen. Oft sollen bestehende Systeme nur um viele kleinere Features erweitert werden. Die Renovierung der grundlegenden Systemarchitektur und die Einführung neuer Programmierparadigmen ist in diesem Umfeld schwierig. Umso wichtiger ist es, dass man die Modernisierung von Altsystemen zu einem fortlaufenden Bestandteil auch des Feature-getriebenen Entwicklungsprozesses macht. In diesem Vortrag möchten wir zeigen wie auch größere, monolithische Altsysteme mithilfe der offenen Netflix-Bibliotheken schrittweise in Richtung einer Microservice-Achitektur weiterentwickelt werden können. Hystrix kann dabei einen wertvollen Beitrag zur Gesamtstabilität des entstehenden verteilten System leisten. Der Einsatz von RxJava ein gute Möglichkeit den Anteil von asynchronen Prozessen innerhalb der Legacy-Architektur zu erhöhen. Der Vortrag wird anhand von Beispielen demonstrieren, wie der hier angedeutete Modernisierungsprozess umgesetzt werden kann.

    Mehr lesen
  • KEYNOTE: Software ändern - aber richtig

    Vortrag Gernot Starke Software Quality Days 2015

    Ich möchte Ihnen nahebringen, worauf es bei Evolution, Wartung und Änderung von Software wirklich ankommt. Der größte Teil des Software Lifecycle änder und erweitern wir bestehende Systeme - oftmals leidet darunter deren Qualität. Als Konsequenz steigen Änderungskosten und -risiken beständig an - sehr zum Unbill der Verantwortlichen.

    In dieser Keynote zeige ich auf, wie Sie technische und betriebswirtschaftliche Anforderungen an solche Änderungen verbinden können - um auch langfristig eine hohe Qualität von Systemen sicherzustellen.

    Sie erhalten in Form von Mustern und methodischen Bausteinen wesentliche Lösungsansätze erläutert - beispielsweise für den Umgang mit technischen Schulden und die langfristige Organisation von Verbesserungsmaßnahmen.

    Mehr lesen
  • Darwin und Godot - Über Evolution und Wartung

    Vortrag Gernot Starke W-JAX 2014

    Keine Sorge, es geht weder um Biologie noch um Theater, vielmehr möchte ich Ihnen nahebringen, worauf es bei Evolution, Wartung und Änderung von Software wirklich ankommt. Den größten Teil unseres Informatikerlebens verbringen wir mit Anpassungen bestehender Systeme - und genau dieser Teil kommt in der klassischen Ausbildung praktisch nicht vor. Zuerst fasse ich für Sie die wesentlichen Gründe für Änderungen zusammen. Anschließend erkläre ich in Form von Mustern und methodischen Bausteinen wesentliche Lösungsansätze:

    • Sinnvolles Verhalten, wenn Sie mehr Probleme als Budget haben
    • So finden Sie die schlimmsten Probleme
    • So überzeugen Sie Ihr Management von Umbaumaßnahmen
    • So finden Sie schlechten Code
    • So gehen Sie mit technischen Schulden um
    Mehr lesen
  • Software ändern, aber richtig!

    Vortrag Gernot Starke Java User Group Darmstadt

    In diesem Vortrage bringe ich Ihnen nahe, worauf es bei Evolution, Wartung und Änderung von Software wirklich ankommt. Den größten Teil unseres Informatikerlebens verbringen wir mit Anpassungen bestehender Systeme – und genau dieser Teil kommt in der klassischen Ausbildung praktisch nicht vor.

    Zuerst fasse ich für Sie die wesentlichen Gründe für Änderungen zusammen. Anschliessend erkläre ich in Form von Mustern und methodischen Bausteinen wesentliche Lösungsansätze:

    • Sinnvolles Verhalten, wenn Sie mehr Probleme als Budget haben.
    • So finden Sie die schlimmsten Probleme.
    • So überzeugen Sie Ihr Management von Umbaumaßnahmen.
    • So gehen Sie mit technischen Schulden um.
    Mehr lesen
  • Vorsicht: Schuldenfalle — Was die IT aus der Finanzwelt lernen kann

    Vortrag Tammo van Lessen, Jörg Nitzsche Herbstcampus 2014

    Schulden machen ist leicht, zu leicht manchmal und ehe man sich versieht, hat man Mühe die Schuldenlast zurück zu zahlen. Ähnlich verhält es sich auch bei Softwarearchitektur. Ein “das fixen wir später” hier, “die Dokumentation ziehen wir nach der Abnahme nach” dort, ein kleiner Hack da, ein schnelles Feature dazu und schon sieht man sich einer degenerierten Software(architektur) gegenüber, die hohe Wartungskosten nach sich zieht und eine weitere Entwicklung nur bedingt zulässt.

    Damit es nicht so weit kommt muss man sich der Schulden bewusst sein, die man durch manche Entscheidungen aufnimmt und muss den Schuldenberg im Griff behalten.

    In diesem Vortrag gehen wir auf verschiedene Arten technischer Schulden ein und zeigen Wege auf, wie man ihnen im Projektalltag begegnet.

    Zielgruppe: Entwickler, Architekten, Projektleiter

    Mehr lesen
  • Software Improvement – Done Right

    Vortrag Gernot Starke, Alexander Heusingfeld European Conference on Software Architecture (ECSA) 2014 Folien verfügbar

    Greenfield development is a rare luxury in the software world. Usually developers and software architects have to enhance, modify or repair existing systems. The emphasis of changes lies on additional features, instead of architectural, structural or conceptual improvement – often resulting from restricted budgets and severe timing constraints.

    This tutorial helps you out of this maintenance dilemma – by showing how to:

    • identify important and valuable improvement opportunities within your system,
    • convince management that architectural evolution is neccessary – and which benefits and risks to expect,
    • find appropriate solution approaches to technical problems and risks,
    • maintain conceptual integrity of your system over its complete lifetime – keeping understandability high and maintenance costs an adequate ranges.

    We introduce aim42 – the (open source) methodical approach to systematic architecture improvement.

    aim42 relies on a few clear domain concepts and works iteratively in three phases (analyze, evaluate, improve) supported by crosscutting activities. For each phase, In the tutorial, you experience many of the proven and established practices and patterns contained in aim42. We explain how to addresses both business and technical stakeholders of your system.

    By participating, you enhance your own methodical toolset by various practices to identify problems and issues, evaluate those in economical terms and find technical and structural remedies for improvement.

    All our content is backed by intensive experience. We cover detailed examples from various domains and projects, and provide practical tipps on how to improve your own systems.

    Mehr lesen
  • Software ändern, aber richtig - mit AIM42

    Vortrag Alexander Heusingfeld JUG Dortmund Sommerfest Folien verfügbar

    Den größten Teil unseres Informatikerlebens verbringen wir mit Anpassungen an bestehenden Systemen - genau dieser Teil kommt in der klassischen Ausbildung aber praktisch nicht vor. In diesem Lightning-Talk sprechen wir über Software-Änderungen, welche Ursachen sie haben, wo es häufig zu Meinungsverschiedenheiten bzgl. Prioritäten zwischen Entwicklung und Fachabteilung kommt und zeigen wie aim42 mit Hilfe von Mustern und methodischen Bausteinen diese Schwierigkeiten überbrücken helfen kann.

    http://www.jugdo.de/2014/08/08/sommer-event-programm/

    Mehr lesen
  • Using Scala to Drive Modernization in Enterprise Environments

    Vortrag Martin Schmidt 5th Annual Scala Workshop Folien verfügbar

    Enterprise Environments tend to show resistance to change. innoQ has been involved in many modernization projects for customers, especially in combination with vast architectural tasks and re-engeering. Based on this experience, Martin will show how Scala can help to push modernization efforts and bring the desired changes to these companies.

    Mehr lesen
  • Software systematisch verbessern

    Artikel Gernot Starke

    Die Informatik-Ausbildung fokussiert auf die Neuentwicklung von Software – den Alltag vieler Softwerker prägen jedoch meist Pflege, Änderung oder Erweiterung von Systemen. In diesem Artikel stelle ich Ihnen aim42 vor, ein systematisches Vorgehen zur Verbesserung von Software. aim42 ist frei verfügbar und kondensiert Praktiken und Patterns rund um Evolution, Änderung und Wartung von IT-Systemen.

    Mehr lesen
  • Software ändern - aber richtig

    Vortrag Gernot Starke rheinjug Düsseldorf Folien verfügbar

    Ich bringe Ihnen nahe, worauf es bei Evolution, Wartung und Änderung von Software wirklich ankommt. Den größten Teil unseres Informatikerlebens verbringen wir mit Anpassungen bestehender Systeme - und genau dieser Teil kommt in der klassischen Ausbildung praktisch nicht vor. Zuerst fasse ich für Sie die wesentlichen Gründe für Änderungen zusammen. Anschliessend erkläre ich in Form von Mustern und methodischen Bausteinen wesentliche Lösungsansätze:

    • Sinnvolles Verhalten, wenn Sie mehr Probleme als Budget haben
    • So finden Sie die schlimmsten Probleme
    • So überzeugen Sie Ihr Management von Umbaumaßnahmen
    • So gehen Sie mit technischen Schulden um
    Mehr lesen
  • Vorsicht Schuldenfalle — was die IT aus der Finanzwelt lernen kann

    Vortrag Tammo van Lessen, Jörg Nitzsche JAX 2014 Folien verfügbar

    Schulden machen ist leicht, zu leicht manchmal und ehe man sich versieht, hat man Mühe die Schuldenlast zurück zu zahlen. Ähnlich verhält es sich auch bei Softwarearchitektur. Ein “das fixen wir später” hier, “die Dokumentation ziehen wir nach der Abnahme nach” dort, ein kleiner Hack da, ein schnelles Feature dazu und schon sieht man sich einer degenerierten Software(architektur) gegenüber, die hohe Wartungskosten nach sich zieht und eine weitere Entwicklung nur bedingt zulässt.

    Damit es nicht so weit kommt muss man sich der Schulden bewusst sein, die man durch manche Entscheidungen aufnimmt und muss den Schuldenberg im Griff behalten. Das gilt für traditionelle Softwareprojekte gleichermaßen wie für SOA- und BPM-Projekte.

    In diesem Vortrag gehen wir auf verschiedene Arten technischer Schulden ein und zeigen Wege auf, wie man ihnen im Projektalltag begegnet.

    Mehr lesen
  • Vorsicht Schuldenfalle — was die IT aus der Finanzwelt lernen kann

    Vortrag Tammo van Lessen, Jörg Nitzsche BPM Integration Days 2014

    Schulden machen ist leicht, zu leicht manchmal und ehe man sich versieht, hat man Mühe die Schuldenlast zurück zu zahlen. Ähnlich verhält es sich auch bei Softwarearchitektur. Ein “das fixen wir später” hier, “die Dokumentation ziehen wir nach der Abnahme nach” dort, ein kleiner Hack da, ein schnelles Feature dazu und schon sieht man sich einer degenerierten Software(architektur) gegenüber, die hohe Wartungskosten nach sich zieht und eine weitere Entwicklung nur bedingt zulässt.

    Damit es nicht so weit kommt muss man sich der Schulden bewusst sein, die man durch manche Entscheidungen aufnimmt und muss den Schuldenberg im Griff behalten. Das gilt für traditionelle Softwareprojekte gleichermaßen wie für SOA- und BPM-Projekte.

    In diesem Vortrag gehen wir auf verschiedene Arten technischer Schulden ein und zeigen Wege auf, wie man ihnen im Projektalltag begegnet.

    Mehr lesen
  • Versionsmanagement auf dem Tanker

    Artikel Andreas Krüger

    In verschiedenen großen Projekten mit festen Releasezyklen hat der Autor bestimmte Situationen ganz ähnlich mehrfach erlebt. Dieser Artikel berichtet von typischen Herausforderungen aus Versionsmanagement-Sicht, die sich in solchen Situationen ergeben und von praxiserprobten Möglichkeiten, sie zu meistern.

    Mehr lesen
  • NoSQL - Einsatzgebiete für die neue Datenbank-Generation

    Artikel Dirk Lingstädt

    NoSQL ist derzeit in aller Munde, obwohl manche Konzepte und Technologien schon seit Jahrzehnten bestehen. Der Begriff umspannt inzwischen derart viele Datenbank-Kategorien und -Produkte, dass es oft zu Verwirrungen und falschen Annahmen über den geeigneten Einsatz kommt. Dieser Artikel betrachtet anhand konkreter Beispielszenarien die Kriterien, die bei der Entscheidung für ein klassisches relationales Datenbanksystem oder eine der NoSQL-Varianten eine Rolle spielen.

    Mehr lesen