Caro
Robustes Change-Management in verteilten Umgebungen
Unternehmen integrieren ihre Informationssysteme immer stärker miteinander, um die Informationen miteinander zu Verknüpfen und so den größtmöglichen Nutzen aus ihnen zu ziehen. Resultat sind hochkomplexe, verteilte Informationssysteme mit einer Vielzahl von Abhängigkeiten zwischen den beteiligten Einzelsystemen.
Die Informationslandschaft einer Unternehmung unterliegt dadurch auch ständiger Veränderung durch Umstrukturierungen, Neuanschaffungen usw. Diese Systemevolution findet meist punktuell statt und betrifft nur wenige Systeme direkt. Durch die Vielzahl an Abhängigkeiten zwischen den einzelnen Systemen kann ein Evolutionsschritt jedoch weitere indirekte Auswirkungen haben. Das reicht vom Totalausfall über Datenkorruption bis hin zu subtilen Fehlern, die möglicherweise erst viel später entdeckt werden. Diese negativen Auswirkungen müssen auf ein Minimum (sowohl an Zahl als auch an Dauer) reduziert werden. Das ist auf organisatorischer Ebene alleine (z. B. neue Geschäftsprozesse zur Koordination der Verantwortlichen) nicht zu bewältigen.
Unser Ziel ist es, eine Informationslandschaft automatisch zu überwachen und bei Veränderungen die Auswirkungen auf andere Systeme zu analysieren. Hierbei gehen wir erstens von unvollständiger Information (nicht jedes Detail aller Abhängigkeiten ist unserem Ansatz bekannt) und zweitens von der Nichteinhaltung vordefinierter Prozesse (der Mensch geht immer den Weg des geringsten Widerstandes) aus. Auch unter diesen Bedingungen soll unser Ansatz nach dem "Best Effort"-Prinzip zur Auswirkungsanalyse befähigt sein. Das führt dazu, dass nicht immer eine detaillierte Analyse möglich ist, jedoch zumindest die Auswirkungen grob eingegrenzt werden können. Je mehr Informationen (z.B. Datenbankschemas, Ontologien) unser Ansatz zur Verfügung hat und je besser Prozesse (z.B. Absprachen zwischen Systemverantwortlichen) eingehalten werden, desto exakter kann analysiert werden. Der Trade-Off besteht darin, unseren Ansatz mit detaillierten Informationen zu versorgen und sich diszipliniert an die definierten Prozesse zu halten (viel Aufwand, exakte Analyse) oder sich mit einer groben Aussage zufriedenzugeben und einen größeren Aufwand beim Feststellen von Problemen in Kauf zu nehmen. Da grundsätzlich pessimistisch abgeschätzt wird, entgehen unserem Ansatz jedoch in keinem Fall mögliche Auswirkungen.
Robust Change Management in Distributed Environments
To get most benefit out of existing information, companies are trying to combine information from different sources by using information integration technologies. This results in highly complex, distributed systems with many dependencies between each other.
Because of restructuring, acquisitions etc. such an information infrastructure is subject to constant change. This "system evolution" normally affects only a few systems directly. But because of the interwoven dependencies, it might have an indirect impact on other systems as well. Possible consequences may be data corruption, system failures or inconsistencies that are detected much later. It is very important to reduce these consequences to a minimum in number and duration.
Caro tries to monitor the state of the whole information infrastructure, and to analyse the effects of changes to system, no matter if they are planned or ad hoc. We make two assumptions here: First, we will have to live with incomplete information, and second, predefined processes will not be adhered to. These assumptions simply reflect the human behaviour which we cannot change. Even under these difficult circumstances, our approach always works on a "best effort" basis. We may lose some detail in the analysis, but still can get approximate results. The more information (ontologies, database schemas, etc.) we have, and the more people adhere to processes (agreements between responsible administrators etc.), the better the results of the performed analysis are. A trade-off exists between putting more work into making Caro do a good analysis, or to have more manual work afterwards when problems are detected. In neither case consequences of a change will go undetected, since we always use pessimistic estimates.