Scenario 7: Deploying an Emergency Fix

Scenario Objective

After an update to the corporate web site of Qlarius Health Insurance a defect is found that prevents the site from being used by the customers. Rolling back to the previous version is not a solution as changes were introduced that the company does not want to lose. The objective of this scenario is to apply a quick solution by making an emergency fix.

Scenario Overview

Scenario Information

Pre-Requisites

  1. Log into the web client as any user.

  2. Switch to the following stream: QLARIUS:MAINLINE_JAVA_STR

  3. Browse the LIVE web application deployment area: in the My Current Project view expand Deployment Areas > LIVE Stage > LCL_LIVE_JMAIN_AREA01 > Qlarius Underwriter > website.

  4. In the content pane make a note of the revision of index.html that is currently deployed in this area.

  5. Log out of the web client.

Running this Scenario

Action

Procedure

Rita, the release manager, investigates the problem and discovers a defect in index.html. Rita decides that the best solution is to deploy an emergency fix.

The release manager raises a change request

Rita raises a change request to fix and track the defect.

  1. Log into the Dimensions CM web client as Rita.

  2. Switch to the following stream: QLARIUS:MAINLINE_JAVA_STR.

  3. In the Request view, on the toolbar click New and select CR.

  4. The New Request dialog box appears.

  5. In the Title field enter a title for the request, for example: Fix index.html.

  6. In the Detailed description field enter a description.

  7. On the Attributes tab, from the Severity/Priority list select Really Urgent.

  8. Click Submit and click Close.

The new request is added to Rita’s request inbox with the following ID:

QLARIUS_CR_n 

By default the request is at the DEV stage when it is raised.

The release manager delegates the request to the team lead

Rita delegates the request to the development team lead, Ted, whose team is responsible for maintaining the web site.

  1. Select the request and on the toolbar click Delegate.

  2. The Delegate wizard appears.

  3. Check that the Capability option is set to Secondary.

  4. From the Role to Delegate list select IMPLEMENTOR and click Next.

  5. In the ’Candidate users authorized for role assignment’ list select Ted and click Add.

The wizard closes automatically. Dimensions CM sends an email to Ted notifying him that a request has been added to his Request inbox.

The release manager actions the request to its next state

Rita actions the request to its next state, UNDER WORK.

  1. Select the request and on the toolbar select Action.

  2. The Action wizard appears.

  3. Check that the To next state field is set to UNDER WORK.

  4. Click Finish and click OK.

  5. The request is removed from Rita’s request inbox.

  6. Log out of the web client.

The development team lead primes a task from the request

Ted reads the email, views the request in his Request inbox, and primes a child task from the request.

  1. Log into the web client as Ted.

  2. Switch to the following stream: QLARIUS:MAINLINE_JAVA_STR

  3. In the Request view select the Request inbox and then the request that was raised by Rita.

  4. On the toolbar click Prime and select Task.

  5. The Prime Request dialog box appears.

  6. (Optional) Update the detailed description.

  7. Click Submit and click Close.

The new child task is added to Ted’s request inbox with the following ID:

QLARIUS_TASK_n

By default the child task is at the DEV stage when it is raised.

The development team lead delegates the task to a web developer

Ted delegates the task to a web developer, Wendy.

  1. Select the child task and on the toolbar click Delegate.

  2. The Delegate wizard appears.

  3. Check that the Capability option is set to Secondary.

  4. From the Role to Delegate list select IMPLEMENTOR and click Next.

  5. In the ’Candidate users authorized for role assignment’ list select Wendy and click Add.

The wizard closes automatically. Dimensions CM sends an email to Wendy notifying her that a task has been added to her Request inbox.

The development team lead actions the task to its next state

Ted actions the task to its next state, UNDER WORK.

  1. Select the child task and on the toolbar select Action.

  2. The Action wizard appears.

  3. Check that the To next state field is set to UNDER WORK.

  4. Click Finish and click OK.

  5. The child task is removed from Ted’s request inbox.

  6. Log out of the web client.

The web developer updates their work area from the stream

Wendy reads the email, checks her Request inbox, and updates her work area from the stream to make sure she has the latest revision of index.html.

  1. Log into the web client as Wendy.

  2. Switch to the following stream: QLARIUS:MAINLINE_JAVA_STR

  3. Check that Wendy’s work area is correct (see the pre-requisites at the start of scenario 1 on page 525).

  4. In the Items view, on the Dirs tab of the navigation pane, expand Qlarius Underwriter and select website.

  5. On the toolbar click Update.

  6. The Update from Stream wizard appears.

  7. Click Next.

  8. Click Finish and then Close.

