# ASM Application Change Workflow Template

{% hint style="warning" %}
The ***ASM Application Configuration Change Management Workflow*** as detailed here, is provided as an example for those clients wishing to implement a targeted CM process around managing changes and configuration in their ASM application post go-live.

ASM ships with a standard Change Workflow for you to use that is widely applicable to all changes in your organization. **ASM does not ship with the Change Management Workflow Template, message templates, or screens outlined in this section.**&#x20;
{% endhint %}

{% hint style="info" %}
**Audience:** System Administrators/ASM Developers with sufficient rights to update, change, and configure ASM, ASM Screens, and ASM Workflows.
{% endhint %}

<figure><img src="https://1375663122-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhlW9jKl7dcDggHAPhNU9%2Fuploads%2FPt7zHcaCIhsPSHU7DOKX%2FScreenshot%202024-09-19%20at%2011.00.21%E2%80%AFAM.png?alt=media&#x26;token=9a0c3276-877f-4536-849d-bd29162e5e33" alt=""><figcaption><p>Click the image to expand and zoom</p></figcaption></figure>

## Workflow Overview

The ASM Change workflow will gather important change details, get stakeholder (ASM Change Review team) buy-in and send the change to UAT, if UAT is needed for the change.

**Additional decisions and actions along the way:**

1. If approval is not unanimous, a meeting will be scheduled with the stakeholders and change team to discuss.  A second chance approval will then be issued and if unanimous, the change will progress to the next stage.  If unanimous approval is still not received, the change will close.
2. The workflow will check if the change impacts screens or workflow and if so, will activate the UAT path.  If not, it goes straight to implementation.
3. Once implementation is complete,  an evaluation for the necessity of UAT is performed and if UAT conditions are met the UAT branch will be activated.
4. The UAT Branch will:
   * Create a task to copy Production down to the Test environment
   * Create a task to make the test environment ready for QA
   * Notify QA when UAT can start
   * If QA rejects the build, the workflow will activate a recursion back to the implementation task to try again.
   * Once QA passes the build, a task is created to enable the changes in Production.
5. Finally, the closure task is set to manual, assigned to the Release team, and when the release team has reviewed the whole of the request and results, they will close it.

## Workflow Task Details and Configuration

Below are the critical tasks and their configuration.  You will add or remove tasks from this list as necessary to meet your own organizational structure.

