upgrade considerations appian platform · implementation lifecycle, from project initiation through...

11
UPGRADE CONSIDERATIONS Appian Platform ArchiTECH Solutions LLC 7700 Leesburg Pike #204 www.architechsolutions.com 703-972-9155 [email protected]

Upload: others

Post on 22-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UPGRADE CONSIDERATIONS Appian Platform · implementation lifecycle, from project initiation through production. However, this time each phase will be made easier, leveraging the existing

UPGRADE CONSIDERATIONS Appian Platform

ArchiTECH Solutions LLC 7700 Leesburg Pike #204

www.architechsolutions.com 703-972-9155

[email protected]

Page 2: UPGRADE CONSIDERATIONS Appian Platform · implementation lifecycle, from project initiation through production. However, this time each phase will be made easier, leveraging the existing

Page 2 of 11

TABLE OF CONTENTS Introduction ...................................................................................................................................................................... 3

Upgrade Overview ........................................................................................................................................................... 5

The Upgrade Process .................................................................................................................................................... 5

Evaluate Upgrade ...................................................................................................................................................... 6

Planning an Upgrade ................................................................................................................................................. 7

Evaluate System Architecture ................................................................................................................................... 8

Execute Upgrade & Perform Functional Test............................................................................................................ 9

Support User Adoption (UAT) ................................................................................................................................. 10

Production (PROD) .................................................................................................................................................. 10

Support and Enhance .............................................................................................................................................. 11

Conclusion ...................................................................................................................................................................... 11

Page 3: UPGRADE CONSIDERATIONS Appian Platform · implementation lifecycle, from project initiation through production. However, this time each phase will be made easier, leveraging the existing

Page 3 of 11

Introduction In a constantly evolving software marketplace, where new product versions with functionality enhancements are

released several times a year, it is essential for companies to stay up to date. Specifically, the Appian platform has

significantly matured over the past few releases, expanding in functionality, scalability, and usability, especially with

the move from Portal to Tempo and the introduction of SAIL forms.

ArchiTECH Solutions is committed to assisting customers in maximizing the value of their current software platforms,

leveraging the benefits of these technological advances to improve the end user experience and to increase the

return on investment.

The following whitepaper is meant to help guide clients through the software upgrade process, as well as provide

some specific information regarding the solution enhancements in the Appian platform. This whitepaper is not

