Publications

How to Architect Anything (Presentation)

Posted September, 2017. Presented at European Conference of Software Architecture in University of Kent, Canterbury, UK

Our ability to architect enterprises, systems and software is rooted in a foundation that can be applied to anything! The focus of this keynote was to explore that foundation, in terms of both technical practices and personal qualities, so that you can maximise your impact in a variety of domains throughout your career. The presenter shared his own personal experiences of applying such architectural thinking in different areas, including those that are his current focus: cloud and DevOps.

Download PDF (12.66 MB)

30 common challenges to DevOps and how to resolve them (Blog Post)

Posted May, 2017 in TechBeacon

As DevOps becomes mainstream, many teams are asking themselves, “Where do I start with my DevOps adoption?” “What challenges am I likely to face along the way?” and, “How do I resolve those challenges?” These are just a few of the recurring concerns I heard from enterprise DevOps teams during a series of focus groups I ran over the past year. From those sessions, I've compiled a list of the most common challenges DevOps teams say they face, along with solutions that just might help shape or refine your own DevOps journey.

Interview with DevOps.com

Posted April, 2017

From DevOps.com: "Peter Eeles speaking with Alan Shimel at IBM Interconnect 2017. Peter is a world wide lead for DevOps adoption at IBM. Peter has been compiling metrics on all of the workshops that IBM has been doing on DevOps for last several years. Crunching these numbers provides real insight into the state of DevOps. Great information!"

DevOps Adoption - How do You Compare? (Presentation)

Posted March, 2017. Presented at IBM InterConnect in Las Vegas, Nevada, USA

IBM has conducted over 100 in-depth DevOps workshops with clients. Several recurring challenges have emerged, along with their resolutions. What did these organizations do to improve, and how do you compare? What results did these organizations achieve? This session presents an analysis of workshop results with a view to helping you fine-tune your own DevOps transformation.

Download PDF (9.10 MB)

Accelerating Your DevOps Journey (Presentation)

Posted October, 2016. Presented at DevOps Strategy Forum in London, UK

This is a general presentation that was used as the basis of a discussion of how to accelerate a DevOps transformation, based on some proven practices. Much of this is common sense, but the presentation also includes experience-based suggestions on how to move forward that you might find useful.

Download PDF (3.49 MB)

The DevOps (R)evolution: Part 1 (Blog Post)

Posted June, 2016 in DZone

There is no doubting that DevOps is the new kid on the block; every organization I talk with these days has a vague notion of what DevOps is and a sense of which DevOps practices they would like to introduce. There are, however, three recurring concerns that can be addressed by recognizing that the shift to a DevOps world is not a revolution, but an evolution of the rich heritage of delivery practices, some of which you are probably already applying.

The DevOps (R)evolution: Part 2 (Blog Post)

Posted June, 2016 in DZone

Part 1 of this blog post suggested that we should recognize that the shift to a DevOps world is not a revolution, but an evolution of our rich heritage of delivery practices. In part 2 I conclude my summary of the different eras of "best practice" before addressing the questions originally posed.

DevOps is a Risky Business (Blog Post)

Posted May, 2016 in DevOps.com

I spend a considerable amount of time with clients discussing DevOps and the potential value it can bring to them, but there is one theme that always resonates: the ability of a DevOps approach to eliminate risk. While many of us understand the benefits in terms of being faster (improved productivity), cheaper (reduced cost) and better (improved quality), I find that a conversation based around risk, especially when talking to the business or department heads, usually gets straight to their concerns in a language they understand.

DevOps for Banking (Presentation)

Posted February, 2016. Presented at InterConnect 2016 in Las Vegas, Nevada, USA

Banks depend on the reliable exchange of data, and every development project needs to maximize the chances of a successful client experience by minimizing the potential of any IT-related failure within the bank. This requires both automated testing and smooth, continuous release management. This session will give IBM's point of view on how to implement quality checks as early as possible, run tests as often as possible, and integrate automated testing with release management to minimize the complexity of deployment. Attendees will be provided with practical guidance on how they can realize their DevOps vision.

Download PDF (4.94 MB)

DevOps and Agile Transformation - Creating a Strategic Roadmap (Presentation)

Posted February, 2016. Presented at InterConnect 2016 in Las Vegas, Nevada, USA

