Sie sehen zum Thema aim42 aus dem Zeitraum bis in
  • 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
  • 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
  • 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
  • JAX TV: Know your Enemies – Problembewusstsein als Grundlage von Änderungs- und Evolutionsprojekten

    Link Gernot Starke

    Die meiste Zeit verbringen Softwareentwickler mit Änderungen oder Verbesserungen bestehender Systeme. In seiner Session von der W-JAX 2015 zeigt Gernot Starke, wie man systematisch die aus langfristiger und ökonomischer Sicht schlimmsten Probleme in Softwarearchitekturen und -systemen finden 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • Methodical Improvement of Software Systems and Architectures: The aim42 approach

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

    The presentation outlines AIM42, the architecture-improvement-method, a systematic yet pragmatic approach to improve productive systems. AIM42 relies on a small number of domain concepts and works in three phases (analysis, evaluation, improvement) supported by crosscutting activities. For each phase, AIM42 proposes a number of proven and established practices and patterns. The method addresses both business and technical stakeholders of software systems. aim is developed by an active community in open-source style, backed by extensive industrial experience and scientific research. It has proven to work under time- and budget constraints in various industries.

    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
  • 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