Wendy’s work area is updated.

The web developer modifies the item

In Wendy’s local work area on your machine edit index.html. For the purpose of this scenario make a minor edit, for example, add a comment to the top of the file.

The web developer delivers the item and relates it to the task

Wendy delivers the modified file to the stream and relates it to the child task.

  1. In the Items view, on the Dirs tab of the navigation pane, select website.

  2. On the toolbar click Deliver.

  3. The Deliver to Stream wizard appears.

  4. Check that the Modifications check box is selected.

  5. Click Next.

  6. Verify that index.html is selected and click Next.

  7. In the Relate to request(s) field click Select.

  8. The Select Request dialog box appears.

  9. From the Product name list select QLARIUS.

  10. From the Type name list select TASK.

  11. Click Next.

  12. Select the task that is delegated to Wendy and click Finish.

  13. In the Deliver to Stream wizard click Finish and then Close.

  14. Make a note of the latest revision of index.html (see the content pane).

The web developer delegates the task to the team lead for peer review

Wendy delegates the task to Ted, her team lead, for peer review.

  1. In the Requests view select the Request inbox.

  2. Select the child task and on the toolbar click Delegate.

  3. The Delegate wizard appears.

  4. Check that the Capability option is set to Secondary.

  5. From the Role to Delegate list select REVIEWER and click Next.

  6. In the ’Candidate users authorized for role assignment’ list select Ted and click Add.

The wizard closes automatically. Dimensions CM sends an email to Ted notifying him that a task has been added to his Request inbox.

The web developer actions the task to its next state

Wendy actions the task to its next state, PEER REVIEW.

  1. Select the child task and on the toolbar select Action.

  2. The Action wizard appears.

  3. In the New State section check that the To next state field is set to PEER REVIEW.

  4. Click Next.

  5. In the Actual completed date field enter a date.

  6. In the Actual development effort (hours) field enter a number.

  7. Click Finish.

  8. The task is removed from Wendy’s Request inbox.

  9. Log out of the web client.

The team lead does a peer review and actions the task to its final state

Ted has read his email, seen the task in his Request inbox, done a peer review of the file that Wendy modified, and is satisfied with the changes that she made. He actions the task to its final state, CLOSED.

  1. Log into the web client as Ted.

  2. In the Requests view select the Request inbox.

  3. Select the child task and on the toolbar select Action.

  4. The Action wizard appears.

  5. Check that the To next state field is set to CLOSED.

  6. Click Finish and click OK.

The task is removed from Ted’s request inbox.

The team lead promotes the request and task straight to the PRE-PROD stage

Because this is an emergency fix that is required urgently, Ted promotes the request and task straight from DEV to PRE-PROD bypassing the intermediate stages (SIT and QA). Deploy by Default is not enabled so the request and task cannot be automatically deployed to the PRE-PROD deployment area.

  1. Select the request.

  2. On the toolbar click Promote.

  3. The Promote wizard appears.

  4. Check that the option Promote child requests is selected.

  5. From the Next stage field select PRE-PROD.

  6. Click Next.

  7. Deploy by Default is not enabled so no deploy options are available.

  8. Click Next.

  9. A summary of the promotion activity and command that will be performed is displayed.

  10. Click Finish.

The team lead verifies that promotion was successful

 

Ted verifies that promotion to PRE-PROD was successful.

  1. Select the Deployment view.

  2. To only display information for the current stream do the following:

  3. a    In the navigation pane click the filter button in the top right corner.

    b    Select Show Current Stream.

  4. Select the History tab.

  5. In the navigation pane select the PRE-PROD stage node.

  6. In the content pane verify that the request was promoted successfully from DEV to PRE-PROD.

The team lead delegates the request to a QA engineer

Ted delegates the request to Tony, a QA engineer, for testing.

  1. In the Requests view select the request and on the toolbar click Delegate.

  2. The Delegate wizard appears.

  3. Check that the Capability option is set to Secondary.

  4. From the Role to Delegate list select QA ENGINEER and click Next.

  5. In the ’Candidate users authorized for role assignment’ list select Tony and click Add.

