Paper Menu >>
Journal Menu >>
J. Software Engineering & Applications, 2008, 1: 1-7 Published Online December 2008 in SciRes (www.SciRP.org/journal/jsea) Copyright © 2008 SciRes JSEA 1 Eliciting Theory about a Retirement Process Mira Kajko-Mattsson, Anna Hauzenberger, Ralf Fredriksson Dept. of Computer and Systems Sciences, Stockholm University/Royal Institute of Technology/Karolinska Institutet Sweden Email: mira@dsv.su.se Received November 25 th , 2008; revised November 28 th , 2008; accepted November 30 th , 2008. ABSTRACT The software community has been so much focused on creating and improving development and evolution processes, so that it has completely forgotten retirement. Today, there are no retirement process models whatsoever despite the fact that many software organizations desperately need guidelines for retiring their old software systems. In this paper, we elicit a retirement process model and compare it to the current retirement process models. Our goal is to educe theory about retirement process, evaluate current retirement process standards and provide feedback for their extension. The elicitation process has been made within one Nordic financial company. Keywords: Archival, Conversion, Migration, Process Model 1. Introduction Research on software lifecycle process models has not been well balanced so far. Most of the attention has been paid to software development and evolution. Less focus has been put on software maintenance. No research been made on software retirement whatsoever. Retirement is the disposal process whose aim is to end the existence of a software system [1]. It consists of the actual removal of a software system from a regular usage, migration of its still relevant parts to some other system(s) and the archiving of it [2]. There are plenty of reasons why a system needs to be retired. Some of them are the system age and complexity, removal of its software and/or hardware platform, rules embodied by the external environments, and the like. Irrespective of the underlying reasons, retirement is an extremely complex and difficult process. Hence, it must be carefully planned and performed. Except for a very few standards, there are no retirement process models whatsoever. The extant standard models are not based on any real-life studies [3,4]. Due to the fact that their contents have mainly been chosen in ballots, they are very general. At their most, they cover a whole retirement process model within only a few pages. Hence, the current standards do not provide sufficient guidelines for the organizations in their complex retirement work. In this paper, we elicit a retirement process model. Our goal is to provide a basis for creating theory on the domain of a retirement process, to evaluate current process standards and provide feedback for their extension. The elicitation process has been made within one Nordic financial company. This company has recently undergone two retirement projects, one in Sweden and one in Finland. Both these projects were very comprehensive. They involved almost the whole organization and they took several years to complete. However, they differed in their prerequisites and process designs. For this reason, in this paper we only report on one of these retirement projects. The other project has been reported in [5]. The project reported herein is called EXIT and it was conducted in Sweden. The remainder of this paper is structured as follows. Section 2 briefly presents the organization studied and the research method as applied in this study. Sections 3 and 4 describe the retirement process model as elicited within the organization studied. Section 5 compares our model to the existing retirement process models. Finally, Section 6 makes final remarks and suggestions for future work. 2. Research Method This section describes the organization studied and the research method we followed when eliciting our model. Section 2.1 presents the organization and the systems to be retired. Section 2.2 briefly gives an account of our research steps. 2.1 Organization and Systems Studied We studied one Nordic insurance organization. Due to the sensitivity of the results presented herein, we do not mention its name. Instead, we use its fictive name - FORSAK. FORSAK is the leading property and casualty insurance company in the Nordic region. It has about four million customers in the Nordic countries. It provides insurance services to both private customers and commercial and industrial organizations. 2 Eliciting Theory about a Retirement Process Copyright © 2008 SciRes JSEA Figure 1. Retirement process phases in the EXIT project FORSAK manages many systems. The systems that are of interest for this study are Indra and Gliid. At the beginning of the EXIT project (year 2002), Indra, based on a client-server architecture, was about 14 years old whereas Gliid, being a mainframe application, was about 20 years old. Both systems possessed overlapping functionality and were used by about 100-150 users. The evolution and maintenance of Indra and Gliid as separate units was too expensive. First, it required substantially increased effort to implement the same functionality in two different systems. Second, the differences in their system designs forced one to conduct one and the same working routines in different ways. To avoid this, FORSAK has decided to take appropriate measures with respect to these two systems, that is, to retire them and replace them with a new system. The new system is called LH. 2.2 Research Steps Our study was a typical design research [6]. Its goal was to explore a theory about and model the domain of retirement by identifying all its relevant process constituents and the relationships among them. It consisted of the following steps: (1) Literature Study, (2) Study of the EXIT Project, (3) Creation of a Preliminary Retirement Process Model, (4) Model Evaluation, (5) Refinement of the Model, and (6) Comparison of the Model with the Standard Models. During the first step, we conducted an extensive and comprehensive literature study. We went through various articles and standard process models touching on the retirement subject. None of them, however, provided us with detailed information about the retirement process. Only [3,4] outlined very general process models. Due to their very coarse-grained nature, they did not provide any sufficient platform for starting our process design work. Hence, we may claim that the results of this work are entirely elicited from scratch using the industrial support. In the second step, the Study of the EXIT Project step, we studied the EXIT project by first scrutinizing all the relevant project documentation. This documentation included about 100 different documents corresponding to retirement project descriptions, project plans, status reports, activity lists as created by individual project members, system overviews, reports from various meetings such as steering groups, reference groups, and the like. The documents studied did not fully describe the whole retirement project. Hence, we had to complement our study with interviews. Here, we interviewed the roles such as a project manager, operation expert and decision maker. Based on the understanding gained so far, we created a preliminary retirement process model. This model outlined a set of process activities in the EXIT project, it structured these activities into process phases, and it identified roles involved in them. This preliminary model Eliciting Theory about a Retirement Process 3 Copyright © 2008 SciRes JSEA was then presented to the project manager in the organization studied. The goal was to evaluate its credibility and adherence to the EXIT project. The evaluation step resulted in some minor modifications to the EXIT retirement process model. These modifications are listed in Section 5.1. Finally, we compared our model to the standard models [3,4]. To enable the comparison, we created a set of comparison criteria. Due to the fact that the standard process models studied are very general, we could define our criteria only on a very general level. These criteria are listed in Table 1. They mainly concern roles involved in and activities being part of the overall retirement process. 3. Overview of the Overall Retirement Process The overall retirement process in this context consisted of three main phases. As illustrated in Figure 1, these were (1) Pilot Study, (2) Replacement Implementation, and (3) Retirement Realization. During the Pilot Study phase in the year of 2002, FORSAK analyzed Indra and Gliid with the purpose of identifying cheaper solutions for managing these two systems. Two alternatives were suggested: (1) a merge of Indra and Gliid and (2) development of a replacing system LH and retirement of Indra and Gliid. The second alternative was chosen. It was regarded to be cheaper and more reliable in the long run. The Pilot Study phase ended up with a decision to start a project during which a new system LH would be developed and Indra and Gliid would be retired. During the Replacement Implementation phase in the years of 2003 to 2005, FORSAK was in the process of developing LH. LH was developed in an iterative manner, where each iteration focused on a specific product domain, such as car insurance, home insurance, and the like. For this reason, the LH system was deployed in a successive manner in the years of 2005 and 2006. After the new system was developed, FORSAK stepped into the Retirement Realization phase during which it disposed itself of Indra and Gliid. As illustrated by a star banner in Figure 1, this project was called EXIT. It took place in the years of 2006-2007. During this time, all the three systems were in use. In 2008, both Indra and Gliid were closed down and only LH has been used since then. Table 1. Our comparison criteria Roles Activities - System Analysis - Archiving Strategy - Migration Strategy - Management of the adjacent systems - Retirement planning - Risk management - Conduct archival Figure 2. Illustrating the simultaneous administration of insurances in Indra and LH Regarding the years 2005-2007, all the three systems were used in production. FORSAK was forced to keep the old systems running due to the fact that many of the insurances recorded in them were still valid. Indra and Gliid administrated all the old insurance cases whereas LH administered the new ones. This implies that insurances for one and the same customer were managed by the old and new systems simultaneously. The choice of the system to be managed at this time depended on the insurance period. Figure 2 provides a fictive example of how reported injuries for one and the same customer were administrated by two of the systems, Indra and LH. 4. The Project Phases The EXIT project consisted of four phases are (1) Pre-Study (2) Preparation, (3) Conversion, and (4) Closedown. They involved the following roles: • System Manager (SM): a role responsible for the operation and maintenance of the system. System Manager manages the implementation, testing and deployment of all the prioritized change requests. • Decision Makers (DM): a set of managerial roles making important decisions within the organization. In the context of retirement, these roles may be project sponsors or managers of the departments affected by the retiring or replacing systems. Decision Makers are responsible for planning and managing the retirement process. • Operations Expert (OE): a role possessing expert knowledge of the organization’s operation and the systems supporting the operation. Operations Expert also possess good knowledge of various rules and laws that may affect the retiring and/or replacing systems. • Project Leader (PL): a role that manages a retirement project. He plans, follows, and follows up the project. He also assures that right resources are assigned to the project. 4 Eliciting Theory about a Retirement Process Copyright © 2008 SciRes JSEA • User (U): a user of the systems to be retired. A user tests the results of the conversion of information and data from the retiring to the replacing system. • Developer (D): a role involved in the implementation of the retirement process. This role covers programmers, database developers and database administrators. • System Analyst (SA): a role responsible for planning and analyzing the software systems within the organization. He collects information and gathers requirements on the organization’s operation, maps out its supporting processes and systems and the roles involved. • Support Technician (ST): a role responsible for the operation and support of the system to be retired and its software and hardware platforms. • System Architect (SAR): a role added to our model after the industrial evaluation step as described in Section 5.1. System Architect is responsible for knowing the overall architecture of the systems to be retired. The EXIT retirement phases are illustrated in the box marked with a star banner in Figure 1. Their inherent activities and the roles performing them are listed in Table 2. Below, we describe each of the EXIT phases in Sections 4.1-4.4, respectively. 4.1 Pre-Study The goal of the Pre-study phase was to investigate the systems to be retired, determine which of their parts should be migrated and disposed off, identify appropriate archiving and migration strategies, and define a retirement project and to plan for it. As shown in Table 1, one first investigated the types of business objects managed by the systems to be retired. One then determined their volume. An example of a business object is an insurance, a customer or an encountered injury. Usually, the objects to be migrated were valid insurance claims. Having an overall picture of the types and volume of the business objects to be migrated, one then determined the archiving and migration needs to be further used for identifying the appropriate migration and archiving strategies. However, no strategies were determined at this phase. FORSAK realized that deeper analysis was required for determining them. Hence, at this stage, one only determined that the active business objects should be migrated to the new system. Passive objects, on the other hand, should be archived. An example of an active object is a reported injury that has not yet been fully attended to. After having identified the migration and archiving strategies, one determined the project scope. When doing it, one first analyzed Indra and Gliid’s overall architecture and design. One then identified dependencies to other systems. Here, one considered systems and their users that were dependent on the retiring systems. Four interfacing systems were identified: two insurance administrative ones, one bookkeeping system, and one accounting system. Identification of the interfacing systems affected by the closure of Indra and Gliid led to the identification of the additional activities required for managing the retirement project. In our case, one recognized (1) a need for analyzing the migration and archiving strategies, and (2) a need for making deeper analyses of the adjacent systems and their connections to the systems to be retired. These analyses were then conducted in the Preparation phase. Finally, one defined a retirement project. The project definition included risk management and creation of a retirement plan. Risk management concerned risks such as access to resources required, staff illness and various technical risks. The retirement plan, on the other hand, covered most of the rudimentary project planning activities such as the identification of the stakeholders to be involved in the retirement project, identification of the roles required for managing and executing the project, determination of the competence required for managing and implementing the retirement process, determination of the project budget and schedule, and the like. 4.2 Preparation The goal of the Preparation phase was to further analyze the systems to be retired, make a decision on archiving and migration strategies, determine changes to be made in the adjacent systems and to identify changes to be made in the replacing system. As a first step, one studied the business objects to be migrated. The goal was to identify active objects and to attend to inconsistencies in them. To be able to recognize active objects, one had to define appropriate analysis activities and the roles required for performing them. An example of an analysis activity is a task to create a list of open injuries, go through the injuries and determine which of them should stay open and which of them should be closed. The open injuries were subjects for migration. For all the active business objects, one analyzed their individual data fields in order to determine whether they should be migrated to the new system. One also analyzed special cases of business objects. An example of a special case is the situation when one and the same business object is administered by both the retiring and replacing systems. For the data fields to be migrated, one created a conversion table so that the fields in Indra and Gliid would match the fields in the new LH system. Finally, one created a conversion testing plan. The testing implied that one chose a specific numeric field, summed it for all the business object instances in the systems to be retired and compared their sum to the corresponding sum in the new system. As a next step, one determined the migration strategy. The choice was between manual and automatic conversion techniques. In total, one estimated that there were about 2400 active objects. To manually convert them would take about 20 man-minutes. This implied 100 Eliciting Theory about a Retirement Process 5 Copyright © 2008 SciRes JSEA Table 2. Retirement process phases and activities. The abbreviations in the parenthesis as listed after each activity correspond to the roles performing them. Underlined activities and roles written in bold text were added after the industrial process model evaluation step man-days for the whole manual conversion. The estimates for manual conversion were then compared to the estimates made for the automatic conversion. The decision was made that most of the objects were to be automatically converted. The archiving strategy was determined in this phase as well. Here, one investigated (1) how the data should be archived, (2) the need for accessing it in the future, and (3) the effects of archiving it. Together with the laws and rules as identified in Activity 2, this information provided feedback for deciding upon the technical archiving solution. The criteria used were technical feasibility and cost. The strategy chosen was to let all the data stay untouched in Indra and Gliid and just to close the two systems for update. The cost of having these systems in operation was estimated to be very low. The alternative archiving strategies were to move all the data from Indra and Gliid to LH or to build a completely new archive. Both these alternatives were regarded to be too costly. As a next step, one analyzed dependencies to the interfacing systems. When doing it, one identified and analyzed how they were affected by the closure of Indra and Gliid. The analysis showed that the closure did not imply any major changes and implications to these systems. The only action that was required was to inform their managers about the forthcoming closure. Finally, one determined the date when the business objects should be migrated to the new system and when the old systems should be retired. 6 Eliciting Theory about a Retirement Process Copyright © 2008 SciRes JSEA It was suspected that the retirement work would lead to some additional changes to be made in the LH system. To identify these changes, one analyzed current working routines, suggested changes to them and their supporting system (LH), and determined the impact and consequences of their implementation. For all the changes identified, one created change requests and sent them to the team responsible for making changes to the LH system. An example of a major change to be introduced in LH was the implementation of the report generators that were used in the Indra and Gliid systems. An example of a minor change was the creation of a certain data field. All the major and minor changes were tested in the LH system before the Conversion phase started. 4.3 Conversion The Conversion phase started only after all the preparations had been successfully conducted. As a first step, one developed the automatic conversion method including scripts and automation processes. This method was then tested with the purpose of estimating the conversion time and of assuring a problem free conversion. After the tests had been successfully passed, one conducted both the automatic and manual conversion on the day as determined in Activity 7 in the Preparation phase. The results were finally tested to verify a successful conversion. 4.4 Closedown In the Closedown phase, one closed down the Indra and Gliid systems and removed their dependencies to the adjacent systems. The closure in our case implied that the users could no longer access information in Indra and Gliid. 5. Evaluation In this section, we make two evaluations. We first present the results of our fifth research method step during which we evaluated our elicited model within FORSAK. We then evaluate it against the current standard retirement process models [2,3]. 5.1. Industrial Evaluation The retirement process model was presented to the project manager responsible for the retirement project. According to her, our model was realistic and it fully reflected the retirement process as performed within the EXIT project. She has, however, observed three minor deficiencies which she believed were very important for a successful execution of a retirement process. These concerned adding two new activities to the first retirement phase and adding a new role. The first new activity dealt with risk management. According to her, controlling risks was an essential activity within the retirement process. Not doing it implies a critical business risk by itself. The second activity concerned determination of retirement project budget. According to the project leader interviewed, due to the criticality of retirement projects, it is very important to assign substantial resources to the retirement project. Otherwise, one runs the risk that one underestimates the project and thereby fails with its completion. Regarding the missing role, it concerned the role of a System Architect . According to the project leader, this role is indispensable in all the retirement projects. Not only does this role know the system to be retired but also all its architectural flaws and deficiencies that should not be migrated to the new system. As a response to these deficiencies, we have added the budget and risk management activities and the System Architect role to our model. The modifications are marked with the underlined text written in bold letters in Table 1. 5.2 Evaluation against Current Standards In this section, we compare our retirement process model with the standard process models as described in [2, 3]. When doing this, we follow the comparison criteria listed in Table 1. Except for the criteria concerning the roles, all the comparison results are outlined in Table 3. None of the standard process models suggests any roles to be directly involved in the retirement process. Regarding the ISO/IEC standard [3], it only briefly mentions that personnel be trained in retirement actions. The IEEE model [2], on the other hand, mentions a user role, who should be notified about the closure of the system. Within the EXIT project, we have however identified nine different roles. These are listed and described in Section 4. The broad portfolio of the roles identified in the EXIT project indicates that the retirement project involves the majority of the organizational roles ranging from user to various analyst and design roles, to managerial roles and even to support roles. This, in turn, indicates how complex and comprehensive the retirement process model is. As illustrated in Table 3, none of the standard process models includes the activities during which one analyzes the retiring and replacing system. We believe that these Table 3. Our comparison results Activities IEEE ISO/IEC EXIT - System Analysis – – + - Archiving Strategy – + + - Migration Strategy – – + -Management of the adjacent systems – + + - Retirement planning + + + - Risk management – – + - Conduct archival + + + Eliciting Theory about a Retirement Process 7 Copyright © 2008 SciRes JSEA are one of the most important activities within the retirement process. They could be compared to the requirements specification activities. It is a common knowledge that non-recognition of the requirements, irrespective of what type of a project it concerns, does not lead to successful project results. For this reason, we claim that lack of analysis activities is a series deficiency in the standard process models studied. Only the ISO/IEC 15288 standard [4] suggests the identification of archiving strategies. None of the standard models proposes migration strategies. In our opinion, identification of both these strategies is very important. Identification of the retirement strategy is a must. However, the identification of the migration strategy should be an option. This is due to the fact that not all retiring systems undergo migration. We believe, however, that the inclusion of this strategy in the retirement process model indicates that the retirement process does not exist in a vacuum. Many times, parts of the retiring systems have to be migrated to other new replacing systems or other new archiving systems. Only the ISO/IEC 15288 standard [4] briefly mentions that the interfaces to the adjacent systems should be considered. None of the standard models suggests how the interfacing systems and their users should be handled. In our opinion, this is a serious omission. Improper management of the adjacent systems may lead to big inconsistencies and problems in their future operation. Hence, we suggest that the interfacing systems and their handling should be highly prioritized in a retirement process. Both the standard process models studied included the planning activities. However, they only recognized the need for planning. They have not provided any suggestions specific to the retirement planning process. None of the standard process models studied included risk management. We did not include it either in our preliminary process model outline. Even if a risk management is a separate process, we strongly believe that it definitely should be integrated with the retirement process. Retirement and replacement imply many serious business risks. Not considering them may jeopardize the whole retirement process, and thereby the organization’s future business opportunities. Finally, all the standard process models included the archival activity. This activity however was only briefly mentioned, even in our process model. We suspect that this activity is quite complex. Hence, it should be further studied and explored. 6. Final Remarks In this paper, we have elicited a retirement process model. Our goal was to provide a basis for creating theory on the domain of a retirement process, to evaluate it against current process standards and provide feedback for their extension. The elicitation process was made within one Nordic financial company. Our results show that our process model is realistic and that it correctly reflects the EXIT retirement project. Although, its design is based on only one project, it already may provide a basis for comparing it with current retirement standard models and for making suggestions for their improvements and extensions. These improvements and extensions are the following: · Extend the retirement process model with the roles involved in the retirement process. Given the specific characteristics of the retirement process, it is not always obvious who should do what and why. To fully provide support to the organizations, one needs to compliment the retirement process models with the list of roles and their responsibilities. · Include analysis of the system to be retired. Only then you may make sure that you have not gotten rid of important information. · Extend the retirement process model with the migration strategy. This is a way of indicating that a retirement process model is always conducted in a major context. · Provide clear instructions for how to manage the adjacent systems. This concerns both the adjacent systems and its users. · Make suggestions for how to plan a retirement process. This will help the organizations identify the full coverage of retirement and migration activities necessary for shipping successful project results. · Include risk management in the retirement project. It is only in this way; one may become proactive against many serious business risks in this very critical activity. Our next step is to create a generic retirement process model. In [5], we have elicited another instance of a retirement process model. This instance substantially differs from the process model elicited herein. For this reason, we believe that we are going to meet a great challenge when trying to consolidate these two process models. We are however prepared to meet this challenge. REFERENCES [1] V. T. Rajlich and K. H. Bennett (2000), “A staged model for the software life cycle,” Computer 33(7), 2000. [2] S. W. Ambler, M. J. Vizdos, and J. Nalbone, “The enterprise unified process: Extending the rational unified process,” Upper Saddle River, N. J.: Prentice Hall PTR, 2005. [3] IEEE Standard for Developing Software Life Cycle Processes, IEEE Std 10741991, The Institute of Electrical and Electronics Engineers, Inc. 345 East 47th Street, New York, NY 10017-2394, USA, 1991. [4] ISO/IEC 15288, Systems and Software Engineering- System life cycle processes, IEEE Std 15288-2008, 2008. [5] M. Kajko-Mattsson, R. Fredriksson, and A. Hauzenberger, “Elicting a retirement process model: Case Study 2,” in Proceedings, International Conference on Innovation in Software Engineering, IEEE, 2008. [6] B. Laurel, “Design research: Methods and perspectives,” the MIT Press, 2003. |