Books

Relating System Quality and Software Architecture

Published August, 2014 by Morgan Kaufmann (ISBN: 0124170099)

Co-editor of this book, which focuses on the influence of software architecture in achieving system qualities. From the publisher: "Contributions from leading researchers and industry evangelists detail the techniques required to achieve quality management in software architecting, and the best way to apply these techniques effectively in various application domains (especially in cloud, mobile and ultra-large-scale/internet-scale architecture) Taken together, these approaches show how to assess the value of total quality management in a software development process, with an emphasis on architecture. The book explains how to improve system quality with focus on attributes such as usability, maintainability, flexibility, reliability, reusability, agility, interoperability, performance, and more. It discusses the importance of clear requirements, describes patterns and tradeoffs that can influence quality, and metrics for quality assessment and overall system analysis. The last section of the book leverages practical experience and evidence to look ahead at the challenges faced by organizations in capturing and realizing quality requirements, and explores the basis of future work in this area".


Agile Software Architecture

Published December, 2013 by Morgan Kaufmann (ISBN: 0124077722)

Agile Software Architecture has several authors, each writing a chapter that has some connection to the title of the book. Other authors include Jim Coplien, Jan Bosch, Michael Stal and Richard Hopkins. Edited by Muhammad Ali Babar, Alan W Brown and Ivan Mistrik. My chapter is entitled "Building a Platform for Innovation: Architecture and Agile as Key Enablers" whose abstract is "Organizations must adapt to survive, and two key enablers drive their ability to change and innovate: architecture and agile. Based on practical experiences of working with several clients who adopted both architecture and agile practices, this chapter sheds light on the factors that resulted in successful transformations and the creation of a platform for innovation".


The Process of Software Architecting

Published June, 2009 by Addison Wesley (ISBN: 0321357485)

Bjarne Stroustrup, the inventor of the C++ programming language, once said, "Our civilization runs on software". Software does indeed touch many aspects of our everyday lives and is found in something as simple as a birthday card that sings happy birthday when opened, through to the ubiquitous cell phone and, of course, in very complex systems such as aeroplanes and nuclear power stations. In fact, many of the innovations that we take for granted today, and organizations such as eBay or Amazon, simply wouldn't exist if it weren't for software. Even traditional organizations, such as those found in the finance, retail and public sectors, depend heavily on software. In this day and age, it's difficult to find an organization that isn't, in some way, in the software business. This is where the process of architecting comes in. If this increasing reliance on software is to be sustained, then the software needs to provide the required capability, be of sufficient quality, be available when promised and get delivered at an acceptable price. All of these characteristics are directly influenced by the architecture of the software and it follows that if we do a good job at architecting it, then we're more likely to meet our desired objectives. This book is all about conveying the process that successful architects follow.


Building J2EE Applications with the Rational Unified Process

Published September, 2002 by Addison Wesley (ISBN: 0-201-79166-8)

Building J2EE Applications with the Rational Unified Process is co-authored with Kelli Houston and Wojtek Kozaczynski. This book brings together several technologies - J2EE, RUP and UML. Using a non-trivial sample application, the book demonstrates a customized subset of RUP that is relevant and essential to J2EE development. It guides readers through the entire development process, from initial requirements gathering through to system implementation, illuminating real-world intricacies, complications, tradeoffs, and decision-making.


Software Architectures - Advances and Applications

Published November, 1999 by Springer-Verlag (ISBN: 1-85233-636-6)

Software Architectures - Advances and Applications has many authors. This book provides an overview of different approaches to developing software which is flexible, adaptable and easy to maintain and reuse. Including authors such as Steve Cook and Jan Bosch, my chapter focuses on the concept of a Business Component as a flexible unit of reuse.


Building Business Objects

Published April, 1998 by John Wiley & Sons (ISBN: 0-471-19176-0)

Building Business Objects is co-authored with Oliver Sims. Business objects are fully interoperable, plug-and-play, distributed components that provide a natural way to depict the things you use in your everyday business processes. With them, you can "evolve" business applications incrementally to fit changing organizational needs, rapidly build new applications entirely from reusable components, and dramatically reduce your development and maintenance costs. Although written in 1998, many of the concepts described in this book survive today. For example, the concept of Semantic Data Objects for passing information around in a distributed system is now realized in XML. The concept of a Business Object Facility is yet to be truly realized today, although platforms such as JavaEE and .NET incorporate some of the concepts described in this book.