Introduction
In an enterprise, change is constant, especially with IT. To deal with
change we often need to upgrade the software from current version to the new
version. The process of upgrading is called migration. Any migration project is
critical and testing these projects needs expertise and a predefined approach.
Every module or layer in IT needs to be upgraded and kept up to date with latest
fix or versions available. This might be sometimes with the low underlying
software layer, which is most often the operating system, to the most advance
version of tools running on top of OS to match as per the market latest tools
which are in use at any given time.
Currently there is a huge gap between the potential smooth progression
and realization of an integrated business workflow model.
Due to large heterogeneous components and the scale of the complexity of
interdependence of the components, timelines and business need, impede the
progress at each and every stage of the process and migration stands a challenge.
IT companies needs to have a well tested model or a framework to be
adopted for migration. Which can be used for optimization of the migration and realize
value out of project. As migration happen frequently and one requirement leak
could propagate the problem to multiple layers. Care should be taken, identifying the required
components phase by phase.
Main phases in process of migration
These are some of the main phases, which are, repeated for every agile project
of a migration project. In any of the iteration, most of the time is consumed
in Data segregation, Analysis, Coding and test phases. These are the phases for
optimization; realize value and best candidate for innovation.
Ideally all SDLC phases are part of typical migration project.
Major tasks in process of migration
Tasks of the migration
·
Data collection
·
Data segregation
·
Requirement gathering
·
Functional Specification
·
Technical specification
·
Details design – High Level
Design
·
Details Design – Low Level Design
·
Migration document for
support
·
Build, System Test, UAT, Production
·
Test Plan
·
Test cases
·
QTP (Automated test tools)
·
Status Reporting
A peep into value realization
Value realization can be described as the extracted
value from project or from underlying processes. The dimensional elements
should be applied at each and every phase of project or processes to extract
value.
Let
me introduce some of the dimensional elements which could invoke value as below.
·
Innovation
·
Optimization
·
Foresight
·
Increasing efficiency
·
Re-invent
Applying
the dimension at each and every phase or process to analyze and realize the
value. This process called as a model.
Value metrics analysis
The project estimation is normally done on the
basis of the estimation models. If we can compare the estimated efforts post
applying value realization model and do the analysis, the difference could be
the value which is extracted.
Task transformation post value realization model
Analysis: The phase identifies the suitable streams, interfaces or
components for the migration in one agile iteration process; this can be
automated.
Coding: coding on demand, to fill the gaps to fit the new software
version. This also could be automated to the highest level where possible.
Testing: The test process could be automated and identify the manual
test cases which needs to be executed, so that the regression testing can be
easily achieved in less time.
Data: One year data can be collected for testing, best practice is to
collect sample of all possible data formats of input data. The phase can be
diminished, or data collection and segregation can be automated.
*50 components per quarter
*8hrs. Per day
Variables affecting value
The Architecture task:
Components, subjected for a
change in the scope of migration. There will not be any existing data for
testing.
Human Capability
collaboration
- Like the challenge of resource retaining issues
- KT and the process from stage to stage
- Known issue database centralization
What next
The challenges include not just the obvious issues of scale, but also
heterogeneity, lack of structure, error-handling, timeliness, and provenance,
at all phases and stages of the analysis.These technical challenges are common,
however these are cost-effective to address in the context of one domain alone.
Furthermore, these challenges will require additive solutions, and can be
addressed naturally by the next versions of products. Addressing, these
technical challenges to achieve cost effective solutions can be done.