The transformation from a Waterfall methodology to a Lean/DevOps/Agile way of working can be done either with ad hoc pilots or via a transformation strategy. Ad-hoc pilots tend to provide short-term wins, but without a strategic roadmap these pilots typically don't progress to an enterprise rollout. For IBM, the transformation strategy for one area of the business resulted in a $41 million cost avoidance in the first year. In this session, attendees will hear about transformation strategies that have worked both for IBM's clients and for IBM's own application and product development organizations.

Download PDF (5.31 MB)

Hybrid Cloud - Your Path to Business Agility (Presentation)

Posted October, 2015. Presented at IBM Business Connect 2015 in Copenhagen, Denmark

This presentation was delivered as the Cloud Keynote at the IBM Business Connect 2015 event. The introduction covers the business and IT context, before defining hybrid cloud and other concepts (such as IaaS, PaaS and SaaS). An industry perspective, based on the work of several analyst organisations, is then provided, before concluding with a summary of how IBM can help.

Download PDF (6.74 MB)

Relating System Quality and Software Architecture (Book)

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".


What's in Your e-Wallet? (Presentation)

Posted June, 2014. Presented at IBM Innovate in Orlando, Florida, USA

Payments and transactional services present multiple moments of truth for demanding clients who are often interacting with us anytime and anywhere. For financial services organizations, the 24x7 nature of the industry has made innovation and optimization of these capabilities critical. In this session, you will learn about the experiences of IBM clients in transforming their payments and transactional services with IBM Rational DevOps capabilities. Learn how banks, brokerages and insurance firms are aligning the lifecycles of legacy back offices with the agile sprints of mobile payments development shops and value-added technology partners.

Download PDF (9.61 MB)

Architecture, Agile and DevOps (Presentation)

Posted June, 2014. Presented at IBM Innovate in Orlando, Florida, USA

Agile and DevOps are becoming mainstream approaches for realizing the vision of continuous delivery. However, the rich heritage of traditional practices are often overlooked. This presentation looks at the relevance of software architecture in utilizing an agile and DevOps environment and concludes that architecture, agile and DevOps are necessarily complementary. For example, the units of development and delivery in an integrated supply chain can only be determined if there is an element of software architecture in place, and which defines how the system is composed in terms of the architectural building blocks and their dependencies. This presentation examines specific practices and any associated automation, exemplified with case studies.

Download PDF (5.53 MB)

Busting Agile Myths that Permeate Financial Services (Presentation)

Posted March, 2014. Presented at Agile in the Finance Sector in London, UK

Transforming the ways of working in any organisation can pose significant challenges and making the move to agile is no different. Such a significant transformation, if done right, will have far-reaching effects that requires senior sponsorship in order for the transformation to succeed. However, such sponsors are sometimes hard to win over due to a number of myths that abound in the agile community. The purpose of this presentation is to bust such myths which, if left unchallenged, threaten to derail any agile adoption initiative. Based on a number of real-world case studies from financial services, this session will share a number of suggestions that can be practically applied to ensure that the adoption of agile is successful.

Download PDF (3.31 MB)

Selecting a Strategic Toolset (Paper)

Posted February, 2014 in IBM DeveloperWorks

So, we've made our decision. We're going to deploy Acme Inc.'s configuration management tool since one of our flagship projects desperately needs to get its house in order with regards to version control. Although there are more comprehensive tools on the market, Acme Inc.'s offering is cheaper and is up to the job. We'll be on to the vendor in the morning to tell them the good news. Our work is done and we can rest easy. This scenario is typical of many organizations where tooling decisions are made based on the immediate tactical need. While the short-term need may indeed be addressed, such an approach to tool acquisition often leads to frustration as an organization, over time, builds up a catalogue of tools that overlap in capability, fail to integrate, place a huge burden on the IT department to maintain as new tool versions become available, and so on. The purpose of this paper is to highlight 5 themes that IBM Rational considers key considerations when selecting a strategic toolset and that tackles the challenges described above from the outset.

Download PDF (0.61 MB)

Agile Software Architecture (Book)

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".


Building a Platform for Innovation: Architecture and Agile as Key Enablers (Presentation)

Posted June, 2013. Presented at IBM Innovate Conference in Orlando, Florida, USA

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 presentation sheds light on the factors that resulted in successful transformations and the creation of a platform for innovation. The presentation concludes that architecture and agile practices are complementary and that their successful introduction within an organization is not just technical in nature, but also requires a focus on people and appropriate techniques for managing organizational change.

Download PDF (2.02 MB)

Transforming an Architecture Practice (Presentation)

