Homepage : advanced solution development : the delivery of business and ICT transformation

Outline of ProgrammeX

Prof. dr. D.B.B. Rijsenbrij

9. The Delivery of Business and ICT Transformation previousnext

The Transformation Approach, Architecture and Component-based Development will strongly influence the way in which the transformation is delivered. This chapter gives and overview of the most important changes.

9.1 Iterative Transformation Cycles


The transformation of business and ICT will follow an approach based on iterative transformation cycles.

The Iterative Transformation Cycle (ITC) approach originated from the iterative application development approach (Iterative Application Development, IAD). The approach is meant for changing all business and ICT aspects of a company in an iterative fashion. Different aspects within an organisation - such as commerce, organisational structure, personnel, administrative organisation, finance, information, technology and legal aspects - may all be touched upon in an iterative delivery of a transformation. The Iterative Application Development approach was developed for the delivery of applications. For a project, which may only involve the development of applications, the IAD approach is sufficient. The Iterative Transformation Cycle approach is useful for business and ICT transformations such as the realisation of an ICT enabled Web Enterprise where a lot of business and ICT aspects are involved.

In a transformation programme the iterative transformation cycles occur primarily at the level of the achievement/assessment cycles. The delivery projects within the programme are grouped in an iteration of achievement/assessment cycles. Each transformation cycle delivers and assesses a next stage of the solution. The solution grows during the consecutive stages iterative and incremental from the As-Is situation to the To-Be vision.

There are two approaches for the delivery projects within an achievement/assessment cycle of the programme:

  • Iterative approach
    The results of a delivery project are achieved in a number of stages, which lead step by step to the desired results. In this procedure every step produces a useful result and leads directly to the next step.
  • Linear approach
    The results of a delivery project are achieved in one well-structured step. At the start, the solution is clearly designed, and is continually worked out in further detail; however, the target is always just the one solution.

The transformation programme may contain both linear and iterative projects. The combination of linear and iterative approaches forms a major part of the transformation delivery concept. It deviates from the idea that a single approach is the best for every situation. The programme combines projects with various approaches and supports the choice and combination of these approaches for various stages of the programme.

9.1.1 Iterative versus Linear Approach


The most important differences between the iterative and linear approach lie in the scope and the content of the executed steps.

A typical example of a linear approach is the building of a house. Making the first sketches, the blueprint, the design, getting the necessary approvals, building and delivering it are all one-off, consecutive events. When the house is finished, it will certainly need maintenance, but redesigning the house will not be necessary; the basics are available and will remain so as long as possible.

Iterative projects are characterised by a number of short steps. Each step is an iteration that realises a part of the total solution, which can be put to immediate use. After an iteration the project team can adjust or revise the scope and content of the next steps or of the whole project.

The steps of linear projects correspond to stages in the development like requirement analysis, functional design, technical design and realisation. Every stage provides the input for the next stage. It is certainly not the intention to change the scope and content of the solution defined in earlier stages during the later stages of the project. A characteristic of linear projects is that they can be subject to go/no go decisions after each stage, but have little means of altering the scope an content without directly influencing the duration of or costs involved in a project. A linear project normally results in either a 100 % or 0 % solution, and the consequence of cutting off a project prematurely almost always mean that one ends up without a result that can be used.

A linear approach is effective when working on a solution which can be exactly designed and where the development and implementation may be isolated from other aspects. The target of a linear project is to achieve a predefined solution for instance a certain ICT application. Therefore, a linear project is product oriented.

Such a limited view of the solution is not possible in a complex business and ICT transformation that is aimed at business benefits. The route that must be followed to realise the business benefits is not always clear. This is both the case for the whole programme but also for a lot of delivery projects within the programme. In order not to lose sight of the goal, it is necessary to keep the business benefits in mind for which the transformation programme was originally set up. The control mechanism available within an iterative approach - i.e. the possibility of reconsideration and adaptation of the delivered solution during each step – is very appropriate when the target of the project is to realise an effect such as business benefits and not a specified product. The assignment is then not to produce a product, but to realise business benefits. Therefore, an iterative project is goal oriented.

The difference between linear and iterative projects is also easy to observe in the manner in which they are completed. A linear project is completed when the product is delivered according to previously agreed specifications, whether or not these specifications are still valid. An iterative project is completed when the last step has delivered a solution that sufficiently fulfils the goals, and a further step would not add any major extra value.