The wizard closes automatically. Dimensions CM sends an email to Tony notifying him that a task has been added to his Request inbox.

The team lead actions the request to its next state

 

Ted actions the request to its next lifecycle state, IN TEST, so that the Tony can perform testing.

  1. Select the request and on the toolbar click Action.

  2. The Action wizard appears.

  3. In the New State section check that the To next state field is set to IN TEST.

  4. Click Next.

  5. In the Details of solution given field enter: Fixed index.html

  6. Click Finish.

  7. The task is removed from Ted’s Request inbox.

    Dimensions CM sends an email to Tony notifying him that a task has been added to his Request inbox.

  8. Log out of the web client.

Let’s assume the following:

  • Tony has tested the web site to make sure that the latest revision of index.html fixes the problem.

  • Tao, the QA manager, has closed the request.

The release manager deploys the request to the PRE-PROD deployment area

Rita, the release manager, checks the Pending tab for the PRE-PROD stage on the Deployment view. Rita sees that the request is ready to be deployed to PRE-PROD.

  1. Log into the web client as Rita.

  2. In the Deployment view check that only the current stream is displayed.

  3. Select the Pending tab.

  4. In the navigation pane select the PRE-PROD stage node.

  5. In the content pane, from the Show list select Requests.

  6. Select the request and on the toolbar click Deploy.

  7. The Deploy wizard appears.

  8. Check that the option Deploy child requests is selected.

  9. Check that the Deploy Stage is set to PRE-PROD.

  10. Click Next.

  11. To deploy the request and child task now, check that the option Perform deployments is set to ’as soon as possible’.

  12. In the Areas(s) for deployment field check that the LCL_PP_JMAIN_AREA01 deployment area is selected.

  13. Click Next.

  14. A summary of the deployment activity and command that will be performed is displayed.

  15. Click Finish and click Close.

  16. Select the History tab.

  17. In the navigation pane, in the PRE-PROD stage node, select the LCL_PP_JMAIN_AREA01 deployment area.

  18. In the content pane verify that the request and child task were successfully deployed to the PRE-PROD area.

The release manager promotes and deploys the request and task to the LIVE stage and deployment area

Because this is an emergency fix Rita immediately promotes and deploys the request and task to the LIVE stage and deployment area.

  1. On the History tab select the request.

  2. On the toolbar click Promote.

  3. The Promote wizard appears.

  4. Check that the option Promote child requests is selected.

  5. In the Next stage field check that LIVE is selected.

  6. Click Next.

  7. To deploy the request and child tasks immediately, check that the option Perform deployments is set to ’as soon as possible’.

  8. Deploy by Default is not enabled for the LIVE deployment area. However Rita has the privilege to deploy at the same time as the promotion. In the Areas(s) for deployment field select the LCL_LIVE_JMAIN_AREA01 deployment area.

  9. Click Next.

  10. A summary of the promotion activity and command that will be performed is displayed.

  11. Click Finish.

  12. In the navigation pane select the LIVE stage node.

  13. In the content pane verify that the request was promoted successfully from PRE-PROD to LIVE.

  14. In the navigation pane select the LCL_LIVE_JMAIN_AREA01 deployment area.

  15. In the content pane verify that the request and task were successfully deployed to the LIVE deployment area.

The release manager verifies that the emergency fix was deployed

Rita verifies that the latest revision of index.html was deployed to the LIVE area.

  1. In the My Current Project view, in the navigation pane, expand
    Deployment Areas > LIVE Stage > LCL_LIVE_JMAIN_AREA01 >
    Qlarius Underwriter > website

  2. In the content pane verify that the latest revision of index.html was deployed. This revision has replaced the one that was deployed at the start of this scenario.

Note: After the emergency deployment is completed, the latest revision of index.html goes through the normal testing procedures. If it passes the tests successfully it remains in the LIVE deployment areas.

End of scenario

Scenario Privileges

The tables below list the promotion and deployment privileges required by each user in the scenario.

Promotion privilege

Privilege owner

REQUEST_PROMOTE_ANYSTAGE

ITEM_PROMOTE_ANYSTAGE

Team lead

Release Manager

Deployment privilege

Privilege owner

Required for these areas

The DEV and LIVE areas are deploy by default areas and no deployment privileges are required.

REQUEST_DEPLOY

ITEM_DEPLOY

Release Manager

LCL_PP_JMAIN_AREA01