Sequences of Migration in Services
Editor | On 02, Jul 2007
By Cristobal PerÃ¡n EstÃ©pa, Dimitri Van Nuland and Luis Miguel CiprÃ©s BandrÃ©s
Authors’ note: In coherence with confidentiality agreements, our client’s name and data must be withheld, but it carries its activities in a highly restrictive environment with respect to security and confidentiality. In our opinion, the omission of these details does not reduce the value of the work that was performed using TRIZ and the work’s results.
When deploying new service centers (where management, control and billing of systems occur), it is common to develop a sequence of migration and implantation of services, especially for 24/7-services that require a minimum service level to be maintained. The number of constraints and events that can happen during such a transfer makes planning an almost impossible task. This results in improvisation, fast decision making and high risk at a decreased service level.
During our project we used a set of TRIZ tools in order to tackle this problem that can happen in any company. The problem analysis uncovered a number of contradictions, resources and constraints were identified, and a thorough functional and ideality analysis was performed in order to determine all the possible sequences and dynamically adapt the real transfer sequence at any given time instead of one that was single and static. The result was the definition of a tool based on multi-criteria decision analysis (MCDA) that can adapt, re-plan and regenerate the sequence of migration at any time in the process – preserving the rules at all times.
Environment and Challenge
Our client is responsible for managing large transport infrastructures internationally. When the project began, the company was planning to implement a new transport management center at its main site of operations. The management center was planned as the location at which all processes would be monitored and installed, where plans are contextualized, all incidents are redirected and a response is realized. The control center required:
- Systems (hardand soft)
- People (both final customers as members of the management center)
- Procedures of diverse nature, magnitude and reach
This type of center requires a highly complex integration. The existing system contained more than 80 different IT systems that needed to be integrated for the new management center to function.
We began by defining – with the client – the project’s scope and objectives. All possible constraints and resources were mapped through the use of the nine windows tools; it was clear the client feared the change to a new center, particularly the necessity to maintain standards and needs of safety and continuity. The management center would operate without rest (24 hours/day 365 days/year) and non-availability or bad operation of more than 100 services had the potential to create serious problems for the physical health of the end users while also creating considerable business losses.
The challenge was to create the best form in the new management center through migration from the present facility and continuously maintaining current center’s services. The migration had to be trustworthy, fast, traceable and, perhaps most importantly, flexible.
Until we were brought in to work on the project, the client was approaching this change (mostly) without a strong innovation technique or methodology. From a “classic” engineering perspective, the project had mostly focused and directed its efforts to define a sequence for the best possible, and solid, migration. The company was prepared for all possible events that might occur (by means of a contingency plan), but it was not prepared for all possible variations or alterations that might occur, that is to say: reality. The gap between the needs and wants of the client became more apparent between the classical view (business process re-engineering, change management) and the perspectives provided by TRIZ (used in conjunction withour own innovation framework).
Project Approach and Results
The project was set-up in two distinct phases. The first phase focused on a thorough analysis of the challenge, its constraints, its opportunities and possible elements for solution. During the second phase the actual solution was developed using the results of the analysis phase and brainstorming sessions (with nine windows) and the uncovered contradictions (with the 40 inventive principles).
The following techniques used provided the most useful results:
- Ninewindows (or system operator): Nine windows is a TRIZ tool that goes far beyond its simple application as an important view to maintain throughout a project. At its most basic level, it helps focus one’s mind by looking at the resources and constraints in a certain situation/system, in its super-system and its sub-system, and extending this into the past and the future resulting in nine windows – or views – of a project. In reality, the number of windows created will quickly exceed the named nine.
- Function analysis: This technique aids in refocusing the view of people reviewing a certain situation, by zooming in on the functions that are performed among all the functional parts and the performance of these functions. This allows for a completely different approach toward a situation – focusing not on technology, but on functionality.
- Contradictions and the 40 inventive principles: In a sense “contradictions” (situations in which two parameters block each other, such as strength and weight for large windmill blades) are a cornerstone of innovation since they explicitly uncover potential for improvement and innovation. When linked with the 40 inventive principles (uncovered by TRIZ developer Genrich Altshuller and his colleagues as abstract strategies to overcome contradictions), the contradictions become a strong innovative force, as will also become clear in this case study.
- Ideal final result (IFR): The IFR is a description of the best possible solution for a problem situation regardless of the resources or constraints of the original problem. The IFR has all the benefits, but none of the harm or costs of the original situation. It is one of the cornerstones of TRIZ, providing a true alternate view of a problem or situation.
Nine Windows (or System Operator)
Instead of approaching nine windows from the standard point of view in which the past, present and future form a main vertical axis, the nine windows used in this situation, as shown in Table 1, starting from the present and focusing primarily on the main time-frames for the future – the transition phase of the services and the final exploitation. (The past was considered of lesser value in this case.) The horizontal levels were split based on the normal division, in which the sub-system contains the detailed procedures and tasks, the system contains the services that need to be transferred, and the super-system represents the management center in charge of the transfer and the operation of these services.
|Table 1: Nine Windows Structure|
|Management center||• Political interests|
• Internal or global service
• Presence of personnel for service
• Independence grade of the service
• Departments involved in the service
|• Time of the year|
|Services||• State of the center that gives the service|
• Difference between present and new service
•Degree of confidence (systems, personnel)
• Antecedents in test phase
• Subjectivity to evaluate a service
• Number of minimal required personnel to perform service
|Procedures and tasks||• Difference between present system/procedures and new systems/procedures||• Divided infrastructure|
• Shared tasks
The nine windows tools led to the following questions: Where to begin the migration? How to describe the dependencies between similar systems (soft and hard), professionals and processes? What needed to be done first and what later? How to assure the availability of all the services during the migration, as well as the capacity to quickly react on unforeseen expenses or events? How to maintain the highest degree of security at all times?
At the beginning of the project, the challenge was not described in terms of services. We, along with our client, soon agreed that the main requirement of the challenge was to migrate, move, change location and to shift the way of working in, the management center. But migrate what? Move what? The answer revealed itself – define the sequence of migration for all services, including all the possible elements and parameters that could play a part in the system.
Functional analysis provided the framework of focusing on the services for this project. The definition of the “units” or “entities” to be migrated (the links of the chain in the sequence) was not as important as the sequence itself. The functional analysis shown in Figure 1 represents all the functional parts in the system as well as the existing relations among them. This was especially important in such complex surroundings.
Looking at Figures 1 and 2, it is clear that there are a lot of complex dependencies among different elements (hard and soft systems, people and procedures). This made it difficult to group them in similar “units” (as homogeneous as possible). The functional analysis showed that the best way to group hard and soft systems, people and procedures was by service, based on the function performed. Each one of these services could then contain several IT systems, with corresponding servers and hardware along with the operators necessary to operate them and, in some cases, also the infrastructure (machinery, sensors and physical structures).
Each of the services then delivered a concrete function for the management center. Many of the existing relations among the functional parts, however, suggested grouping similar elements at the time of defining their migration. Some units needed to await migration, due to the need for the prior migration of other units and were named simultaneities.
As regular TRIZ users know well, a functional analysis can help clarify the differences between solutions and functions. In this example, considering functions as “migration units” immediately provided an easy and robust way to group them.
Identification of Contradictions
During idea generation, the following contradiction (among others) was identified: I want to deliver my services in a new way (from another center) but I do not want to make any changes. To rephrase, I want our system to change without making changes. Since this is a clear physical contradiction, the contradiction matrix produced the following inventive principles (from a transition to the super-system and separation in time):
- Principle 10: prior action
- Principle 18: oscillate/vibrate
- Principle 22: blessing in disguise or turn lemons into lemonade
- Principle 23: feedback
- Principle 5: merging
Ideal Final Result
Before launching an ideal final result analysis, a sore point analysis, as shown in Figure 3, showed that we needed a tool able to combine all criteria and parameters objectively.
We then needed to determine how to combine these criteria and parameters, and combine them into an ideal sequence.
Frequently, an ideal final result analysis is not short and this case is one such example. Halfway into the process, when several non-idealities had already been added, crucial questions arose:
- Was it a good result if we found the “ideal” sequence?
- What ties would an ideal sequence have with the existing situation at the moment the environment changed?
- What sensitivity would that ideal sequence have to unforeseen situations?
Speaking of the “ideal sequence” was inaccurate – we could define the “ideal sequence for certain departure conditions” or, still more restrictive, “the ideal sequence for certain departure conditions that remained stable.” The analysis of the ideal final result reconfirmed one of the major constraints that already had been identified by nine windows – uncertainty.
At this point in the project, in spite of not having generated many ideas for problem-solving, the ideal final result analysis seemed to say that those solutions would have great dependencies with known unstable factors. Since it did not seem possible to classify or group those factors, we decided that even this was an uncertainty – we did not, and would never be able to, know all the factors. It was more ideal to, at any moment in time, have all the possible sequences than to look for an ideal sequence for a certain set of conditions.
Conclusions From the Analysis
- We must be able to modify the sequence in real-time, for whatever reason. If we limit the degree of freedom and flexibility of this sequence we can go as close as we want to the optimal operation point, no matter what the actual conditions. That is, we will always perform the transition of the services in the optimal sequence.
- We must foresee the factors that may cause the user to make decisions to change something and the resulting impacts on the sequence. We want to make the sequence generator in such a way that it is a decision-making tool before and during the transition.
- We needed a decision-making tool that takes into account availability of resources, time and changes in strategy.
- If we look at all the characteristics uncovered during the analysis and problem-redefinition phase, the evaluation of the sequence does not match a classical decision making technique such as multi-criteria decision analysis (MCDA).
- Using the MCDA approach as a basis, adding in all the desired functionalities suggested by the analysis, we defined the service sequence generator. An idea generation process (using the 40 inventive principles, use of resources uncovered through nine windows, the different function analysis, the sore point analysis and other structured methods like brainwriting) found the ways the generator could adapt itself to new circumstances and how to implement those changes:
- Prioritization parameters
- Switch parameters
- Mask parameters
The Different Parameter Types
The prioritization parameters basically determine the importance of a certain service, and the urgency (in priority) by which the service needs to be implemented. We scored he prioritization parameters from 0 to 4, for illustration purposes, to define the urgency of the migration of each service, where 4 is the highest value representing services that need to be migrated first. The generator will use this score to give each service a global priority in the sequence.
|Table 2: Prioritization Parameters with Priority Scores|
|Level of protection||3|
|External interests to the management center||2|
|Service for the old > new||4|
All prioritization parameters normally do not have the same importance; some will have more impact on the sequence and others less. The tool implements this by assigning a different weight value for each parameter, here giving them values from 0 to 5.
|Table 3: Prioritization Parameters with Weight Scaling|
|Level of protection||5|
|External interests to the management center||3|
|Service for the old > new||4|
Simultaneities are restriction parameters that allow us to introduce a situation in the sequence, which forces us to migrate several of the services at the same time. The same time is not literally the same moment if the tolerance parameter is greater than 0. In this case it is required to migrate the services within the same tolerance range. Simultaneities do not make one service go before another but they force the generator to consider a group of services as one.
|Table 4: Example of Simultaneities Table|
|Simultaneities for Mask 1|
|*Group 1 services need to be migrated at the same time.|
The switch parameters have two possible values for each service:
- There is a “must migrate” switch related to “availability of resources,” “availability of systems” and/or “contingency plan.” The generator will put the service at the end of the sequence if the position of this switch is set to “No.”
- There is an “out” switch that excludes the service from the sequence (for the parameter “migrated,” for example, when the migration has been performed, the value for the switch is set to “Yes.”)
|Table 5: List of Switch Parameters with Values for a Service|
|Availability of human resources||Yes|
|Availability of systems||Yes|
The generator also has to allow modifying the sequence while still complying with the previous parameters. In order to enable this there is a possibility to set a tolerance in the generator. The generator, using the given tolerance as a basis, groups several services whose priority is equal within the tolerance, and then orders these groups in the sequence using the rest of the parameters. Within these groups we can alter the order in which we migrate the services (assuming the tolerance is well-set) without losing coherence with the defined prioritization parameters. The synergies are general recommendations to alter the order of some services within the tolerance in order to optimize the sequence in terms of time and investment of resources.
|Table 6: Overview of Synergies|
|Similarity||Link the migration of services that have common elementary internal activities and those that are delivered by similar roles – use the same infrastructures or have the same requester.|
|Same external agents||Link services in which the same external agents take part such as suppliers, security forces and police.|
|Same effort of migration||Link services that require greater effort (human resources, infrastructure) and those which require a smaller effort. It is recommended to alternate periods of great effort with others that require a minimum effort.|
The mask parameters allow us to change – at the same time – all the values and weights of the parameters using pre-defined values. These pre-defined values map possible external conditions that do not need to be considered at the time of implantation or that are simply unforeseen. For instance, how will the sequence change if we are about to sell the company or if the government or legislation changes? Using the mask, the generator reacts immediately and provides the new optimal sequence while keeping the old values and decision criteria stored. It is just a matter of selecting the number of the mask to obtain a recalculation of the optimal sequence.
Choosing the Concrete Parameters
Prioritization parameters: These parameters were selected from a long list of prioritization parameters we uncovered through analysis using nine windows and the functional analyses. (A long list was shortened by our client.)
- Level of protection: For our client’s large transport infrastructure, security includes the management of diverse technical, material and human means, with the purpose of dissuading, preventing and in the extreme case, neutralizing any event that might attack the links that form the overall management process. The greater the level of protection a service provides, the greater the priority in the sequence of migration.
- External interests to the management center: This migration was part of a general plan for the transport infrastructure center. The migration of the services to the new operative model of the management center, therefore, would be exposed to external factors of diverse nature. These factors are considered within this parameter. The greater the score given to this parameter, the greater the priority in the sequence of migration.
- Service for the old>new: The new transport management center will serve the new infrastructure and the current center from its new location. This parameter gives greater priority in the migration sequence to those services that are put in operation in the old parts of the transport infrastructure center (already in use). Next in priority come the services given to the transport management center itself (the first of the new infrastructures put into use). Last in priority are the services given to the new infrastructures of the transport infrastructure center, which have not been previously in use at the moment of the migration.
Switch parameters: The switch parameters are the result of applying several of the TRIZ andour own methodology techniques. For instance, migrated is a result of applying the inventive principle, previous action.
- Migrated: This parameter indicates if the service has migrated or not. The sequence shown by the generator shows a difference between the migrated services and the non-migrated ones.
- Available human resources: This parameter indicates if the necessary human resources needed to transfer the service are present. In case they are not available, the priority of transfer of the system is 0 and the service will be set last in the sequence.
- Available systems: This parameter indicates if the systems necessary to migrate the service are available. If they are not available, the priority of migration of the system is set to 0 and the service will be set last in the sequence.
- Contingency plan: This parameter indicates if there is a contingency plan in case the service is not perfectly delivered once it has migrated. In case there is not such a plan, the priority of transference of the system is set to 0 and the service will be set last in the sequence.
Simultaneity: This type of parameter comes from the inventive principle merge, which results from separation in time. This functionality of the generator allows us to impose that a defined group of services are migrated at the same time within a certain tolerance. The generated sequence will fulfill this requirement.
Synergies: These are recommendations or orientations to guide the user to alter the order of the sequence within a group of services defined by the tolerance. All of them come from contradiction analysis and the 40 inventive principles.
- Similarity: It recommends linking the migration of services that have common elementary internal activities and those that are delivered by similar roles use the same infrastructures or have the same requester. (Principle 5: merge)
- Same external agents: It recommends linking services in which the same external agents take part such as suppliers, security forces and police. (Principle 5: merge)
- Same effort of migration: It recommends linking services that require greater effort (human resources, infrastructures) and those that require a smaller effort. It is recommended to alternate periods of great effort with periods that require minimum effort. (Principle 5: merge and principle 18: oscillate)
Mask parameters: The mask parameters allow simultaneously changing all the values and the weights of all parameters using predefined values that map all external conditions for anticipated scenarios. We considered several situations that could happen during the migration process and gave values for each one of these situations. This way the client can react immediately before changes in the external situation really happen. It remains possible to create a new mask if required. (Principle 10: prior action)
General Flux to Define a Sequence
Figure 5 shows an overview of the needed flow that to set up a sequence for the migration of a set of services with given starting conditions.
For this project the sequence generator was created in Microsoft Excel, but any programmable software can work. Figure 6 shows a snapshot of the starting window of the sequence generator. The result of the sequence generator is a possible sequence shown in Figure 7, called the project window.
Once a sequence is determined, one can assign a migration weight (effort required to migrate) to each service, as well as assign the real work force (human resources) to each working day of the migration in this project window. This results in realistic planning, based on the available resources of a specific day, in which even simultaneous migrations (overlap) can be carried out. The project window is also dynamic; by changing capacity or weights the planning and sequence is immediately adjusted.
What started out as a project to define the best possible sequence developed into a sequence generator due to TRIZ. This got us as close as possible to the ideal final result by being able to determine the ideal sequence at any given point in time and integrating the specific conditions present at that time. The only thing still missing is that it does not perform all tasks by itself. The roots for these results can be found mostly in the work performed using nine windows, the ideal final result, the function analyses and the inventive principles pointed out by the contradiction matrix.
The sequence generator has the following benefits:
- It generates the optimal (migration) sequence.
- It adapts to changes that can appear during the migration.
- It takes into account the time and the needed effort to migrate each service and the grouping of services.
- It shows specifics on time for the advancement status of the migration to the new management center.
- It identifies peaks of workload for the team in charge of the transfer. This information has value in planning resources, milestones and holidays.
The concept behind the sequence generator can also be efficiently used for planning and managing project teams, setting up innovation road-maps and reviewing a set of strategies.