Posted June, 2013. Presented at IBM Innovate Conference in Orlando, Florida, USA

Co-presented with Chris Palmann, Design Transformation Lead at Lloyds Banking Group. Lloyds Banking Group (LBG) includes 12,000 IT practitioners, of which approximately 600 are architects. The prominent architecture domains are enterprise, application, data, infrastructure and security architecture. The group is on a journey to transform the work of its architects and, at the beginning of 2012, Group IT committed to transform its solution design processes and adopt a more standardized approach to the business of solution design. In doing this, LBG introduced a consolidated architecture method, together with appropriate tooling, namely Rational Requirements Composer (RRC) for capturing both functional and non-functional requirements, Rational Software Architect (RSA) for describing architectures and Rational Team Concert (RTC) for managing architecture-related work items. This presentation examines the rationale for change, the anticipated benefits, details of the architecture method, the configuration of RRC, RSA and RTC and results to date.

Download PDF (2.55 MB)

DevOps - a Cornerstone of an Integrated Supply Chain (Presentation)

Posted May, 2013. Presented at DevOps Summit in London, UK

The aspiration to be faster, cheaper, better and innovative has driven many organizations to embrace various approaches to optimising the software supply chain, including architecture-centric approaches, agile and, of course, DevOps. This presentation examines each of these approaches and provide a view, based on work with a number of clients, that shows that each is an integral element of a successful solution; "the whole is greater than the sum of the parts".

Download PDF (1.77 MB)

Building a Platform for Innovation (Presentation)

Posted November, 2012. Presented at School of Management, University of Surrey in Guildford, UK

Many organizations that rely on IT spend most of their time "keeping the lights on" with a huge amount of effort expended in maintaining existing solutions, leaving little room for innovation. The purpose of this presentation is to articulate the value of two key innovation enablers - architecture and agile.

Download PDF (2.00 MB)

Business Agility (Blog Post)

Posted October, 2011 in Blogger

Thoughts on the meaning of business agility, and the relevance of IT.

Transforming a Development Organization (Presentation)

Posted June, 2011. Presented at IBM Innovate Conference in Orlando, Florida, USA

With a relentless drive to reduce project delivery time, reduce cost and improve quality, it's no wonder that many development organizations are looking to optimize the way they work. But what needs to be considered when undertaking such a change - and how will we will know when we've arrived at our destination? This presentation defines a broad view of a development environment before examining a number of successful client case studies. Several patterns of successful organizational change, of particular relevance to software development organizations, are described.

Download PDF (1.96 MB)

Define the Scope of Your Development Environment (Paper)

Posted May, 2011 in IBM DeveloperWorks

A development environment contains everything required by a team to build and deploy software intensive systems (where software is an essential and indispensable element). Many organizations are looking to reduce time-to-market, reduce cost and improve quality and all of these business goals are directly influenced by the quality of the environment used to produce their software-intensive systems. Having a consistent and comprehensive definition of a development environment at hand will ensure that nothing is overlooked when we're planning an initiative to improve the current environment, defining requirements on the environment,architecting the environment, assessing the environment, ensuring an appropriate return-on-investment when changing the environment and so on. Fundamentally, a development environment definition, the subject of this paper, is a critical input to all of these tasks.

Download PDF (0.30 MB)

The Rise of the Development Environment Architect (Presentation)

Posted February, 2011. Presented at UK Rational User Group in London, UK

This is an update to a presentation originally delivered at the Rational Software Development Conference in 2008. IT is a critical element for many organizations, whether their IT supports internal systems or the creation of software products that represent their core business. In both cases, software is an essential element of their success, and these organizations naturally seek an environment for developing high-quality software in a timely, cost-efficient manner. Our experience has led the Rational team to define a role within the software development lifecycle called the "development environment architect." In October 2007, one hundred of Rational's most experienced development environment architects from across the globe gathered together in the first conference dedicated to this role to share their experiences. This presentation is a result of that conference and the discussions that took place.

Download PDF (1.57 MB)

To Be, or Not To Be, Agile (Presentation)

Posted June, 2010. Presented at IBM Innovate Conference in Orlando, Florida, USA

The phenomenal rise of agile has generated a lot of interest in methodologies such as RUP for Agile, Scrum, OpenUP, XP, Lean and the like. But when should we choose an agile approach and how can we ensure that a project using agile is steered toward a successful outcome? This presentation discusses key decisions that are made in successful agile transformation programs and agile projects, drawing on experiences from an agile adoption programme at a major European bank.