9.1.2 Characteristics of the Iterative Approach


The most important reason for choosing an iterative approach is its flexibility. The flexibility to change one's mind and approach during the course of the transformation, depending on the results of each stage. The flexibility to readjust the specifications of the final version, if the interim results require to do so. The flexibility to be able to react to changes in the outside world, reactions from customers or from the competition, and the reactions from one's own organisation to the implementation of an interim step. The flexibility to be able to optimise the route one is following, if it should become necessary to redefine the target during the project.

The iterative transformation approach is not an approach, which targets only minor projects and minor results. The approach is highly applicable to the implementation of major changes throughout a company in both business and ICT. Such projects could last for a number of years before achieving sufficient results or before all components are fully integrated within the organisation. It is easy to give a good description of the target of such projects in the form of business benefits, but not the full details of the business and ICT solutions involved. Therefore, it is not possible to map out the route completely in advance, and during the project the details will have to be added.

9.1.3 Combining Linear and Iterative Approach


The linear approach is not completely replaced by the iterative approach. It is better to create a sensible combination of the linear and the iterative working methods. Parts of the solution, which must remain, stable or last for a long time, would be better designed and developed according to a linear approach. Whereas those parts of the solution, which are meant to be temporary or adaptable, would be better designed or developed according to an iterative approach.

In our example of the virtual bank the back-offices will form the base of the solution. Both the administrative processes and the information systems of the back-office must be sound and stable. They will have to perform their job at length, perhaps even for 24 hours a day. So the linear approach is appropriate for the back-office part of the solution.

The distribution channels will be determined to a greater degree by the daily activities of the customers and employees. In such a dynamic area, one can expect these activities to change regularly, especially if the virtual bank is trying to follow market developments, or has to defend itself against the competition, and therefore has to react to the unpredictable outside world. It would then be better to design and develop the business processes and information systems of the distribution channels using an iterative approach; they are of temporary use and will have to be improved regularly in order to keep them up to date.

9.1.4 Managing the Transformation Programme


Managing transformation programmes with a combined approach (linear and iterative) is more complex than managing projects with a single approach. The project management takes place by using milestones and time limits.

A milestone is the delivery of a specified product at a certain date. An example of a milestone is the completion of the document "Market Research," or the availability of the "Organisation Schedule". The product is important for reaching the milestone: it has to be delivered. If the milestone has not been reached by the set date - if the product is not yet finished - more time is needed (and the project has over-run).

Time limits are used to indicate the moment in time by which a product should be made available. When a time limit has been reached, the product is made available in whatever form it is at that moment. This is an important controlling mechanism within an iterative project. This mechanism is called time boxing. An example of a time limit is the passage of a three-week period, after which the version of the 'List of priority demands' that is available at that moment is used to support decision taking. As far as time limits are concerned, the actual moment in time is the determining factor, and the product - as far as form and content are concerned - available at that very moment is the one that is used. If the product is not yet finished when a time limit has been reached, then permission is requested for partial delivery.

A variant of time boxing is budget boxing. In stead of a time limit is budget limit is used. When the budget limit has been reached, the product is made available in whatever form it is at that moment.

An essential instrument for focusing the efforts within a time-box or budget-box on the right issues is letting the customer determine what features are essential, important and nice-to-have. Make sure that all features deemed essential can be realised (else re-discuss essentiality or get more time/budget). Furthermore let the customer prioritise the list of important issues, the budget left over from the essentials will be used to realise the issues in their chosen order. The role of nice-to-haves is to take them into account if cost is minimal.

The term milestone is often used in linear projects, and also in iterative projects. Time or budget limits are inherent to iterative projects. Therefore, both terms appear in transformation programmes; milestones and time limits. It is important here to realise that, due to their different nature, time limits and milestones do not have to concur. The delivery of a result is marked by or a time limit or by a milestone and not by both.

Combining both controlling mechanisms means that a programme management will have two characteristics. The programme management will have to give off the right signals depending on the context, both to the project participants and to the client. For a linear delivery project, the programme management is expected to stimulate the project team, in order to ensure that the product is finished by the date set as milestone. For an iterative project, the management must stimulate the project team to ensure that the most important part of the product is available by the date set as time limit.

9.2 Delta Analysis


The Component-Based Development (CBD) approach will strongly influence the delivery approach of applications.

CBD makes it easier to decide which part of the application development is performed with a linear approach and which part with an iterative approach.

