An overview of the asymmetric modernization process designed to deliver a cost effective solution for modernization large portfolios of applications such as those found for Notes/Domino.
2. www.redpilldevelopment.comlearn. do. dream.
Goal
The goal of asymmetric modernization is to establish a
process for modernizing applications that scales for large
portfolios of applications.
To do this we must recognize that modernization is a
journey and not a destination. It is therefore essential that
new “modern” capabilities can be continually added to an
application portfolio in a way that does not require changes
being made on an application-by-applications basis.
Note: This process is not specific to Notes applications but is particularly well
suited to the Notes platform because of the large number of Notes applications
found in many organizations (200 on average).
3. www.redpilldevelopment.comlearn. do. dream.
Approaches
Migration
The focus is on achieving a platform
change. This is an internal IT focus as users
typically do not care about the underlying
platform, but rather what it delivers.
Modernization
Focuses on delivering modern capabilities
to existing applications. The ability to
deliver this functionality is more important
than the platform used. This is usually a
customer-focused initiative.
Traditional Modernization
Analysts/developers build an understanding of
an existing application and use that
understanding to develop a new application
on the target platform.
Skilled analysts/developers and development
frameworks are important.
Automated Modernization
Automated tooling scans the code of the
existing application and uses that
understanding to generate new code.
Developers are usually needed to complete
the work which requires them to still build an
understanding of the application.
Skilled developers (but less of them) are
required along with a good set of automated
tools.
Asymmetric Modernization
Code and data forensics builds an
understanding of each application and from
this understanding a new, modern, interface
is provided.
Good forensics is needed along with a
sophisticated meta-driven UI. There is a higher
fixed cost to develop/acquire the technology
but a much lower variable cost for each
application
5. www.redpilldevelopment.comlearn. do. dream.
ExtendvReplace
Leaving the existing application (and associated)
data intact is a key requirement for Asymmetric
Modernization. Replacing an application
requires a cutover from the “old” to the “new”.
Extending an application allows the “old” to
continue operation while the “new” evolves.
With the original application still available for
use new capabilities can be delivered in a staged
approach until there is no longer a need for the
old. In many cases a lot of the functionality in
the original application is never requested
reducing the cost, time, and risk.
It is usually possible to meet the business needs
of 80% of the existing platform for 20% of the
cost. Having a strategy that provides an
alternative to spending the remaining 80% can
be the difference in the success or failure of the
project.
6. www.redpilldevelopment.comlearn. do. dream.
Code&DataForensics Analysis of code helps to provide an
understanding of what the developer thought
an application should do. Analysis of data helps
provide an understanding of how the
application is actually being used. Combining
both code and data forensics provides a more
complete picture about the true nature of an
application.
Automating the forensics process allows 100s
or 1,000s of applications to be quickly analyzed.
While not a requirement, it is often a good idea
to take advantage of the unique capabilities of
graph databases to store the large volume of
data associated with representing the forensics
results a large application portfolio.
During the course of a large modernization
project is is common for the existing
applications to change. The forensics process
must therefore be designed to run on a regular
basis to reflect the changes that occur until the
project is completed.
7. www.redpilldevelopment.comlearn. do. dream.
Meta-DataDrivenUI The asymmetric approach not only has the ability to dramatically reduce
the cost of modernizing an application portfolio it also can result in large
numbers of modernized applications being delivered within a few days or
weeks of the project starting. This is achieved by developing a user
interface that is driven by the the meta-data collected during the forensics
phase.
The goal of this modernization layer is to remove many design decisions
from individual applications applications and consolidate them into a
single “application”. As UI standards evolve over time this modernization
layer also evolves ensuring applications are always being presented with a
fresh “modern” interpretation of the underlying data. E.g. It is now
expected that addresses are integrated with a mapping application, names
are integrated with contact details and (on a smartphone) telephone
numbers are linked to the phone application.
It is unlikely that the computer-based guessing of UI needs will be perfect
for every application but it can result in the rapid delivery of mobile
interfaces or responsive web interfaces for thick client applications that
meet many of the needs of existing application users. The extend over
replace approach ensures the original application remains available to fill
any initial gap in functionality provided via the meta-data.
An administration tool to over-ride the meta-data generated by the
forensics allows comprehensive fine-tuning of the resulting applications in
a matter of minutes. Because much of the application functionality is now
represented as meta-data it is possible to implement changes to the
application without the need for changes to the original code.
8. www.redpilldevelopment.comlearn. do. dream.
CoreCapabilities A lot of the functionality required for an application
is not unique to a single application. Examples
include comments, keywords, export, print to PDF,
like, share, author profiling, contact integration,
integrated messaging. We refer to these as core
capabilities.
Rather than build those capabilities into each
application, an application framework is established
that allows the core capabilities to be made
available to all applications. Where needed the
ability can be added to customize which core
capabilities are made available (e.g. an application
containing confidential data may not benefit from
having an export feature).
The modernization process involves meeting user
expectations for quickly adding new core
capabilities to each application. In the past this may
require each application to be redeveloped, tested,
and deployed. This is an expensive and time-
consuming process. With asymmetric modernization
the core capability is developed once and then
automatically added to all applications in a manner
very similar to that found in cloud-base platforms.
9. www.redpilldevelopment.comlearn. do. dream.
CodedCustomization
While meta-data can go a long way to delivering a modern interpretation of the UI for aging applications there is always
going to be applications whose complexity goes beyond that which can be easily understood by forensics scans and/or
replicated in a meta-data (only) driven UI. The ability to integrated code with the meta-data UI becomes a must for
many mission critical applications.
Another important characteristic of asymmetric modernization is the ability to integrate code with meta-data. This can
often be the most time-consuming part of the process as there is rarely a fast way to reproduce complex business logic
written in languages such as @formula or LotusScript that will run from within a web browser or mobile client.
10. www.redpilldevelopment.comlearn. do. dream.
IntegratedFeedback
When modernizing an application one of the greatest
areas of savings comes from not assuming all the
existing functionality is required. A lot of the
functionality found in existing applications is no longer
used, needed, or does not have a compelling ROI to
justify its continued existence. As an example,
compare the functionality delivered on most mobile
mail clients with that found in desktop clients such as
Notes or Outlook.
Core capabilities are delivered to all applications first
and an integrated feedback mechanism is provided to
quickly identify features needed the most. These are
then implemented in a priority order across the
application portfolio.
Eventually the number of requests falls away or the
ROI of the requests remaining does not warrant them
being acted upon. At this stage you usually find the
existing application is no longer being used at all, or
only by a handful of people with very specific needs.
11. www.redpilldevelopment.comlearn. do. dream.
ApplicationStore
Business user will typically make use of
multiple applications in order to do their job.
We therefore need to provide a central place in
which people can both find and access these
applications. This will typically be provided in
the form of a portal/application store.
The application store should allow users to
identify their applications, the ones containing
the data with which they work. Customization
should be available to control the way in which
each person chooses to work with each data
store.
A modern user experience will deliver
information consolidated across applications
(e.g. notifications, to-dos, activity streams and
calendars). It will also provide a mechanism to
search for content that is contained in the
underlying data silos. The application store
should also be the place in which all core
functionality is delivered that is not specific to
an application (e.g. export, share, feedback).