Download PDF (3.95 MB)

What does Enterprise Architecture mean to you? (Blog Post)

Posted January, 2010 in Blogger

I delivered some enablement yesterday for my colleagues and one item that resonated is Alan Brown's list of possible interpretations of what EA might mean to any given organisation.

The 10 Keys to Successful Architecting (Blog Post)

Posted August, 2009 in Blogger

I've been using the following "Top 10" keys to successful architecting lately - since it allows me to touch on almost every aspect of architecting - you might find it useful.

The Process of Software Architecting (Book)

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.


Software Architecture Masterclass (Presentation)

Posted June, 2009. Presented at Rational Software Development Conference in Orlando, Florida, USA

This masterclass, initially delivered at the Rational Software Conference, has several objectives - to provide a framework for understanding the role of the software architect, to discuss practices and principles that are relevant to the architect, to exemplify discussion with a case study. The masterclass answers basic questions such as "What is a software architecture?" and discusses various themes relevant to the software architect such as documenting a software architecture, the application of reusable assets, the tasks that software architect performs, the role of the architect throughout the life of a project, and architecting complex systems.

Download PDF (5.49 MB)

The Process of Software Architecting (Presentation)

Posted January, 2009. Presented at OOP Conference in Munich, Germany

Software touches 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. 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 presentation discusses the process that successful architects follow.

Download PDF (2.90 MB)

Modeling and Sharing Architectural Decisions (Paper)

Posted August, 2008 in IBM DeveloperWorks

Architectural decisions capture precious knowledge that is worth sharing. Text templates and tools designed solely for documentation purposes fail to facilitate such knowledge exchange. In this series of articles, learn about a domain meta model specifically designed to capture and share architectural decisions, explore a reusable architectural decision model for SOA, and find out more about Architectural Decision Knowledge Wiki, a Web 2.0 collaboration platform. This first article outlines why and how architects should consciously identify, make, and enforce architectural decisions. Co-authored with Olaf Zimmermann and Nelly Schuster.

The Rise of the Development Environment Architect (Presentation)

Posted June, 2008. Presented at Rational Software Development Conference in Orlando, Florida, USA

IT is a critical element for many organizations, whether their IT supports internal systems or the creation of software products that represent their core business. In both cases, software is an essential element of their success, and these organizations naturally seek an environment for developing high-quality software in a timely, cost-efficient manner. Our experience has led the Rational team to define a role within the software development lifecycle called the "development environment architect." In October 2007, one hundred of Rational's most experienced development environment architects from across the globe gathered together in the first conference dedicated to this role to share their experiences. This presentation is a result of that conference and the discussions that took place.

Download PDF (0.94 MB)

The Rise of the Development Environment Architect (Paper)

Posted April, 2008 in The Rational Edge

IT is a critical element for many organizations, whether their IT supports internal systems or the creation of software products that represent their core business. In both cases, software is an essential element of their success, and these organizations naturally seek an environment for developing high-quality software in a timely, cost-efficient manner. Our experience has led the Rational team to define a role within the software development lifecycle called the "development environment architect." In October 2007, one hundred of Rational's most experienced development environment architects from across the globe gathered together in the first conference dedicated to this role to share their experiences. This paper is a result of that conference and the discussions that took place.

Download PDF (0.31 MB)

Understanding Architectural Assets (Presentation)

Posted March, 2008. Presented at WebSphere User Group in IBM Bedfont Lakes, UK

"The life of a software architect is a long and rapid succession of suboptimal design decisions taken partly in the dark". [Kruchten]. The purpose of this presentation is to shed some light on the darkness, by discussing a key characteristic of successful software architectures - the use of reusable assets.

Download PDF (2.17 MB)

Software Development in the Large (Presentation)

Posted October, 2007. Presented at IBM Rational Software Development Conference (keynote) in Cape Town and Johannesburg, South Africa

Many software development processes, including the Rational Unified Process, focus on the execution of a single software development project. However, many initiatives, such as systems engineering and enterprise architecture, require us to think beyond such processes. They focus on programmes of multiple projects. They focus on hardware and people, as well as software. And they focus on operations as well as development. This presentation examines some of the techniques that have been successfully applied to address these challenges.

Download PDF (1.57 MB)

Understanding Architectural Assets (Paper)

Posted September, 2007 in The Rational Edge