This follows the division in activities of the application delivery with CBD as described in chapter 8.

Business-specific or system utility components and frameworks (activities 1 and 2) are best manufactured in linear fashion. They must have a sound and stable character, because they are reused or shared by multiple applications.

The iterative approach is most useful for the design and development of an application (activities 3 and 4). Both the application-specific components and the assembly of the application from components/frameworks are best developed in an iterative way by a multidisciplinary team consisting of an architect, developers and users.

The division in iterative and linear approach follows the division of the application delivery in front office and back-office activities.

The experts in the back-office develop with a linear approach the business-specific and system utility components and frameworks. The back-office is product-oriented: it delivers products (components and frameworks) to the front office.

The architects and developers in the front offices design and develop the application with an iterative approach. The front office is goal-oriented: it delivers through iterative development of applications certain business benefits to the customer.

Combining of the iterative and linear approach is necessary in the case of Component-Based Development, because this always involves the combination of adaptable applications with flexible application-specific components based on stable and sound business and system utility frameworks.

 

The current linear approach of application development starts with the requirements analysis followed by a complete design of the application. The application is build from scratch in conformance with the design.

In the iterative approach based on CBD the application architect will start with a delta analysis (D-analysis). The architect takes business-specific frameworks as the base for the design that best fit to the business requirements. The architect makes an analysis modifications and extensions with application-specific components that are needed to build the applications. An example of D-analysis is the bicycle of Panasonic. They use a design frame of a bicycle (see figure) for the analysis of modifications and extensions that are needed to build a bicycle that perfectly fits to the body and wishes of the user.

The application design and building based on D-analysis reduces to modifications of an existing framework, extending it with existing components and frameworks and building and adding some application-specific components. The development can be done in a fast and iterative fashion in co-operation with the user.

The iterative approach with D-analysis is also the main reason for the reduction of the development time of application from 9 months to 9 weeks or even 9 days. Analysing, designing and building the whole application in a linear fashion is no longer needed. The development starts with D-analysis of the gap between the required application and available frameworks and components. The architect and developers have only to design and develop the modifications and extensions that are needed to bridge this D.

9.3 Transition of Existing Applications

It would be easy when the information systems of the ICT enabled Web Enterprises could be build from scratch. But building applications in a green field is rare. Companies have a legacy of tailor-made application systems or systems based on application packages. Both types of systems are normally not based on architecture or a component-based approach.

Existing application systems are difficult to adapt to business changes. Every change in the functionality makes the system more complex and still more difficult to change. Every change will take more time and cost more money. Existing systems are based on older software and hardware technology. Eventually this technology may become obsolete.

The only way to solve these problems is to replace the existing system with a new one and use the component-based approach for developing adaptable systems.

But complete replacement in one "Big Bang" is not the best way:

  • Most of the existing systems are back-office systems supporting the business functions and information for products and customers;
  • Large investments are made in the development of the existing applications;
  • The "old" technologies, on which existing systems are based, like mainframes, are still very capable for the job of processing the huge transaction load.
  • The systems support mission-critical business processes. A failure of the replacement project may threaten the continuity of the business.

So it is better to search for transition paths that facilitate the gradual migration of the existing systems. Here are some possible ways in the case of a financial company like a bank:

  • A middle-office between existing and new systems
    A good moment for the start of the migration is the introduction of new electronic distribution channels, like the Internet, electronic kiosks or call-centres. The bank builds new systems for the electronic distribution channels and adds a middle-office system that connects the channels with the existing systems in the back-office. The first step of renewal of the back-office applications consists of the building of an interface with the middle-office applications and new transaction application for the processing of transaction requests from the middle-office. The result is "encapsulation" of the existing system. It acts now like one big component. This step is relatively easy when the existing system already processes transactions on-line, but can be very complicated if the existing system processes the transactions in batches overnight.
  • Partial Renewal
    A next step with support of the middle-office is partial renewing of the existing systems. The bank builds a new transaction server for an existing product, which is specifically build for use via the middle-office. The applications of the new server are developed with CBD. The bank can use the distribution channel manager for controlling, which customers have their account at the new transaction server or at the old system. This offers the bank the opportunity to migrate the accounts gradually from the old system to the new transaction server. This limits the risk of discontinuity of the services. The bank can gradually replace the existing system by building a new transaction server for each different product.

 

9.4 Reinvention of the Application Delivery