[**Activation Tasks**](https://docs.alemba.com/asm-hermes-10.6.8/setup-and-configure-asm/configuring-your-system/workflow-template-administration/steps-for-workflow-request-template-creation/managing-tasks-adding-tasks-to-the-dependency-diagram/task-types-in-the-task-palette/creating-an-activation-task) - Are configured for unanimous approval.  This means that if a single approver rejects, all remaining incomplete tasks will close and the meeting branch will be activated.  If there is unanimous approval, then the request will instead, proceed.

[**Delay Task**](https://docs.alemba.com/asm-hermes-10.6.8/setup-and-configure-asm/configuring-your-system/workflow-template-administration/steps-for-workflow-request-template-creation/managing-tasks-adding-tasks-to-the-dependency-diagram/task-types-in-the-task-palette/creating-a-delay-task) **-** The delay task is configured to wait to progress the request until the meeting date and time has elapsed for the Change Review and second chance approvals.

<details>

<summary>TASK: ASM Stakeholder Application Change Review</summary>

**Profile -** CAB Approval

**Description -** <mark style="background-color:yellow;">Hello, a request to change ASM has been submitted.  Please see the details of the change and if you approve, please complete the approval via email or by logging in to the Self-Service Portal.  If you or any other stakeholder reject the change, a meeting will be convened to discuss the details and a second approval will be forwarded.  If approval is not unanimous a second time after the meeting, the request will be cancelled and no further action will take place.</mark>\ <mark style="background-color:yellow;">**What happens next?**</mark>  \
\&#xNAN;*<mark style="background-color:yellow;">**Workflow Changes:**</mark>*  <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">If you approve of this change and the approval is unanimous;A task will be forwarded to the Lead developer to clone the workflow requiring a change and its associated screens. This new workflow will be placed into a secure development folder for completion by the assigned developer.  A new Service action will also be created and assigned to the developers subscriber groups for the purpose of verifying and testing screens on the self service portal.  This will hide the service action from view of the public while allowing the developers to verify rules, fields, and filters are working correctly.</mark>\
\&#xNAN;*<mark style="background-color:yellow;">**All other Changes:**</mark>*  <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">If you approve the change and the approval is unanimous, a task will be forwarded to the developers group, the change will be implemented and tested, and then it will be released immediately.</mark>

**Entity -** ASM APP CR

**Phase -** Initiation

</details>

<details>

<summary>TASK: ASM CR Rejected - Schedule Stakeholder Review Meeting</summary>

**Profile -** Notification

**Description -** <mark style="background-color:yellow;">Hello, a request for change for ASM has been submitted and at least one approval authority has rejected the change.  Please schedule a meeting with the Review board listed below.  Once the meeting has been scheduled, enter the date and time in the meeting Date field on this task in ASM Core (You cannot complete this task via Email).</mark>\ <mark style="background-color:yellow;">What Happens next? The meeting will convene and a single approval will be assigned to each member of the review board.  Unanimous approval is required.  If after the meeting we still do not have unanimous approval, this request will be considered rejected and it will close automatically.  If we do achieve unanimous approval, the request for change will progress normally.</mark>\ <mark style="background-color:yellow;">Thank you</mark>

**Entity -** ASM TSK CR

**Phase -** Initiation

</details>

<details>

<summary>APPROVAL: Second Chance ASM Change Request Review</summary>

**Profile -** Managerial Approval

**Description -** <mark style="background-color:yellow;">Hello, The Change requested for ASM was rejected initially by at least one of the member of the review board and so a meeting was scheduled.  Once the meeting has been held and the change discussed by the team, please complete this approval and reject or approve it once again.</mark>\ <mark style="background-color:yellow;">A unanimous approval is required for the request for change to the ASM application to proceed.  Based on the results of the meeting that was held, please enter the decision.</mark>\ <mark style="background-color:yellow;">Thank you</mark>

**Entity -** ASM APP CR

**Phase -** Initiation

</details>

<details>

<summary>USER APPROVAL: ASM Change QA Pass/Fail</summary>

**Profile -** User/Customer Approval

**Description -** <mark style="background-color:yellow;">Hello, Please complete UAT against this package.  When testing is complete, please approve this task if it has passed, or reject it if it has failed.  You will need to communicate the defects through your usual channels.  Thank you</mark>

**Entity -** ASM USR APP CR

**Phase -** Testing

</details>

<details>

<summary>CONDITIONAL BRANCH: Does Change Impact Workflow or require new screens?</summary>

**Profile - Unspecified**

**Description - NULL**

**Entity -** Conditional Branching Task

**Phase -** Initiation

**Conditions/Parent Actions/Dependent Tasks**

WF YES/Activation Task/None/ASM Change: Set Up Developers Entities and Work Items

WF YES/Activation Task/None/ASM Change: Set Up Developers Entities and Work Items

WF No/Activation Task/None/ASM Change Request Implementation

WF No/Activation Task/None/ASM Change Request Implementation

**WF YES Rule Configuration -** (R) YES NO 1 = Yes

**WF NO - Rule Configuration -** (R) YES NO 1 = No

</details>

<details>

<summary>CONDITIONAL BRANCH: Is UAT Required?</summary>

**Profile - Unspecified**

**Description - NULL**

**Entity -** Conditional Branching Task

**Phase - Build**

**Conditions/Parent Actions/Dependent Tasks**

UAT Yes/ASM Change Request Implementation/None/ASM Change-Copy PRD to UAT

UAT No/ASM Change Request Implementation/None/ASM Change Completion/Delivery

**UAT YES Rule Configuration -**&#x20;

*{Request:ASM\_IMPACTED AREAS}* = "Workflow "\
OR *{Request:ASM\_IMPACTED AREAS}* = "Screen(s)"\
OR *{Request:ASM\_IMPACTED AREAS}* = "Self-Service Portal"\
OR *{Request:ASM\_IMPACTED AREAS}* = "Skins and Branding"\
OR *{Request:ASM\_IMPACTED AREAS}* = "Integrations"\
OR *{Request:ASM\_IMPACTED AREAS}* = "Upgrade/Vendor Project"    &#x20;

**UAT NO - Rule Configuration -**&#x20;

NOT *{Request:ASM\_IMPACTED AREAS}* = "Workflow "\
OR NOT *{Request:ASM\_IMPACTED AREAS}* = "Screen(s)"\
OR NOT *{Request:ASM\_IMPACTED AREAS}* = "Self-Service Portal"\
OR NOT *{Request:ASM\_IMPACTED AREAS}* = "Skins and Branding"\
OR NOT *{Request:ASM\_IMPACTED AREAS}* = "Integrations"\
OR NOT *{Request:ASM\_IMPACTED AREAS}* = "Upgrade/Vendor Project"    &#x20;

</details>

<details>

<summary>TASK: ASM Change: Set Up Developers Entities and Work Items</summary>

**Profile -** Implementation

**Description -** <mark style="background-color:yellow;">Hello, a change to ASM has been requested and approved.  The change requestor/project champion has indicated that workflow and/or screens are impacted or that this is an entirely new workflow.  This task is for you to configure entities necessary for the Lead Developer to begin work.</mark>  <mark style="background-color:yellow;"></mark>*<mark style="background-color:yellow;">Prerequisite: Ensure</mark>* [*<mark style="background-color:yellow;">production has been configured</mark>*](https://docs.alemba.com/asm-hermes-10.6.8/setup-and-configure-asm/configuring-your-system/best-practice-system-configuration-post-go-live/preparing-production-for-sys-admins-and-developers) *<mark style="background-color:yellow;">for isolation and concealed development.</mark>*\ <mark style="background-color:yellow;">Summary List of Your Activities:</mark>\ <mark style="background-color:yellow;">1. Workflow Template (New or Clone)</mark>\ <mark style="background-color:yellow;">2. Screen Sets (New or Clone)</mark>\ <mark style="background-color:yellow;">3. Request Assignment - Dev elopers</mark>\ <mark style="background-color:yellow;">4. Task and Approval Assignment (Developers)</mark>\ <mark style="background-color:yellow;">5. Subscriber Group Check</mark>\ <mark style="background-color:yellow;">6. Service Action Setup - Subscriber Group</mark>﻿﻿\ <mark style="background-color:yellow;">**Note:**</mark>  <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">If this request only involves screen changes, you may potentially skip over workflow items, if the changes will not impact the workflow.  However, if the screens are used on a workflow or the changes impact workflow rules, you will need to follow all of the steps.</mark>

*<mark style="background-color:yellow;">Example: Suppose the workflow for New User Onboarding is not changing but the screens that support the workflow are.  The requirement is to add 2 new user types to a drop down list.  You first check all of the rules in the workflow template and determine that at least 1 rule is in fact looking at this field.  Now, you will need to follow the whole of the process because there is a conditional branch in the workflow that makes decisions based on the user type.</mark>*  \
*<mark style="background-color:yellow;">The workflow in this scenario will indeed, be changing.  What seemed like a small change could actually have a bigger impact that the project champion may not know or understand.</mark>*

<mark style="background-color:yellow;">**Basic Detailed Process for establishing a development work order setup:**</mark>

1. <mark style="background-color:yellow;">Ensure the developer is in the Developers subscriber group.</mark> &#x20;
2. <mark style="background-color:yellow;">Clone the impacted workflow to the Development Workflow Process.</mark>  <mark style="background-color:yellow;"></mark>*<mark style="background-color:yellow;">**See Also: Workflow Template Administration**</mark>* <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">to learn more about creating new Workflow Templates</mark>
3. <mark style="background-color:yellow;">Create New Request Submission, Details, and Review Screen sets in System Administration. \*\*You may also need to create approval and task screen setsUsing the current screens as a template, create the new screen entities.</mark> &#x20;
4. <mark style="background-color:yellow;">Copy all Message Templates as well.  Use the "Copy From".</mark>
5. <mark style="background-color:yellow;">Open the workflow you cloned, and point the request, all of the tasks, approvals and messages to the new screens and message templates. e.g., if the original screen task CR\_TASK, the new Screen might well be called CR\_TASKv2, and so on.</mark>﻿﻿
6. <mark style="background-color:yellow;">Assign all Tasks and Approvals to the 'Developers' Approval and Workflow Group.</mark>
7. <mark style="background-color:yellow;">Assign the request to the 'Developers' workflow group.</mark>
8. <mark style="background-color:yellow;">Save the request.</mark>
9. <mark style="background-color:yellow;">Access the CMDB and clone the impacted service action.  This will be the one that calls the template you are modifying.</mark>
10. <mark style="background-color:yellow;">Point the cloned template to the new workflow you just cloned and rename the Service Action in such as a way as the developer will know which is in development.  e.g., you could preface the Service Action Title with "DEV", or similar.</mark>&#x20;
11. <mark style="background-color:yellow;">Before you click Save on the new service action, ensure you have added the subscriber group and unchecked the Available to all subscribers checkbox.</mark>

<mark style="background-color:yellow;">You have now created a dev template and screens along with a hidden service action.  The developer can begin work without your users being able to see or being impacted by the developers activities.</mark>  \ <mark style="background-color:yellow;">**What happens next?**</mark> <mark style="background-color:yellow;"></mark> <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">Now that you have configured the new version of the workflow, or perhaps created an entirely new one, a task will be created for the developer to begin work.  You should include the name of the screens and template, Service Action etc, in you closing comments so that the developer assigned will know what entities have been configured.</mark>

**Entity -** ASM TSK CR

**Phase -** Build

</details>

<details>

<summary>TASK: ASM Change-Workflow Implementation/Update</summary>

**Profile -** SW Change-Implement

**Description -** <mark style="background-color:yellow;">Hello, A change to ASM Workflow and or Screens has been requested and approved.  All of the necessary dev entities have been configured for you to begin work.  Please the Request History" for any notes and information left for you by the individual who configured the environment.  You will need to:Implement the Build/Change and perform a basic Unit Test.﻿﻿Document on the Request (Add a Note) any Risks, Actions, Issues, Decisions or Test Results.  If the project is not on track or has issues, update the status to Yellow or Green as appropriate.When you have completed the work and you are ready to send it to UAT, you will complete this task.  A new task will be created automatically and forwarded to the correct group or individual to log the Vendor ticket to have UAT refreshed with Production so that UAT may begin.</mark>\ <mark style="background-color:yellow;">Please note:  You are developing and completing this work in Production.  No changes can be made in the UAT environment.  ​Because of this you must:</mark>\ <mark style="background-color:yellow;">Do not make changes in UAT as they cannot be moved backwards to Production.</mark>\ <mark style="background-color:yellow;">Do not make changes to any entity apart from that which has been configured for you and approved through the Change Board already.</mark>

**Entity -** ASM TSK CR

**Phase -** Build

</details>

<details>

<summary>TASK: ASM Change Request Implementation</summary>

**Profile -** SW Change-Implement

**Description -** <mark style="background-color:yellow;">Hello, a change request for ASM has been approved and is ready for implementation.  All of the necessary documents should be attached to the request.  When the implementation is complete, include the details on this task and then please complete the task.</mark>  <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">**Please hold this task open and keep a running narrative of any issues, actions or decisions until you have completed the build and unit testing.  Do not complete this task until it is ready for either UAT or delivery.**</mark>  <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">Include any results of your unit test where relevant.</mark>\ <mark style="background-color:yellow;">Thank you</mark>

**Entity -** ASM TSK CR

**Phase -** Build

</details>

<details>

<summary>TASK: ASM Change-Copy PRD to UAT</summary>

**Profile -** Unit Test

**Description -** <mark style="background-color:yellow;">Hello, a request for a change to ASM has been submitted, approved and completed.</mark> &#x20;

1. <mark style="background-color:yellow;">Please log a ticket at</mark>\ <mark style="background-color:yellow;"><https://alemba.help/production/portal.aspx> to have the UAT environment refreshed with a copy of Production.</mark> &#x20;
2. <mark style="background-color:yellow;">Enter the Request Number and the Date Time Requested.  You cannot complete this task without this data.</mark>

<mark style="background-color:yellow;">**What happens next?**</mark>  <mark style="background-color:yellow;"></mark><mark style="background-color:yellow;">Once the UAT environment has been refreshed, UAT will commence.  Once UAT has completed you will be required to enable this new capability in Production.  We will not move any data from UAT to Production.</mark>

**Entity -** ASM TSK CR

**Phase -** Test

</details>

<details>

<summary>TASK: ASM Change-Test System Make Ready</summary>

**Profile -** Unit Test

**Description -** <mark style="background-color:yellow;">Hello, please make the UAT system ready for UAT testing.  You may need to perform the following:</mark>

1. <mark style="background-color:yellow;">Ensure all email addresses are wiped, apart from the QA Team.  This will ensure no emails go out to any unintended recipients.</mark>
2. <mark style="background-color:yellow;">Ensure all the task assignments in the workflow template are set to the correct groups for testing.  Use your discretion how to handle this.  When the workflow is ready to be published in Production, you will need to ensure the production tasks are correctly assigned.</mark>
3. <mark style="background-color:yellow;">Ensure that the service action for the project is not restricted by Subscriber group, else the QA team will not be able to see it.</mark><br>

<mark style="background-color:yellow;">This list is not inclusive, there may be other tasks you will need to perform on a case by case basis.</mark>

**Entity -** ASM TSK CR

**Phase -** Test

</details>

<details>

<summary>TASK: ASM Change UAT Passed: Make Ready/Publish PRD</summary>

**Profile -** SW Change-Completion

**Description -** <mark style="background-color:yellow;">Hello, an ASM Software change request has been completed and UAT has issued a PASS. Please make the change available in Production.</mark>\ <mark style="background-color:yellow;">**To publish the change (make the Change Visible):**</mark>

1. <mark style="background-color:yellow;">In the Workflow Process Template Window, Highlight the Dev Workflow that is the subject of this call.</mark>﻿﻿
2. <mark style="background-color:yellow;">Click "Rename" and rename the Template appropriately.</mark> &#x20;
3. <mark style="background-color:yellow;">Select the Workflow Process it should be located. e.g., DEV-Software Request v1 might get renamed to Software Request v1 and then be placed into the Service Request Fulfillment Workflow Process.</mark>
4. <mark style="background-color:yellow;">Open the workflow and in each task, email, and approval, set the assignments correctly.  They will have all been set to the Developers Groups for development.</mark>
5. <mark style="background-color:yellow;">Click Assign on the Request and assign the workflow template to its default group.</mark>
6. <mark style="background-color:yellow;">If a dev Service Action was used, delete the DEV service Action.</mark>
7. <mark style="background-color:yellow;">If you updated a workflow template or created a new one, open the Published service action, and point the service action to the New workflow template﻿﻿.</mark>
8. <mark style="background-color:yellow;">Ensure the correct subscribers are listed or that if all users should see it that you have ticked the available to all subscribers.</mark>
9. <mark style="background-color:yellow;">Access the Portal where appropriate and ensure the final result is as expected</mark>
10. <mark style="background-color:yellow;">Access Core, and ensure the final result of the change is as expected.</mark>

**Entity -** ASM TSK CR

**Phase -** Change Implementation

</details>

<details>

<summary>CLOSE TASK: ASM Change Request Final Review and Closure Task (Manual Close Task)</summary>

**Profile -** Closure

**Description -** <mark style="background-color:yellow;">The ASM Change Request has been completed and Published.  Please review the whole of the request and implementation and ensure it is complete.  Then you may close the request in ASM using this task.</mark>\ <mark style="background-color:yellow;">Thank you</mark>

**Entity -** Closure Task

**Phase -** Post Implementation Review

</details>

{% hint style="success" %}
**BEST PRACTICE  - Always fill out the Task Description fully.** &#x20;

This is **very often mapped as the body of the email notification** for that task so at a minimum, you will want it to say enough to explain what the task is about and what the expected action is.  It is also helpful to explain what happens next in the workflow on completion of this task.  *Click the image below to see an example*

<img src="https://1375663122-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhlW9jKl7dcDggHAPhNU9%2Fuploads%2F1igEDkgqP226SKZP1YhR%2FScreenshot%202024-09-26%20at%2011.35.59%E2%80%AFAM.png?alt=media&#x26;token=21fedb68-6bf5-431c-b166-36f03a0781b6" alt="" data-size="original">.    &#x20;
{% endhint %}

{% hint style="success" %}
**BEST PRACTICE  - Always fill out all of the task information.** &#x20;

Pay particular attention to the "Request Status on Completion", "Request Status on Rejection" and the phase and status fields.  Task Type is also important. &#x20;

1. **Request Status on Completion, etc...** - By understanding what the status of the request should be when the current task is finished, you can have the workflow automatically update the request to reflect it.  These status are tied to request phases.  You can also make use of the request status to activate rules in the screens and in the workflows.
2. **Task Types -** These indicate the nature of the task, such as UAT, Unit Testing, Development, or Delivery. As above, you can then leverage this information to enforce field rules.  For example, you might want to require a test result field but only on testing tasks and no others.  If you are leveraging the task type, you need not write complex rules or create numerous screens.
3. **Task Status/Phase -** This indicates where the task sits in the big picture.  This is very useful for reporting and filtering.
4. **Order -** this is a way for you to create a numerical system by which you can order the tasks in task lists.  e.g., 100,200,300,310,311,320,400,500... By starting with big numbers I can now see from the example above that tasks 310 and 320 are clearly part of task 300's branch.  311 would be part of 310's branch, and so on.  If you do not enter an order, then your tasks will appear in lists in random or alphabetical order and it can make following the workflow more difficult.
5. **Task Priority -** some tasks are more critical than others and by setting the correct priority, analysts are better able to see them in large lists.
6. **Planned Time -** The default planned time value is 168 hours, or 7 days.  If your workflow has 10 tasks, the estimated completion date could easily be several months out.  If you can enter the time the task *should realistically* take to complete, your auto-calculated dates will be much more accurate. &#x20;
   {% endhint %}