This article discusses the various kinds of reusable assets available to the software architect, explains their characteristics and interrelationships, and offers tips on how best to make use of them.

Download PDF (0.38 MB)

Architecting Large-Scale Systems (Presentation)

Posted March, 2007. Presented at SPA 2007 in Cambridge, UK

Many initiatives, such as systems engineering, enterprise architecture, strategic reuse programmes and Service-Oriented Architecture (SOA) require us to move beyond a "single system" mentality. This presentation examines some of the architectural challenges in working in such environments and explores some of the techniques that have been successfully applied to address these challenges.

Download PDF (1.26 MB)

A Software Development Platform for SOA (Presentation)

Posted July, 2006. Presented at IBM IT Architects' Institute in Nottingham, UK

A presentation focusing on the capabilities required of a development platform for SOA.

Download PDF (2.99 MB)

The Benefits of Software Architecting (Paper)

Posted May, 2006 in The Rational Edge

This paper discusses the benefits that a business and an IT organization can derive from a sound software architecture. In general terms, software architecting is a key factor in reducing cost, improving quality, timely delivery against schedule, and delivery against requirements. This paper focuses on specific benefits that contribute to meeting these objectives. It is also worth noting that, as an architect, we sometimes have to justify our existence. This paper provides some useful ammunition for treating architecting as a critical part of the software development process.

Download PDF (0.14 MB)

The Process of Software Architecting (Paper)

Posted April, 2006 in The Rational Edge

This paper considers the themes, or characteristics, that underly the process of software architecting.

Download PDF (0.17 MB)

Characteristics of a Software Architect (Paper)

Posted March, 2006 in The Rational Edge

This is the second article in a four-part series on software architecture. This paper considers the role that is responsible for the creation of the architecture -- the architect. The role of the architect is arguably the most challenging within any software development project. The architect is the technical lead on the project and, from a technical perspective, ultimately carries the responsibility for the success or failure of the project.

Download PDF (0.13 MB)

What is a Software Architecture? (Paper)

Posted February, 2006 in The Rational Edge

This introduction to the relatively new discipline of software architecture is the first of a four-part series on "architecting" in general. The paper begins by defining the discipline's key terms and goes on to explore what a well-designed architecture contributes to the environment in which it is deployed.

Download PDF (0.20 MB)

Does Software Architecture Really Exist? (Presentation)

Posted November, 2005. Presented at Rational Edge Live! in London, UK

A presentation relating software architecture and systems architecture. With a deliberately-provocative title :)

Download PDF (1.37 MB)

Realizing service-oriented solutions with the IBM Rational Software Development Platform (Paper)

Posted October, 2005 in IBM Systems Journal, Volume 44, Number 4

Creating service-oriented architecture (SOA) solutions means rethinking the practices currently in use to build systems, reconsidering the skills in an organization, and redefining the ways in which team members collaborate. A service orientation contributes to the development of solutions that are assembled from disparate applications, and SOA is an architectural style that emphasizes loose coupling of independent service providers. This perspective on service orientation is known as service-oriented development of applications (SODA). SODA encompasses composition, adaptive process management, service-based interoperability and integration, discovery and description, and rapid application maintenance.

Describing Software Architectures with UML 2.0 (Presentation)

Posted October, 2005. Presented at IBM European Rational Technical Conference in Dusseldorf, Germany

A presentation showing how UML2 can support the description of software architectures. Derived from a presentation originally delivered by Bran Selic.

Download PDF (3.11 MB)

Software Architecting and the Rational Unified Process (Presentation)

Posted June, 2005. Presented at IBM Internal Presentation in Warwick, UK

This presentation shows how the Rational Unified Process supports the software architect.

Download PDF (2.34 MB)

Non-Functional Requirements (Presentation)

Posted June, 2005. Presented at IBM Internal Presentation in Warwick, UK

A presentation that provides an overview of non-functional requirements.

Download PDF (0.94 MB)

The Role of the Software Architect (Presentation)

Posted June, 2005. Presented at Rational Edge Live! in London, UK

A presentation that describes the role of the software architect. Like it says!

Download PDF (0.83 MB)

Model-Driven Architecture and the Rational Unified Process (Presentation)

Posted June, 2005. Presented at Rational Edge Live! in London, UK

A presentation showing how the Rational Unified Process supports the principles of Model-Driven Architecture.

Download PDF (2.20 MB)

Configuring Rational Software Architect for an Organization (Presentation)

