Why Upgrades
Below is the list why
companies go for the upgrades. The list is not exhaustive. However, it has all
the major points.
1.
Product is not supported by the vendor due to
higher version available in the market. To buy the support in the lower version,
the corporates has to pay premium support fees.
2.
Enhanced Security features available in the
higher version which is aligned with the IT Security policy of the corporate.
3.
New business features are added in the higher
version. To be competitive in the market, corporate need to implement those new
features of the application.
4.
The process has been improved in the new version
5.
The dependent product required higher version.
Suppose, corporate is going to implement/upgrade a product. The recommended software
for higher version of the product requires upgrade of the existing software (eg
DB upgrade).
6.
There is a cost associated with the upgrade. If
corporates does not want to go for the upgrade and build the features in-house,
then they need to analyze the cost required to build the new features and cost
of upgrade. If the cost if enhancement is much higher with high complexity,
then, corporate might go for the upgrades.
Types of Upgrades
Upgrades
can be classified in two parts. It is either technical upgrade or
Functional+Technical upgrade.
Upgrade Strategy
Depend on the type of upgrade selected, the strategy will
change. Below, different strategies are generally taken based on the upgrade
type
1.
Technical
Upgrade: Technical upgrades are when there are no functional changes in the
application/component. For packaged solution like Ariba, the upgrade package
generally comes with some functionality changes and in some cases, those are
not backward compatible. In those cases, we need to follow the Techno-functional
upgrade path. For upgrade of component (say Database, Websphere, JRE etc), the
components are generally backward compatible. In those cases, the best approach
for upgrade is Test Driven upgrade. As there are no functional changes and the
upgrades are backward compatible, the Test driven upgrade will give shorter Go
Live time. The recommended steps would be to break the upgrade process in
different phases with definite deliverables in each of the phases.
·
Inventory collection
·
Upgrade in lower environment functionality test
·
Upgrade till UAT/QA and functional test
·
Production go Live
2.
Techno-Functional
Upgrade: In Functional (or Techno
functional upgrades) the application adds new features. Generally following
changes are there in functional changes
·
Changes in Screen Layout
·
Changes in data structure
·
Changes in the operational flows/processes
So, in the functional/techno-functional
upgrades, the following steps are considered
a.
Gap
Analysis: Identify the changes in the higher environment. The changes could
be the object structure, changes in APIs, scheduling, UI flow etc. The list is
not an exhaustive list but few important changes. Based on the identified gap,
the upgrade consultant need to understand
I.
If the existing process is breaking in the
higher environment and coding effort required to fix
II.
User training required based on the scope of the
upgrade
III.
Identify the critical changes in the process
b.
Enhancement
backlog inventory collection: Collect the inventory of enhancement those
are planned in future to identify if those features are already available in
the enhanced version.
c.
Identify
the scope of upgrade and stakeholder training: One of the most important
steps is identify the scope of the upgrade. The scope identification will
document the modules or parts of the applications suites are getting upgraded.
Generally, gap analysis document helps to determine the scope of the upgrade.
Based on the scope is/are identified, the stakeholder training is
required to familiarize with the changes and training plan is created for the
end users
d.
Project
Plan: Based on the scope and capacity, the project plan is created. The
upgrade type (in-place upgrade where upgrade is done on the existing
application/component or out-place where upgrade in done on new hardware ) is
very crucial to plan the schedule.
e.
Upgrade
in lower environment and Unit test/functionality test: Follow the created
project plan to complete the upgrade in lower environment, unit test it,
identify the bugs/issues with the upgrade, fix it and document it. The lesson
learnt will help to upgrade in the subsequent environment more efficiently.
f.
Upgrade
till UAT/QA: With the lesson learnt in the lower environment, the upgrade
will be done much quickly in higher environment and deliver the environment for
QA/UAT testing and bug fix. One the QA/UAT/Regression/Performance is done and
bugs are prioritized and fixed as per the testing strategy, the application is
ready for the production upgrade.
g.
User
Training: End users need to be communicated about the changes in the application
before the application goes to production. If possible, it is better to give
them access to the lower environments to be familiarize with the changes in the
application
h.
Production
Go Live: The user community need to be communicated about the upgrade time
and when the application will not be available for use. Generally, production
go-live is schedules on weekends. Based on the matrix of go-nogo decision,
production go-live is approved.
Comments
Post a Comment