Agile and DevOps Transformation (Various)
April 2013 to date
Since April 2013 I took on a new role and have been working with many different clients around the globe, helping them with their adoption of Agile and DevOps. More recently, I have been responsible for the ongoing development of IBM's DevOps Innovation and Optimisation workshop, which helps clients express their impediments to any DevOps adoption, as well as ultimately providing a transformation roadmap. I have delivered this workshop many times around the world, from very large enterprises to relatively-small startups, and find it to be one of the most effective ways of helping clients on the DevOps journey. I'm currently undertaking an analysis of workshop reports with a view to identifying recurring patterns in terms of both challenges and their resolution.
Software Development Organization Transformation at a Major UK bank
March 2012 to March 2013
This bank has grown through a series of mergers and had an external IVI assessment performed. As a result of that assessment, IBM was engaged to help them transform their development organization, primarily in terms of improved processes and tools. The key elements of the assignment are to define the extent of transformation required, to build a deployment plan, to execute against that plan and to demonstrate tangible technical and business results. My role is to act as technical lead in IBM's engagement. As well as providing technical oversight of the IBM team, my role is to define the overall development environment architecture in terms of processes, tools, infrastructure, enablement, organizational changes and adoption of improved capabilities across the client's 6000 practitioners. In addition, based on my most recent book ("The Process of Software Architecting"), I am responsible for defining the processes used within the client's architecture and design teams - 400 practitioners in total. This work is spanning various architecture domains including enterprise architecture, application architecture, information architecture, infrastructure architecture and security architecture.
Software Development Organization Transformation at a Leading UK Building Society
April 2011 to February 2012
The building society had grown through several mergers and acquisitions, and was looking to rationalize their software development landscape. The assignment was to define a strategic process and tooling architecture, and to prove that architecture on one or more pilot projects. I acted as IBM Rational's chief architect on the engagement, providing a level of technical oversight of the IBM Rational team put in place to assist this client. More specifically, I helped defined the future process and tooling architecture, and to ensure that this architecture was successfully deployed on a strategic programme within the building society. A particular emphasis on this engagement was proving the value of the investment made in refined processes and tooling.
Health Assessment at a Leading European Logistics Company
March 2011 to March 2011
The client had several software development processes in use and was keen to see a level of reconciliation of these processes, along with the associated automation that would support them. Working with 3 IBM colleagues, I was responsible for leading the assessment of the client's software development practices and for formulating a set of findings and recommendations. These were presented back to the client and were subsequently actioned accordingly.
SDLC Architecture at a Leading European Card Services Provider
March 2010 to October 2010
The client aspired to unify the work of their various software development streams and were willing to invest in the implementation of improved practices and associated automation to achieve their aims. I was responsible for conducting an informal assessment of the client organization, visiting 3 separate sites to interview representative practitioners in various roles, ranging from enterprise architecture through to testing. The resulting findings and recommendations, together with an associated benefits case, were presented to the client which was well received. The subsequent work involved the training and mentoring of several pilot projects in their adoption of agile techniques.
Agile Adoption Programme at a Leading European Bank
September 2009 to February 2010
The bank used traditional techniques and processes for delivery of IT solutions and felt that their performance could be greatly improved through the adoption of agile practices. Various streams were identified within the programme, including strategy, method, tools, organisation implementation and adoption. I was asked to contribute to the strategy team and lead the method stream. I also provided input to the other streams. I led a small team to define an agile method (based on Scrum and the IBM Agile Practices) that aligned with the existing method elements within the bank (such as roles, work products, tasks). Several pilot projects were executed in 2010 using this method.
IT Organisation Transformation at a Travel-related Product Provider
August 2009 to September 2009
The client had grown from a small Internet startup to an organisation of several hundred employees. The objective of the assignment was to develop certain aspects of an enterprise architecture with a view to shaping the future IT organisation and also identify areas for improvement (through consolidation or the instigation of best practices) together with associated cost reduction and quality improvements. I worked with the client to define a "to be" IT organisation in terms of roles (and responsibilities), organisational units (such as communities of practice) and processes. The initial focus was the implementation of an architecture capability (enterprise and IT architecture) that was seen to provide the "glue" between other areas of the organisation.
Product Portfolio Management at a Telecoms Provider
May 2009 to July 2009
The purpose of the engagement was to help the client document and analyse their product portfolio with a view to consolidating the various products they have to offer. Their aspiration is to become a provider of managed services. My particular involvement focused on defining an overview of software development capabilities together with a framework for describing the architecture of a development environment (comprising method, tools, enablement, infrastructure, organisation and adoption). These allowed the client to make informed decisions regarding their real need and select an appropriate set of capabilities and associated technologies for product portfolio management.
Debt Manager Architecture at a Financial Systems Provider
November 2008 to February 2009
The client is a strategic partner of IBM and this assignment was focused on defining the client's modeling standards for their SOA-based Originations and Debt Management Suite of applications. My contribution included the embedding of a baseline knowledge of the core architectural techniques and tools (UML and the IBM SOA design and construction tools), a definition of the development toolset and tool interchange, establishing a minimal but sufficient method (processes, guidelines) and appropriate automation of the method, providing mentoring in the development of the Debt Manager architecture, optimizing the process with appropriate model transformation / code generation and harvesting appropriate elements for broader use within the client.
Carrier Group Development Environment at a Telecoms Provider
August 2007 to June 2008
The assignment was to act as, essentially, the technical lead (from a worldwide perspective) for IBM's engagement with this strategic client who was looking to improve their software development capability in various disciplines. IBM was engaged with the client around the globe, including Antwerp, Paris, Chicago and Melbourne. My role was to lead the IBM team from a technical perspective to ensure that the IBM team was coordinated, that the technical solution being provided was fit-for-purpose, and that the introduction of the development technology was rolled out in a controlled and measured manner. My role required me to liaise most-closely with the team in Antwerp which was focused on one part of the Carrier group, where I helped define the architectural solution for certain aspects of the client's Development Environment.
SDLC Architecture at a Major Dutch Bank
March 2006 to December 2006
The client undertook a major programme of work to improve their software development capability across 3 of their business units - Global Markets, Transaction Banking and Group Functions. My role was to lead the IBM team and act as the technical engagement lead. My primary responsibility was to liaise with the client and assist them with their organization transformation through the execution of a series of changes.
Development Toolset at a Major UK Insurance Provider
November 2006 to July 2007
The purpose of my part-time assignment was to work with the client to help produce a business plan that was detailed enough to support an investment in development tooling to augment their development method. This required an understanding of the client's aspirations and development organization and, from that, derive an adoption approach that would balance an appropriate level of risk with tangible business benefit and, of course, ROI. I worked closely with one of the client's directors to build a business case for an investment in development tooling.
SOA Adoption at a Utility Company (Energy)
May 2005 to January 2006
The client is one of the main energy companies in the UK. In 2005, the decision was made by the client to improve their software development capability, along with the introduction of a service oriented architecture (SOA). The resulting initiative involved the introduction of new processes, tools, skills, and technology - to be applied to both in-house development, but also to their suppliers. Given these many dimensions, this was a very challenging project. The approach taken was to create a first-cut of the development and operational environment, based on IBM technology, and to then pilot this on a real project. The selected project was already implemented in a difficult-to-maintain and architecturally inelegant system. My role was to lead IBM's engagement, where the IBM team (including representation from several business partners) worked alongside the client's employees and one of their main suppliers. I defined the concepts to be applied (given the SOA nature of the project), defined the process to be used (a configuration of the Rational Unified Process), identified the tools to be used (to automate aspects of the process), and defined a roadmap for skills transfer to the client.
SOA Adoption at a Large Danish Bank
September 2003 to February 2005
The client was taking a service-oriented approach to their IT solutions. The business problems addressed by the project were to improve project delivery in terms of schedule, and to reduce the cost of maintaining and evolving existing solutions. This would be achieved by improving and standardizing their SOA development practices. I worked alongside the Chief Architect of the bank, who was also the main sponsor of this project. My role was to lead a small team of people (comprising both IBM and bank staff) in defining the process and tools to support the bank's SOA vision.
Strategic Reuse Programme at a Major Petroleum Company
June 2000 to May 2001
In 2000, the client decided to fundamentally change the way their IT development organisation operated, and I was asked by the client to lead the definition of their development environment, where reuse would form the cornerstone of their overall change programme. This was a monumental challenge. The client is spread to the four corners of the globe (with development centres in London, Chicago, Melbourne and Mumbai) and, at the time, there was no evidence of any successful large-scale reuse initiative in the IT industry. Unsurprisingly, I felt many of the answers to achieving strategic reuse would lie in software architecture. I reported to the CTO of one of the client's key business units. The transformation programme was staffed with over 150 people (when it was at its maximum), with a team of 9 (which I led) focused on the architecture-centric development processes. Our purpose was to create the capability that the client's developers would use.