Posted January, 2005. Presented at IBM Software University in Las Vegas, USA

This presentation discusses the various configuration options available within RSA, with a focus on the creation of UML2 models and their associated structure.

Download PDF (4.41 MB)

MDA Overview (Presentation)

Posted October, 2004. Presented at IBM Internal Presentation in Warwick, UK

This presentation provides an overview of the OMG's Model-Driven Architecture initiative.

Download PDF (5.26 MB)

Service-Oriented Architecting (Presentation)

Posted October, 2004. Presented at Rational Software Development User Conference (EMEA) in Strasbourg, France

This presentation introduces the concepts of "service" and "Service-Oriented Architecture" and then discusses a process for developing a SOA using the Rational Unified Process as a process framework.

Download PDF (3.79 MB)

An Introduction to Web Technologies and Web Architectures (Presentation)

Posted July, 2004. Presented at Rational Software Development User Conference in Dallas, Texas, USA

This presentation provides an introduction to web technologies, concluding with a discussion of J2EE, .NET and web services.

Download PDF (4.58 MB)

Model-Driven Development - Past, Present and Future (Presentation)

Posted October, 2003. Presented at Rational User Forum (keynote) in Cape Town and Johannesburg, South Africa

This presentation examines the concepts of "model" and "model-driven development" (MDD) before discussing the past, present and future of MDD.

Download PDF (4.30 MB)

The Process of Architecting (Presentation)

