Recently posted book review for Information Systems Transformation: Architecture-Driven Modernization Case Studies, by William M. Ulrich and Philip Newcomb, Morgan Kaufmann, 2010, reposted here:
Since the marketplace is largely absent of texts discussing the modernization of software systems architecture, this reviewer did not know what to expect from authors William M. Ulrich and Philip H. Newcomb. In addition, the space of this topic can be very large depending on how it is defined. In the opinion of this reviewer, the best part of what the authors present are the ten case studies, which comprise the bulk of the content, but the initial chapters and concluding chapter provide some initial high-level guidance for managers looking to pursue modernization projects for the first time.
While the case studies presented here offer a variety of scenarios, the potential reader should note that there are some commonalities across these scenarios as well. The tooling and processes utilized across these case studies are shared to a large extent, although there is definitely variation depending on the systems and firms involved. Newcomb is CEO of The Software Revolution, Incorporated (TSRI), and so some of the commonality is due to the tooling and services provided by his firm, for example. The variation provided is largely due to type of system, associated technologies, and modernization approach.
During their initial discussion of challenges facing most enterprises today, the authors note that there is "a lack of understanding by executive teams regarding the impact of these issues and the actions that can be taken to address them for the betterment of the business environment" and that "it is of great concern that software and data assets are largely a mystery to management and planning teams". In following up this discussion with salvaging or rehabilitating legacy systems to provide business value, the authors offer "architecture-driven modernization".
Architecture-driven modernization is defined by the authors as "a collective set of tool-enabled disciplines that facilitate the analysis, refactoring and transformation of existing software assets to support a wide variety of business and IT-driven scenarios". Ulrich later discusses "the four corners of modernization", which consist of modernization scenarios, modernization tasks and disciplines, modernization technologies, and modernization standards, and argues that scenarios form the basis for modernization roadmaps.
Common modernization scenarios include IT portfolio management, replacement/rewrite, COTS package deployment, architecture consolidation, Model-Driven Architecture (MDA) migration, SOA transformation, data architecture migration, user interface refactoring, application improvement, language/source artifact transliteration and platform migration, and data conversion. Ulrich argues that management should be creative and look at a mix-and-match approach that addresses their requirements, and as a consultant who has been a participant in several such endeavors, this review wholeheartedly agrees with this assessment.
As an architect, this reviewer especially enjoyed the following case studies: "Modernization of the Eurocat Air Traffic Management System (EATMS)", "PowerBuilder/4GL Generator Modernization Pilot", and "Veterans Health Administration's VistA MUMPS Modernization Pilot". Note that each of the ten case studies was written by a different set of authors, so the subject concentration and writing style differ greatly between each. Diagram and table effectiveness also varies considerably, and it is no accident that apart from the subject matter of the three case studies sited, these case studies also excel in these areas.
The first of these three spends considerable time discussing all of the steps performed during transformation of Ada 83 code into C++ and Java (the Java solution won). concentrating on performance and duplication of the exact functionality provided in the original system. In contrast to low-level detail, the second of these three concentrates at the high-level, providing a high number of relevant architecture diagrams (to which this reviewer is partial). This reviewer enjoyed the third of these case studies from a business domain perspective, since it concentrates on health care system modernization.
While no book can offer detailed advice specific to the challenges a given potential reader might face in this space, in the opinion of this reviewer the authors offer solid introductory advice on how to start tackling a modernization project, and provide a wide enough variety of case studies that readers can get a feel for what they might encounter in pursuit of such a project. The discussions that the authors provide here definitely delve into the technical, but it is perhaps managers that will benefit the most from a reading of this book, especially the sections that discuss assessments and scenarios and issues underlying traditional approaches such as greenfield replacement and use of COTS software.