1. Technical Field
The present invention relates generally to managing an information technology (IT) migration, and more specifically relates to a system and method for providing a dynamic tool for planning labor resources, hardware resources and general costs for an IT migration project.
2. Related Art
In large organizations, migrating information technology (IT) from one system to another (e.g., token ring to Ethernet) requires a tremendous amount of oversight and management. Determining and managing labor resources and costs represents a significant challenge given the large numbers of people, devices, network resources, and environmental conditions that are involved. Careful planning is therefore critical to the success of an IT migration project. Once the project is underway, delays or problems with the migration can be very costly in terms of wasted time, money and staff resources.
One of large challenges in such a project involves planning and managing staffing requirements, as the migration will require many different tasks of varying skill. In order to successfully determine staffing requirements, various parameters must be quantified, such as: which devices will be migrated; which individuals will be affected; where are those individuals located; what network ports will be converted; who is responsible for supporting the device; what environment issues exist, such as wall ports being blocked by heavy furniture; what devices are executing critical operations that cannot be interrupted, etc. With this information a plan can put in place for allocating and budgeting staffing requirements.
Unfortunately, in large scale migrations, parameters and requirements can change on a day-to-day basis. For instance, delays may occur, employees may leave or be hired, information gathered for the migration may be incorrect, etc. Accordingly, a tool is required that would allow staffing needs to be determined, budgeted and managed throughout the lifecycle of the IT migration project.
The present invention addresses the above-mentioned problems, as well as others, by providing systems and methods that can be used by IT migration project managers to perform staffing and budget planning activities throughout the lifecycle of an IT migration project. An initial electronic inventory database is built to estimate and baseline initial staffing levels. Then, based on actual migration data records, estimates can be refined and changed to provide a dynamic, on demand, staffing tool.
In a first aspect, the invention provides a computer system having a system for managing an information technology (IT) migration, comprising: a database of inventory data records, wherein each inventory data record includes a set of migration parameters for a system to be migrated; a set of estimation tables that provide migration requirements for different sets of migration parameters; and a staffing system that estimates staffing requirements for the IT migration based on the inventory data records and set of estimation tables.
In a second aspect, the invention provides a program product stored on a computer readable medium for managing an information technology (IT) migration, comprising: program code configured for accessing a database of inventory data records, wherein each inventory data record includes a set of migration parameters for a system to be migrated; program code configured for accessing a set of estimation tables that provide migration requirements for different sets of migration parameters; and program code configured for estimating staffing requirements for the IT migration based on the inventory data records and set of estimation tables.
In a third aspect, the invention provides a method for managing an information technology (IT) migration, comprising: gathering inventory data of systems to be migrated into an inventory database, wherein the inventory data for each system includes a set of migration parameters; providing a set of estimation tables that determine migration requirements for different sets of migration parameters; and estimating staffing requirements for the IT migration based on the inventory data and estimation tables.
In a fourth aspect, the invention provides a method for deploying an application for managing an information technology (IT) migration, comprising: providing a computer infrastructure being operable to: gather inventory data of systems to be migrated into an inventory database, wherein the inventory data for each system includes a set of migration parameters; provide a set of estimation tables that determine migration requirements for different sets of migration parameters; and estimate staffing requirements for the IT migration based on the inventory data and estimation tables.
In a fifth aspect, the invention provides a computer software embodied in a propagated signal for managing an information technology (IT) migration, the computer software comprising instructions to cause a computer to perform the following functions: gather inventory data of systems to be migrated into an inventory database, wherein the inventory data for each system includes a set of migration parameters; provide a set of estimation tables that determine migration requirements for different sets of migration parameters; and estimate staffing requirements for the IT migration based on the inventory data and estimation tables.
These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings in which:
Referring now to the drawings,
I/O 14 may comprise any system for exchanging information to/from an external resource. External resources may comprise any known type of external device, including: storage, a display, speakers, a hand-held device, keyboard, mouse, voice recognition system, speech output system, printer, facsimile, pager, etc. Bus 15 may be included to provide a communication link between each of the components in the computer system 10 and likewise may comprise any known type of transmission link, including electrical, optical, wireless, etc. Although not shown, additional components, such as cache memory, communication systems, system software, etc., may be incorporated into computer system 10.
Data utilized by computer system 10 may be stored in any type of storage system (e.g., a relational database, flat file, etc.) and may include one or more storage devices, such as RAM, ROM, a magnetic disk drive and/or an optical disk drive. Data storage can also be distributed across, for example, a local area network (LAN), wide area network (WAN) or a storage area network (SAN) (not shown).
Access to computer system 10 may also be implemented over any type of network such as the Internet, a local area network (LAN), a wide area network (WAN), a virtual private network (VPN), etc. Communication may occur via a direct hardwired connection (e.g., serial port), or via an addressable connection that may utilize any combination of wireline and/or wireless transmission methods. Moreover, conventional network connectivity, such as Token Ring, Ethernet, WiFi or other conventional communications standards could be used. Still yet, connectivity could be provided by conventional TCP/IP sockets-based protocol. In this instance, an Internet service provider could be used to establish interconnectivity. Further, communication could occur in a client-server or server-server environment.
IT migration management system 18 includes: a user interface 28 that allows user 26 (e.g., a migration project manager) to interact with the IT migration management system 18; a staffing system 20 having various capabilities that allows user 26 to manage staffing based on inventory data 32; an activity analysis system 27 that analyzes ongoing migration activity data 38 in order to create and refine estimation tables 34; and an update system 30 that updates the inventory data 32 based on human resource (HR) data 40 and information in the estimation tables 34. It should understood that the term “estimation table” as used herein, which provides estimated requirements for different sets of migration parameters, can be implemented in any manner i.e., a migration table may be implemented as a data object, a program, a flat file, a database, etc.
The inventory data 32 may include any information relevant to the migration, such as affected machines, their operating systems, existence of necessary devices such network cards, the affected people, location, criticality of the system, etc.
Once inventory data 32 is gathered, staffing system 20 can be implemented to generate a staffing plan 42. Staffing system 20 includes a staffing requirements estimator 22 that estimates staffing requirements for the inventory data based on a set of estimation tables 34. Staffing requirements may be sorted and presented by the user interface 28 in any manner, e.g., by machine type, by project phase, by date, by project, etc.
Estimation tables 34 are provided to estimate what it will take to migrate a machine based on a machine's migration parameters. Thus, for each inventory record, an estimation table is located that has the same (or similar) migration parameters. From the estimation table, all of the migration requirements for the inventory record can be obtained, e.g., any hardware required and its cost, the types and amount of labor required, labor costs, etc. An illustrative estimation table may be implanted as follows:
It should be understood that the number, presentation, format and complexity of the migration tables may vary, and the above is provided for illustrative purposes only. Once a matching estimation table is located for a record, the migration requirements can be plugged into the staffing system 20 to determine staffing requirements. Estimations can be calculated in any manner. For instance, estimations could be done manually with a spreadsheet, or be automated through the use of configurable criteria in a database. For example, staffing estimates and costs could be loaded into a configuration document that stores the estimation tables 34.
By analyzing the inventory data 32, staffing system 20 can estimate labor resources, labor costs, and hardware expenses for the entire migration project, or a portion thereof. Estimates can be displayed by the user interface in any manner at any granularity, e.g., by total projected time to complete the project, by cost, etc. Scheduling system 26 provides a mechanism by which the user 36 can schedule individual machine migrations. Personnel selection system 24 allows the user 36 to assign specific individuals to perform machine migrations based on information collected from human resource (HR) data 40. For instance, a low skilled IT worker can be scheduled to perform 16 prepping operations each day (e.g., physically locating the machines and ports, and opening their cases); a higher skilled IT worked can then be scheduled on the same day to install and test network adaptor cards on those machines.
As noted above, as a large scale IT migration project progresses, any number of changes may effect the management of the migration during the project lifecycle. For instance, IT employees may leave/join the organization; additional machines requiring migration may be located; inventory records may be updated; migrations may be completed or partially completed, early, on-time, or late; migrations may be rescheduled, etc. To account for this dynamic behavior, IT migration management system 18 includes an activity analysis system 27 that analyzes ongoing migration activity data 38. The results of the analysis may be used to refine the estimation tables 34. Thus for example, if based on existing migration activity data, it is determined that a labor task typically takes 1.5 hours instead of 1.0 hours, the relevant estimation tables 34 can be updated to reflect this requirement by the activity analysis system 27.
An update system 30 may also be periodically run (e.g., daily) in order to update the staffing plan 42 based on changes to HR data 40, migration progress made to date, any revised estimations based on changes to the estimation tables, etc. For example, an employee scheduled to handle various migration tasks may have left the organization. Update system 30 can be run such that these changes are incorporated by the staffing system 20, and a new staffing plan 42 can be generated.
Using different views provided by the user interface 28, resource requirements can be planned. For example, required hardware installations can be estimated and planned for each phase of the migration project; the duration of individual migrations can be estimated based upon any number of migration parameters; the skill sets required for each task require for a machine migration can be identified and assigned to different personnel; specific people in the organization who need to be involved with a machine migration can be identified and assigned to any critical tasks; migration appointments can be scheduled in advance with the affected employees; coordination among different staff, e.g., network technicians and migration technicians can be planned and scheduled; relative staffing levels between different skill groups can be planned (e.g., one network technician per three migration technicians) based upon the machine types in the inventory database; machines with time critical applications can be highlighted for special arrangements; etc.
It should be appreciated that the teachings of the present invention could be offered as a business method on a subscription or fee basis. For example, a computer system 10 comprising an IT migration management system 18 could be created, maintained and/or deployed by a service provider that offers the functions described herein for customers. That is, a service provider could provide an on-line mechanism for generating staffing plans as described above.
It is understood that the systems, functions, mechanisms, methods, engines and modules described herein can be implemented in hardware, software, or a combination of hardware and software. They may be implemented by any type of computer system or other apparatus adapted for carrying out the methods described herein. A typical combination of hardware and software could be a general-purpose computer system with a computer program that, when loaded and executed, controls the computer system such that it carries out the methods described herein. Alternatively, a specific use computer, containing specialized hardware for carrying out one or more of the functional tasks of the invention could be utilized. In a further embodiment, part of all of the invention could be implemented in a distributed manner, e.g., over a network such as the Internet.
The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods and functions described herein, and which—when loaded in a computer system—is able to carry out these methods and functions. Terms such as computer program, software program, program, program product, software, etc., in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and/or (b) reproduction in a different material form.
The foregoing description of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to a person skilled in the art are intended to be included within the scope of this invention as defined by the accompanying claims.