Posted September, 2003. Presented at JAOO (http://www.jaoo.dk) in Aarhus, Denmark

This presentation focuses on the process of (note the verb - and the name of this website!) architecting. This presentation focuses firmly on architecting as a software engineering discipline.

Download PDF (2.13 MB)

What - No Supplementary Specification? (Presentation)

Posted August, 2003. Presented at Rational User Conference in Orlando, Florida, USA

This presentation considers one of the primary artifacts in the Rational Unified Process - the "Supplementary Specification". This artifact is intended to capture system-wide requirements and, as such, is a critical artifact as far as a software architect is concerned.

Download PDF (2.47 MB)

Modeling for Enterprise Initiatives with the IBM Rational Unified Process (Paper)

Posted July, 2003 in The Rational Edge

Out of the box, RUP focuses on the execution of a single project to develop a single software application, but it is highly suitable for developing more complex systems as well. In particular, this paper considers RUP as a process framework for typical enterprise initiatives such as enterprise architecting, enterprise application integration, packaged application integration, strategic reuse, systems engineering and outsourced development. This paper is in 2 parts. Part 2 of the paper can be found at http://www-106.ibm.com/developerworks/rational/library/content/RationalEdge/oct03/t_modeling_pe_me.pdf

Download PDF (0.68 MB)

Architecting for the Enterprise with the Rational Unified Process (Presentation)

Posted May, 2003. Presented at Enterprise UML 2003 in London, UK

This presentation is also derived from the paper co-written with Maria Ericsson. However, this presentation is more focused on the Rational Unified Process (RUP).

Download PDF (3.80 MB)

Architecting J2EE Systems (Presentation)

Posted January, 2003. Presented at OOP 2003 in Munich, Germany

The Rational Unified Process (RUP) is, to a large extent, technology-independent. This presentation shows the application of RUP to the development of a system utilizing the J2EE platform.

Download PDF (3.55 MB)

The Rational Unified Process for J2EE (Presentation)

Posted October, 2002. Presented at Rational User Forum in London, UK

The Rational Unified Process (RUP) is, to a large extent, technology-independent. This presentation shows the application of RUP to the development of a system whose implementation is based upon the J2EE platform.

Download PDF (2.69 MB)

An Introduction to the Java 2 Platform, Enterprise Edition (Paper)

Posted September, 2002 in The Rational Edge

This paper is also a chapter from Building J2EE Applications with the Rational Unified Process. Possibly the most concise summary of J2EE you'll find!

Download PDF (0.25 MB)

An Introduction to the Rational Unified Process (Paper)

Posted September, 2002 in The Rattle (internal Rational magazine)

This paper is actually one of the chapters from Building J2EE Applications with the Rational Unified Process. Possibly the most concise summary of RUP you'll find!

Download PDF (0.52 MB)

Building J2EE Applications with the Rational Unified Process (Book)

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.


Strategies for Structuring UML Models with Rational XDE (Presentation)

Posted August, 2002. Presented at Rational User Conference in Orlando, Florida, USA

One of the key concerns of a software architect is the structure of the models they create to communicate the system they're responsible for. This presentation discusses various strategies for structuring these models, including a discussion of structuring based upon a typical 3-tier architecture, strategic reuse initiatives as advocated by Ivar Jacobson et al (see the book Software Reuse) and business component modeling as advocated by Peter Herzum and Oliver Sims (see the book Business Component Factory).

Download PDF (1.98 MB)

Architecting in Practice - a RUP Perspective (Presentation)

Posted August, 2002. Presented at Rational User Conference in Orlando, Florida, USA

The Rational Unified Process (RUP) has much to say about the process of architecting, although this is not always as visible as it should be. The purpose of this presentation, co-written and co-presented with Kelli Houston and Wojtek Kozaczynski, shows the RUP content as viewed through the eyes of a software architect.

Download PDF (1.71 MB)

Capturing Architectural Requirements (Paper)

Posted November, 2001 in The Rational Edge

Capturing requirements is difficult. Capturing architecturally significant requirements is particularly difficult. This paper discusses the root causes of this difficulty, and suggests a systematic approach to capturing architectural requirements to ensure that these elusive, and yet extremely important, system specifications are not overlooked.

Download PDF (0.12 MB)

Layering Strategies (Paper)

Posted October, 2001 in Rational Unified Process white paper

Layering is a decomposition technique that has been adopted in numerous software systems and espoused in many texts as well as the RUP. It is, however, often misunderstood and incorrectly applied. This paper clarifies what is meant by layering, and discusses the impact of applying different layering strategies This paper is shipped with the Rational Unified Process. The link is to the version published in the Rational Edge.

Download PDF (0.35 MB)

Capturing Architectural Requirements with Rational RequisitePro (Presentation)

Posted July, 2001. Presented at Rational User Conference in Denver, Colorado, USA

One of the areas that software architects often struggle with is the capturing of system requirements that drive their work! This presentation discusses a process for capturing such requirements, using Rational RequisitePro.

Download PDF (1.98 MB)

The Reusable Asset Specification (Presentation)

Posted January, 2001. Presented at Enterprise Repositories 2001 in London, UK

This presentation provides an introduction to the Reusable Asset Specification. This up-and-coming standard is now under the stewardship of the Object Management Group (OMG).

Download PDF (0.89 MB)

Capturing Architectural Requirements with Rational RequisitePro (Presentation)

Posted June, 2000. Presented at Object World in Frankfurt, Germany

One of the areas that software architects often struggle with is the capturing of system requirements that drive their work! This presentation discusses a process for capturing such requirements, using Rational RequisitePro.

Download PDF (1.98 MB)

Distributed Object Patterns (Paper)

Posted May, 2000 in Rational Architecture Workshop

The development of distributed systems brings with it a new set of problems that the technical community must address. The focus of this paper is a discussion of the distributed environment, and the role that patterns have to play in assisting the development of products targeted at such environments.

Download PDF (0.62 MB)

Distributed Object Patterns (Presentation)

Posted February, 2000. Presented at Rational Architecture Workshop 2000 in Boulder, Colorado, USA

The development of distributed systems brings with it a new set of problems that the technical community must address. The focus of this presentation is a discussion of the distributed environment, and the role that patterns have to play in assisting the development of products targeted at such environments.

Download PDF (0.68 MB)

Software Architectures - Advances and Applications (Book)

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.


Business Component Development (Presentation)

Posted December, 1998. Presented at Open University in Milton Keynes, UK

This presentation is no longer available.

Business Objects for Business Benefits (Presentation)

Posted May, 1998. Presented at Unicom Seminar in London, UK

This presentation is no longer available.

From Business Objects to Business Components (Presentation)

Posted May, 1998. Presented at British Computer Society in London, UK

This presentation is no longer available.

Building Business Objects (Book)

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.


Business Objects and the Business Object Facility (Presentation)

Posted May, 1997. Presented at British Computer Society in London, UK

This presentation is no longer available.

The Distributed Object Computing Architecture (Presentation)

Posted June, 1996. Presented at Object World West in San Jose, California, USA

This presentation is no longer available.

The Business Object Facility (Presentation)

Posted June, 1996. Presented at Object World West in San Jose, California, USA

This presentation is no longer available.

Business Objects (Presentation)

Posted August, 1995. Presented at British Computer Society in London, UK

This presentation is no longer available.