A Comprehensive Project Management Framework for Client-Server Legacy Modernization

The Vgo Software Evolutions Methodology is a comprehensive project management framework that supports a holistic approach to conducting client-server legacy modernizations. This framework is provided so that users undergoing an application "evolution" can prepare and engage the project in a deliberate and engineered fashion, providing the highest chance of success.

Like our products, this methodology was born from years of practical use in the conversion of applications of all types, not just client-server applications. From this broad experience comes a real understanding of all aspects of a software conversion, covering both the business and technology perspectives.

The Evolutions methodology is available to Vgo System Integration Partners and to select customers only.

The 6 Phases of Evolution

Startup

This phase encompasses everything needed to get a project started, including the creation of a "current state" environment of the existing legacy application (database, model, data, Forms server, compiling and running FMBs, Menus, libraries, etc.) and collecting needed documentation (use cases, test scenarios, etc.). The project team will compartmentalize forms into Work Units (self-contained functional areas aligned with a business process), discover specific needs of the conversion and, if using Evo to perform code acceleration, will assess how much customization of Evo will be required. Project artifacts such as the Project, Communication and Risk Plans are also developed in this phase.

Analysis

Critical to the proper evolution of an application, the goal of the Analysis phase is to dig into current state use cases which exist or have been developed through documentation and knowledge exchange. The project team looks for re-use candidates, areas where a client-server application will need to change to accommodate a web-application architecture and more. The work performed here will ultimately, and accurately, determine the end duration of the evolution itself. An overall testing plan and strategy is also performed in this phase.

Design

The project team focuses on designing, in detail, areas to be re-architected; proto-typing new screens and page flows; and mapping areas where code should be made cleaner and more maintainable. Test strategies, cases and scenarios are also be developed here using the legacy application as a model. For projects accelerated by the Evo software platform, iterative customization of Evo's templates so that everything is in order to actually perform the conversion is the focus of the Design phase.

Evolve

This phase consists of the actual project conversion activity. Developers now convert their designated Forms and unit-test them according to the Test Strategy direction established in the Analysis phase. Cleanup after each run, and manual development tasks happen here as well. The Evolutions Methodology adopts an iterative Evolution pattern in order to accommodate business scenarios. When using Evo, templates will have already been customized to meet the final output needs. Re-use items are now finalized and re-architecture components and processes are identified and coded. Since Evo is very fast to use in a conversion, big changes in the conversion architecture can be accommodated when surfaced through iterative development.

Test

The Test phase should be iterative with the Development phase. With an Evolutions project, testing ends when all of the "Acceptance criteria" of the project have been met. Testing is the largest, and ultimately longest, phase of an Evolution project. Users should be reminded that not only are programming languages changed, but an entire paradigm shift of computing has occurred. All conversions and migrations require thorough testing.

Deploy

This final phase of the Evolutions methodology focuses on delivery, training, support, and transition of the application to those who will manage it. Application deployment with Evo to any application server is possible since it generates standard JEE web applications, and is customizable to meet the needs of any environment.