Architecture and CBD will lead to a reinvention of the application delivery. Like every business, application delivery in the 21st Century will become a virtual agile adaptive Web Enterprise. There are four stages in this development:

  • craft stage
    Application development started in the sixties as a craft. Every application was designed, programmed and tested individually by one person (the famous analyst-programmer). The developer is a craftsman and his applications show his own individual style and thus mostly his "creativity" and not his methods. A good developer tailored the applications to the wishes of the customer, but many developers tailored the applications to their own insights.
  • industrial stage
    In the seventies the industrialisation of the application development starts. Methodologists organise and standardise the development process. The development of individual applications is replaced by projects, which develop large tailor-made information systems. The industrial principle of division of labour is applied through the "waterfall"-method, which organises the process in consecutive stages of requirement analysis, functional design, technical design, programming, testing and implementation. Every stage has its own professionals with the specific knowledge required for the type of activities. Customers get some "influence". They must accept the business requirements as formulated by the developers in the requirement analysis.
    In practice this methodological development appears to cause problems, especially when developing a large system and the project take some years. The whole working order is more or less linear. The development path must be gone through from the beginning to the end. The detailed designs can hardly be reversed. If at some stage it turns out that mistakes were made at an earlier stage, or that the business requirements radically change, the development is in dire straits.

    When the project ends well, customers mostly did not recognise any relationship between the delivered system and the requirements they accepted some years ago. The result is also an information system with a monolithic architecture, which is difficult to adapt. So keeping the system in line with the changing business requirements will always need a lot of time and investments.

    In the eighties the technologists try to improve the system development. Automating the automation. They want to realise an industrial approach with technologies such as 4th generation development tools, CASE tools, repositories and reuse of software. The developers use methods like workshops and prototyping with the customer for the fast development of tailor-made applications. The result is faster development and better user satisfaction. But the developers still have problems with the development of large information systems because the individually developed applications not always fit together, when they become part of a larger system.
  • mass-distribution stage
    In the eighties and nineties we see also the rise of software packages. It is the first form of reuse. The software suppliers develop the package once and distribute copies of the package to many users.
    Software suppliers like Microsoft, SAP and Baan use an important principle of production in the information age: develop immaterial products like software, movies or encyclopaedias once and massively distribute the copies via CD-ROM or the Internet. The earnings of the mass-distributed copies amply surpass the investments in the development of the product.

    But packages still have a problem. Packages are a uniform product. The users must always adapt themselves to the package or the package must be customised to the specific situation of the user. The software of SAP and Baan is adaptable to the requirements of the customer but this customisation takes a lot of work. Another problem is that packages support standard business functions and not always the specific business functions of a company. This makes it necessary to add tailor-made applications for these specific functions.

    Also the package suppliers have discovered the component-based approach. We see the componentisation of package-based solutions result in better adaptability of the package to the business requirements and in easier extensibility with tailor-made application components.
  • mass-customisation stage
    This new stage is an answer to the problems in both the industrial and mass-distribution stage. Mass-customisation of application delivery is possible by:
    • A component-based approach of application development. Adaptable component-based applications replace both the monolithic tailor-made applications and the monolithic software packages. The component-based applications are assembled from tailor-made and off-the-shelf components.
    • A coherent design of the business and ICT system based on an architectural approach guarantees that individually developed applications will fit together in one ICT system that supports the business requirements (.
    • A transformational approach to business and ICT based on an adaptive programme of projects that supports an interactive, incremental and iterative development.

CBD supports the reinvention of the application delivery. The above figure depicts the way that the developers and organisations like Cap Gemini go in the transition from craft to mass-customisation. From "crafting" individual applications by a developer through people-intensive and later automated development projects, we reach the stage of mass-customisation.

The result of CBD will be mass-customisation of the software delivery. Developers will spend the most of their time in designing applications, components and frameworks. The time-consuming programming of code is replaced by generation from specification.

Cap Gemini, as application developer, will become a key participant in a Web Enterprise that delivers applications to the customers. Our application developers develop new applications or adapt existing applications in a real or virtual office in co-operation with customers. The application developers assemble tailored applications from components. The components are delivered through the Internet by component developers in the back-office of Cap Gemini or by independent component suppliers.

The result for the customer is an adaptable complex distributed information system, which perfectly aligns with his own virtual, adaptive and agile Web Enterprise.

previousnext
website: Daan Rijsenbrij