meant to be a comprehensive to-do list or a replacement for the Appian Forum’s technical upgrade information (i.e.

https://forum.appian.com/suite/help/16.1/Upgrade_Guide.html). Rather, it should be used as a supplement to help

broaden knowledge about software upgrades for web based applications like including Appian.

When planning an upgrade, there are many factors to consider: functional changes, infrastructure requirements,

timeline, business needs. Above all, the initial item to consider is the reason for upgrading.

Upgrades are performed for a variety of reasons, including:

❖ Access to new functionality to meet your latest business objectives and grow within your market

❖ Stay compliant with industry regulatory requirements

❖ Improve your existing application, both in performance and usability

❖ Appeal to your current user base and help drive greater operational efficiency

❖ Stay current with the latest product support offered. At the time of this article, Appian no longer supports

versions lower than 7.6 and encourages you to upgrade in order to stay compliant.

Determining the reason for upgrading will help set the foundation to better answer many of the other factors

involved in the upgrade.

ArchiTECH Solutions has a team of experienced consultants ready to help you assess the reason for upgrading,

create a full lifecycle plan, execute the software application upgrade, and perform post-launch support and

enhancements to maximize the application’s utility, scalability, and supportability. ATS consultants treat an upgrade

project with the same diligence and accountability as with a solution implementation. We hope this whitepaper will

provide you the building blocks on which to begin your upgrade analysis, and we encourage you to reach out to our

team with any questions or support requests.

Page 4: UPGRADE CONSIDERATIONS Appian Platform · implementation lifecycle, from project initiation through production. However, this time each phase will be made easier, leveraging the existing

Page 4 of 11

Throughout this whitepaper, pay special attention to the People, Process, Technology framework that influences

each decision:

PEOPLE

All people involved in an upgrade project must be considered, from administrative resources who help facilitate the

funding, to executive stakeholders who support the initiative, to involved business and technical users that can test

and define requirements. To effectively coordinate and manage these people, roles and responsibilities of the

upgrade team should be concretely defined. Typically, this upgrade team consists of a smaller subset of the initial

implementation team, in addition to product specialists who are familiar with the new features of the product and

upgrade best practices. ATS consultants bring the necessary upgrade experience and product knowledge to guide

you through the people decisions, helping define a team and associated responsibilities.

PROCESS

A big part of efficiency within an upgrade is an accurate identification of all policies and processes that govern your

project lifecycle. Awareness of all development processes, code migration procedures, and resource onboarding

schedules is essential for effective process management. If you have ongoing development and code being pushed

to production, ensure that your upgrade project fits within the existing release cycle. Proper management of

business operations and development cycles will keep your software upgrade on schedule and without any

interruptions.

TECHNOLOGY

Finally, technological dependencies need to be met before any upgrade process can begin. Technology leads should

review the upgrade documentation, ensuring that any necessary changes in server, databases, plugins, etc. will be

mitigated prior to beginning an upgrade. Researching any technological dependencies is also important to ensure

the new software version will remain compatible with external systems. In addition to these hardware and software

Page 5: UPGRADE CONSIDERATIONS Appian Platform · implementation lifecycle, from project initiation through production. However, this time each phase will be made easier, leveraging the existing

Page 5 of 11

dependencies, comparing a list of deprecated functionality within the Appian platform to the current application

code is important in ensuring the existing solution will remain fully functional in an upgraded environment.

For an Appian upgrade, the Appian Forum is a good resource to start finding some of these technological answers.

The Release Notes provide a list of enhancements as well as deprecated functionality with each new version. The

Forum will also indicate whether your upgrade requires an intermediary version before upgrading to the latest

version (ie. upgrading from Appian 5.x first requires a migration to 6.0.3 before a higher version).

After compiling a list of all necessary upgrades for supporting systems, it is essential to reevaluate the project scope

and timeline. Additional technical and functional considerations are required when migrating an application from

Appian Portal to Tempo, as the entire user interface will be updated.

Upgrade Overview An upgrade is similar to an implementation project - it involves various stakeholders, it must adhere to a timeline,

and it impacts the end users. Thus, it should be handled with the same level of diligence. The upgrade should

follow a modified software development lifecycle complete with an upgrade process, approach, delivery

milestones, testing phases, end user impact

analysis, solution enhancements, and user

acceptance.

The Upgrade Process A key advantage to the upgrade process over a

new implementation project is that you can

leverage the pieces put in place during the initial

implementation, such as the project team

knowledge base, the migration policies &

procedures, the existing code base, and the

existing infrastructure.

With this backbone of knowledge and work, upgrades can be much more efficient and less time consuming than

implementations. Software upgrades are, therefore, more cost effective as they provide a greater return on

investment once implemented.

With that in mind, the upgrade process should flow through similar high-level phases as a typical project

implementation lifecycle, from project initiation through production. However, this time each phase will be made

easier, leveraging the existing frameworks and knowledge accrued.

Project Lifecycle Phases:

Upgrade Process Summary:

Evaluate Upgrade and Determine Need Plan Upgrade and Coordinate Resources Perform Functional Testing Facilitate User Adoption Move to Production Support & Enhancement

Page 6: UPGRADE CONSIDERATIONS Appian Platform · implementation lifecycle, from project initiation through production. However, this time each phase will be made easier, leveraging the existing

Page 6 of 11

Evaluate Upgrade Step 1 in an upgrade evaluation is to

determine the reason for upgrading. As

mentioned above, an important component of

a responsible upgrade is an evaluation of

whether the reason for upgrading is sufficient

to drive the process through the entire

lifecycle. Any application in production being

actively used by members of your

organization and/or external users represents

an investment in time and money from your

user base (either directly or indirectly). So you

should always consider any change to your

systems carefully and leverage the experience

of change management practices.

The next step in evaluation is a critical

assessment of your organizational readiness:

Does the upgrade have executive buy-in?

Do you have the resources needed to

perform the upgrade?

Does the new release (or desired upgrade release) satisfy the technical and functional requirements

of your business need today and for the next few years?

What are the potential negative impacts of an upgrade and can they be mitigated?

Another key area to consider is platform support for the software application. Often, product companies only

provide platform support for certain newer versions. An important question, then, is, does your application risk

losing support from the product vendor, and what impact would that have on your organization? Appian, in

particular, automatically upgrades its cloud customers to the latest version. However, on-premise customers need to

perform periodic upgrades to stay current with support. Thus, the supportability question is ever important for on-

premise customers.

Whether your company has an internal project evaluation steering committee to help decide the viability of the

upgrade or not, essentially the evaluation process should leave you with a “Go or No-Go” decision before committing

Initiation Elaboration Construction Transition Production

Questions to ask:

What is the scope and upgrade objective? What is the organizational impact? What is the team structure and their roles? Where can I find information about Appian?

Resources regarding Appian products:

Review Appian product documents and interact

with other in the Appian Forums

https://forum.appian.com/

Read Appian Blogs

http://www.appian.com/blog/

Stay current with the latest Appian add ons

developed by the community

http://www.appian.com/appmarket/

Page 7: UPGRADE CONSIDERATIONS Appian Platform · implementation lifecycle, from project initiation through production. However, this time each phase will be made easier, leveraging the existing

Page 7 of 11

resources to the effort. If the decision is to move forward

with the upgrade project, obtain formal buy-in from

stakeholder organizations and kick-off the project in a

face-to-face meeting. Formality, visibility to upper

management, and team building can be important in

securing the cooperation needed throughout the process.

Planning an Upgrade Once you’ve made the decision to upgrade, carefully

planning the project will be crucial to success. As

mentioned above, you should treat an upgrade project

with the same diligence as a new implementation. A

project plan should be created to define a specific scope

and any upgrade objectives. It should include features that you expect to implement, their benefits, and the

potential impact to your organization.

Planning an upgrade gives you a chance to revisit your original application objectives, and research new features or

enhancements to the product that may better fulfill those objectives. Additionally, consider doing a gap analysis of

your As-Is and To-Be upgraded states to ensure that you have accounted for organizational impacts from the

People, Process, Technology framework described above.

A web based application is made up of more than just the platform software; it is always a union of multiple

software and hardware systems. In order to effectively deal with these often complex integrations, you should plan

your upgrade team to reflect the varying complexities of your project. A typical upgrade team could include the

following roles:

❖ Business users

❖ Application owners

❖ Technical Lead (a SME on the Appian product)

❖ Functional Business Lead

❖ Project Manager

❖ Database Administrator

❖ System Administrator

❖ Release coordinator

❖ Application Testers

❖ Application Trainers

❖ Technical Upgrade SME

Finally, when planning an upgrade, it is important to utilize all of the resources and documentation at your disposal.

In addition to the experience of the ArchiTECH Solutions team, you can also leverage product specific information.

Appian, for example, provides the following sites where users can interact and obtain product documentation:

ArchiTECH Solutions has the experience

and capabilities to assist in the system

architecture evaluation process by

recommending appropriate sizing for

various environments. For Appian

upgrades in particular, ATS would walk

the customer through a Sizing Survey to

assess factors such as, complexity of the

application, number of total expected

users, peak system load, etc.

Page 8: UPGRADE CONSIDERATIONS Appian Platform · implementation lifecycle, from project initiation through production. However, this time each phase will be made easier, leveraging the existing

Page 8 of 11

❖ Review Appian product documents and interact with other in the Appian Forums

https://forum.appian.com/

❖ Read Appian Blogs

http://www.appian.com/blog/

❖ Stay current with the latest Appian add-ons developed by the community

http://www.appian.com/appmarket/

Evaluate System Architecture Before executing the software platform upgrade, an

evaluation of the underlying system architecture is

necessary to ensure the upgrade will remain compatible.

Changing any part of the system architecture increases the

complexity of the upgrade project; thus, only after careful

evaluation and planning should any modifications occur. If

the architecture changes are necessary, it is important to

create consensus amongst all stakeholders to minimize

disruptions. Furthermore, you should plan to complete full

performance testing prior to the go-live date to identify

any downstream issues.

It is imperative that these assessments be made prior to

the upgrade execution to remove uncertainty and allow the

project team to focus on other upgrade related details.

❖ Platform: Most upgrading customers choose to remain

on their current hardware, operating system, and database

architecture. However, many customers take advantage of

the upgrade timeframe to upgrade hardware and transition

to the latest supported version of the operating system and

other third-party software. Any decision regarding platform

modifications should be made early on as the platform often

drives most, if not all, of the software utilized.

❖ Middleware: Another key decision is which middleware

platform to use. In making your decision, be sure to

understand any licensing and support considerations from the software product company. Specifically, the

Appian Suite supports many middleware versions, and a closer look at the Appian Forum will provide a detailed

list of those options.

❖ Non-production Hardware: It is important that all testing environments are sized adequately for handling the

anticipated testing loads. Stakeholders are often only concerned with the production environment sizing and

assume that performance is not important in a test environment. Bad performance during critical testing

Things to remember when

executing:

Communicate to all users and

stakeholders the execution of

the upgrade

Back up all engines of data,

database schemas

Document the details of

upgrade steps, procedures and

issue resolutions

Perform Regression, End-to-

End, Quality Assurance, User

Adoption Testing to ensure

upgrade is fully integrated with

existing code and applications

Update training manuals and

application documentation

reflecting the code

modifications in the new release

Schedule a maintenance

window when activity is

typically low, and plan an

outage timeframe based on

your experience with pre-prod

upgrades.

Page 9: UPGRADE CONSIDERATIONS Appian Platform · implementation lifecycle, from project initiation through production. However, this time each phase will be made easier, leveraging the existing

Page 9 of 11

phases, however, can not only provide users with a bad experience, but can also affect the upgrade schedule by

hindering completion of testing and delaying system deployment.

Execute Upgrade & Perform Functional Test Although the execution of an upgrade project is typically a smaller initiative than with a new implementation, the

execution and testing of the upgrade is where most of your time will be spent. The timeline for execution would

become lengthier if there are on-going development and enhancement activities, as there would need to be a code

freeze for a period during the execution of the upgrade.

When executing an upgrade, it is important to identify any risks and “what if” scenarios in order to avoid

downstream issues. Any change to your business comes with inherent risks and you should plan for these risks as

early as possible. An upgrade will impact your organization from a people, process, and technology perspective so

it’s important to ensure that you list your risk scenarios and mitigation strategies to cover all three aspects. In

addition, be prepared to re-asses this list, as new risks may be introduced during initial sandbox execution,

regression testing phases, or even during user acceptance.

A standard upgrade would follow the following path:

Perform Test Iteration

It’s important to familiarize your team with an upgrade before updating any Pre-Production system. Therefore, we

strongly recommend initially performing a test upgrade in a Sandbox environment. This will allow your team to both

gain experience and flush out any issues before you move forward.

1. Freeze code in all environments (depending on circumstances, development may continue, but developers

would have to perform an additional series of code checks once DEV is upgraded)

2. Set up a Sandbox environment to mimic your Production environment

3. Initiate a backup of all engine data and database schemas

4. Copy all Production code and configurations to the Sandbox

5. Upgrade the Sandbox using the application upgrade guide on Appian Forum

6. Create a detailed customized upgrade guide that reflects your specific upgrade steps (It should capture

procedures that are specific to your environment. Document any issues and their resolution. Your customized

upgrade document should include all the lessons learned)

7. Smoke Test the application for basic functionality (ensure that the data sources are set to test data)

Retrofit and Fix

8. Perform Regression and End-to-End Testing on the Sandbox environment

9. Identify and resolve any run-time application issues that may arise due to the upgrade (take note of any areas

where custom code or plugins are used as these may be areas that could break during an upgrade)

10. Add the issues and resolutions to the customized upgrade document, to build a comprehensive lessons

learned list

Page 10: UPGRADE CONSIDERATIONS Appian Platform · implementation lifecycle, from project initiation through production. However, this time each phase will be made easier, leveraging the existing

Page 10 of 11

Perform Pre-Prod Upgrade

11. Freeze development

12. Snapshot environment configuration and backup all code and database schemas

13. Use your customized Internal Upgrade Guide to perform upgrades on all Pre-Prod environments, beginning

with the Test environment

14. Continue to document any issues and their resolutions, expanding upon the Internal Upgrade Guide

Quality Assurance Testing (QA)

Quality Assurance Testing relies on an accurate and descriptive set of test scripts, prepared to validate the latest

production release. Any modifications made to process flow or application code to accommodate the new software

version would need to be incorporated in the QA test scripts. Full testing coverage and thorough script execution is

essential prior to upgrading any higher environment.

With Appian, code migration across development and testing environments is made easy through the use of

applications. An application is a package of all relevant code components that can be easily exported from one

environment and imported into another. Existing objects are updated in the imported environment and new objects

are created.

Support User Adoption (UAT) After sufficiently testing the application in the Pre-Prod environments, the final stage in the upgrade process is to

solicit a larger audience to participate in the testing and sign-off procedures. If any modifications to the end-user

experience were made, a sign-off and verification step is necessary to ensure the customer approves. Once verified

by the customer, training manuals and other application documentation must be updated to reflect the code

modifications in the new release, and supplemental training sessions should be held for key stakeholders.

Finally, user adoption is essential in realizing the benefits of the application upgrade and modifications. The change

management team should identify the leaders/influencers of your end users to discuss user adoption. The most

important part of user adoption is communication; being clear about when/why/how the change will be

implemented, and promising support to help users transition. End-users will be most receptive to proposed changes

if they feel engaged and supported throughout the process.

Production (PROD) Once you have ensured the upgraded application will not cause issues with the existing code, you have received

sign-off from key stakeholders, and you have established a user acceptance plan, it is time to make a decision on

when to release to production.

If your steering committee or primary project stakeholders have given the green light for a production upgrade,

ensure you have a clearly documented step-by-step upgrade document that includes all functional and technical

aspects of the upgrade across all team members. Schedule a maintenance window when activity is typically low,

and plan an outage timeframe based on your experience with pre-prod upgrades. Finally, follow standard operating

procedures of production environment modifications, and rely on your Internal Upgrade Guide when executing.

Page 11: UPGRADE CONSIDERATIONS Appian Platform · implementation lifecycle, from project initiation through production. However, this time each phase will be made easier, leveraging the existing

Page 11 of 11

Support and Enhance Ensuring that your end users are properly supported post launch is critical to success. Therefore, your upgrade plan

should always include a period of support, which extends beyond the release date. The support team should be

comprised of a subsection of the upgrade team with cross-sectional knowledge of the application as a whole. For

projects with existing support processes, follow the same guidelines for your upgrade.

After full adoption by the organization, it is time to consider potential application enhancements to take advantage

of the latest software release. In order to maximize return on investment of the upgrade project, it is important to

modernize the application through full utilization of additional functionality and features. Any new enhancements

should be scheduled and implemented using a separate development lifecycle

Conclusion Software products and their functionality offerings are constantly evolving to provide greater value and new

advantages for your business. Appian, in particular, releases a new product version quarterly. In an effort to

maximize return on your solution investment, it is important to stay current by upgrading your application, and

implementing the new product enhancements to improve the end-user experience.

Each organization must evaluate the costs, risks, and rewards of an upgrade in the same way it would evaluate a

new business proposal. This whitepaper, written by ArchiTECH Solutions, outlines best practice tips to enhance

your upgrade project’s success.

ArchiTECH Solutions has the breadth of knowledge and experience to help you walk you through every step of a

software upgrade. Our consultants will guide you through the upgrade and technical assessments, planning, and

execution your software upgrade, providing continued post-launch support and enablement.

Bridging the gap between People, Process, and

Technology

7700 Leesburg Pike #204 Falls Church, VA 22043 For inquiries: Phone: 703-972-9155 Email: [email protected] Website: www.architechsolutions.com

This document is provided for information purposes only and the contents hereof are subject

to change without notice. This document is not warranted to be error-free, nor subject to any

other warranties or conditions, whether expressed orally or implied in law, including implied

warranties and conditions of merchant ability or fitness for a particular purpose. We specifically

disclaim any liability with respect to this document and no contr actual obligations are formed

either directly or indirectly by this document. This document may not be reproduced or

transmitted in any form or by any means, electronic or mechanical, for any purpose, without

our prior written permission.