| |
TMP™ Task 9. Transformation
The transformation and forward engineering of the "as-is" application to the "to-be" target takes place during the Transformation task. We accomplish this through a repeating cycle of transformation activities to produce the modernized application(s).
We often begin by identifying a manageable portion of the application to serve as a pilot transformation. This effort involves a full transformation of the selected functionality to the target environment, providing an opportunity to evaluate the transformation approach developed during Transformation Planning. Based on feedback from the client, we refine the process for use in transforming the remainder of the application.
The fundamental characteristics of a Trinity transformation effort are:
- Client involvement: We realize IT applications are vital assets. Feedback from clients during transformation is critical to ensure that new applications support operations as seamlessly as the original software.
- Phased delivery: We transform and deliver functionality to the client one function at a time, which simplifies transformation, makes testing more manageable, delivers value early and repeatedly throughout the project, and helps the project sponsor manage expectations within the client organization.
- Leveraged automation: We have developed an extensive library of software analysis and conversion tools that apply to a wide variety of technologies. While every client's software is unique, the technical characteristics of your software are undoubtedly very similar to other projects we have conducted. Does your portfolio include uncommon languages? Do you use custom-developed macros or other modules? No problem – we re-orient our tools on every project to handle these unique characteristics.
- Focus on future maintenance: At every step during transformation we keep one central thought in mind. The new software must function properly, but that is not enough – your organization must also be able to maintain that software effectively for years to come. This is why we do not perform line-by-line conversion. Instead we include manual re-design and re-organization tasks to ensure your new software does not "look generated." We also include no proprietary libraries. We produce native code, structured appropriately for the target technologies, which can be maintained effectively by the client.
- Coordinated testing: We perform unit and integration testing on all transformed functionality before delivery. Normally the client or their System Integration partner performs system acceptance testing, with support from Trinity for any bug fixes required. Clients can also contract with us to perform system testing.
Transformation involves several sub-steps, which are performed continually throughout the transformation project, often in parallel. These sub-steps include:
9.1: Establish transformation infrastructure –
We re-orient automated tools (as discussed above), obtain or create test data, and generally put in place the technical elements required for transformation.
9.2: Data layer transformation –
We convert legacy database or file definitions to the new technologies, including Data Definition Language (DDL) definitions of the new database tables, database creation scripts, and data conversion scripts. Click here for a diagram depicting this process. Trinity does not require actual application data – only the definitions for the database files.
9.3: Presentation layer transformation –
We capture existing screens and convert them for the new application. Trinity can respond to any desired strategy in this area, whether that means emulating "green screens" in .Net (as one client preferred so as to eliminate re-training costs) or transforming to a more modern GUI user interface.
9.4: Logic / business rules transformation –
he functionality of the existing application is re-factored for the target architecture, transformed, and used to populate the appropriate modules in the new application. We perform unit testing during this sub-step. When clients also desire functionality upgrades, we typically recommend a two-phase approach: first transform to the new technology,and then implement the enhancements. This manages complexity, which effectively reduces cost, time, and risk.
9.5: Integration testing –
By the time the client receives new functionality, we have combined all modules and tested them based on realistic use scenarios. When the client organization has a standard testing methodology, we are happy to conform to their approach.
9.6: Deployment support –
We assist the client deployment team by explaining functionality and providing technical support during application rollout and training.
9.7: Documentation maintenance:
To assist with ongoing application management and maintenance, Trinity can knowledge mine the newly transformed application to produce current documentation. We can also update this documentation on a periodic basis to keep it up-to-date as your applications change over time.
The end result is a transformation process that takes full advantage of today's technologies while protecting the huge investment that your legacy application portfolio represents.
|
|