Order Out of Chaos
Craig Mercer's thoughts on the nature of variation and "crossing the streams" of Project Management with Benefits Realization Management, Organizational Change Management and Process Improvement (Lean Design).
  • Home
  • About Craig Mercer
    • Castanet Communications
    • Dori-Kaze
    • Hachiroku
    • Sasuke Central
    • The Mercers
    • Wild Guns
  • The Bookshelf
  • Order of the 3rd Cowboy

Jun 11 2014

Quality must be built in!

“Quality can not exceed the capability of the system. Quality can not be inspected into a product or service; it must be built into it.”

– W. Edwards Deming in “Out of the Crisis” (Page 227)

By Craig "hachiroku" Mercer • Maxims, Quality (Systems Thinking) •

Nov 27 2013

Creating custom Key Performance Indicators with calculated columns in SharePoint 2013

Creating Custom Key Performance Indicators with Calculated Columns

Consider the following scenario
A team wants to be able to prioritize their work so they can visually see what are the most important items to focus on. They will use low, medium and high priorities, represented by yellow, orange and red images.

Things You Need

  • Custom indicator images for as many levels as you require.
  • Text to HTML JavaScript
  • A custom list
  • A choice type column in the list
  • A calculated column in the list
  • A web part containing the Text to HTML script

Step 1 – Get the Images

Instructions:

Go to Icon Finder (https://www.iconfinder.com/) and do a search for the kind of icons you want. In this case we’ll search for “square icon” and choose a glossy orange square at 24×24 pixels and download it to our PC. Then we’ll look for yellow and red in the same theme set and download those as well. The images tend to come with weird filenames so we’ll rename them to something more user friendly such as: “icon-yellow.png”, “icon-orange.png” and “icon-red.png”.

yellow-24 orange-24 red-24

NOTE: It is important to find images that are in the Portable Network Graphic (PNG) format because they have transparent backgrounds and will look good in any theme.

Step 2 – Upload the Images to SharePoint

Next we’ll need to upload the images into SharePoint. SharePoint 2013 sites come with a built in library called “Site Assets” and it is highly recommended to store the images in this location.

Instructions:

Click on the Site Contents link and the click on the Site Assets library.
Click on new document and upload each image from your PC.

add-images

Step 3 – Create the Text to HTML Script

The following script is available from Christophe Humbert (Blog Path to SharePoint: http://blog.pathtosharepoint.com/). This has been tested and confirmed to work with SharePoint 2013.

Instructions:
Take the following code and paste it into a new text file (using Notepad or another text editor) and save it as “TexttoHTMLSP013.txt”.

<script type="text/javascript">
 // Copyright (c) 2010 Christophe Humbert - Path to SharePoint
 // Find all Web Parts in the page
 var listWP=[],calWP=[],divs=document.getElementById("DeltaPlaceHolderMain").getElementsByTagName("div");
 var count=divs.length;
 for (i=0;i<count;i++) {
 try {
 if (divs[i].id.indexOf("WebPartWPQ")==0){
 if (divs[i].innerHTML.indexOf("ViewDefault_CalendarView")>=0) {
 // Calendars
 calWP.push(divs[i].id);
 }
 else {
 // Other Web Parts
 listWP.push(divs[i].id);
 }
 }
 }
 catch(e){}
 }
 function TextToHTML(NodeSet, HTMLregexp) {
 var CellContent = "";
 var i=0;
 while (i < NodeSet.length){
 try {
 CellContent = NodeSet[i].innerText || NodeSet[i].textContent;
 if (HTMLregexp.test(CellContent)) {NodeSet[i].innerHTML = CellContent;}
 }
 catch(err){}
 i=i+1;
 }
 }
 var regexpA = new RegExp("\s*<([a-zA-Z]*)(.|\s)*/\1?>\s*$");
 var regexpTD = new RegExp("^\s*<([a-zA-Z]*)(.|\s)*/\1?>\s*$");
 var WP = new Object;
 function UpdateWP() {
 if (calWP.length>0){
 for (i=0;i<calWP.length;i++) {
 WP=document.getElementById(calWP[i]);
 if (WP.innerHTML.indexOf("&lt;")>=0) {TextToHTML(WP.getElementsByTagName("a"),regexpA);}
 }
 }
 if (listWP.length>0){
 for (i=0;i<listWP.length;i++) {
 WP=document.getElementById(listWP[i]);
 if (WP.innerHTML.indexOf("&lt;")>=0) {TextToHTML(WP.getElementsByTagName("td"),regexpTD);}
 }
 }
 // Check every 200 ms, forever
 setTimeout("UpdateWP()",200);
 }
 UpdateWP();
 </script>

Step 4 – Upload the Text to HTML Script

Now let’s upload the TexttoHTMLSP013.txt file to the Site Assets library just we did with the images in Step 2.

add-script

Step 5 – Create a new Custom List

Next we need to create a custom list (via the Add an app feature in SharePoint 2013) that will have our custom images used in.

Instructions:
Click on the settings “Cog” and then select “Add an app”.

add-an-app

Next, let’s select the Custom List type and then name it “VisualWork” (of course in practice you can name it whatever you want).

create-custom-list

NOTE: If you create a name with white space in it (e.g.: Visual Work), the URL will end up with extra characters in it (e.g.: …/Visual%20Work.aspx). This is due to the fact that web addresses cannot contain whitespace so the white spaces are rendered with a “%20” instead of a blank space. Furthermore once a URL has been created in SharePoint is it permanent. The title and description can be modified after creation by the URL cannot. So if you create a list with white space in the name it cannot be undone.

Step 6 – Create a new Choice type Column in the List

Next we need to create a choice column which we will use to calculate against. In this case we’ll create a new choice column called “Priority” and then give it three choices: Low, Medium and High.

Instructions:
Click on the ribbon and then List>List Settings>

list-settings

Create Column

create-column
Column Name: Priority
Column Type: Choice
Type each choice on a separate line:
Low
Medium
High

Then click OK.

create-priority

 

Step 7 – Create a new Calculated type Column in the List

Now we need to create a calculated column which we will use to show the images based on what is selected in the choice column.
In this case we’ll create a new calculated column called “Indicator” and then give it three possible calculations. The calculation will be if Priority is equal to Low then show a yellow image, if Priority is equal to Medium then show an orange image and finally, if Priority is equal to High then show a red image.

Instructions:
Click on the ribbon and then List>List Settings>Create Column>
Column Name: Indicator
Column Type: Calculated
Formula:

=IF(Priority=”Low”,”<DIV><img src=https://<your url>/sites/SiteName/SiteAssets/icon-yellow.png title= Priority.is.LOW></DIV>”,IF(Priority=”Medium”,”<DIV><img src= https://<your url>/sites/SiteName/SiteAssets/icon-orange.png title=Priority.is.MEDIUM></DIV>”,IF(Priority=”High”,”<DIV><img src= https://<your url>/sites/SiteName/SiteAssets/icon-red.png title=Priority.is.HIGH></DIV>”)))

create-indicator

Step 8 – Add new item to the list

Now we need to create an item in the list.

Instructions:
Click on the new item link
Title: Work Item 01
Priority: Low
Then click Save.

add-item

If all went well you should now see item 1 in the list and it will show the code for the low image in the indicator column.

item-view-code

Step 9 – Add the Text to HTML script and move it under the list

Now we need to add the Text to HTML script to tell SharePoint to render the image instead of the code. We’ll do this by first getting the URL (address) to the script and then adding it into a new Content Editor on the page.

Instructions:
Go into the Site Assets library, right hand mouse click on the script and select “Copy shortcut”.

copy-shortcut

Next click on the Visual Work list and then on the settings “Cog” and then Edit Page

edit-page

Then click on the ribbon and select Insert and then Web Part

add-web-part

Then go to the Media and Content section and select the Content Editor option and click Add.

add-content-editor
The web part should now be added to the page just above the list. Next click on the upside down triangle and then click on the “Edit Web Part” link.

edit-web-part

After you click on the link the window should reload and show the editor for the Content Editor. In the content link section paste the shortcut that you copied from the Site Assets library and then click OK.

add-link-to-content-editor

Finally, in order to make the image render you will need to drag the Content Editor underneath the Visual Work list.

move-content-editor-below

Next you need to click on “Stop Editing”

stop-editing

Now you should have the image rendering properly as below.

image-rendered

NOTE: Anywhere on your site that you want to show the image(s) you will need to add the content editor with the shortcut link and move it under the list or web part.

By Craig "hachiroku" Mercer • SharePoint 2013 •

May 16 2013

Scope or Die!

scope or die“Skate or die”(1) in its original usage advocated the skate boarding lifestyle as being synonymous with life itself. Here I co-opt it to zero in on the importance of scoping your project properly…put simply…scope or die!

Anyone who has spent time in projects whether they are technology, process improvement, quality control etc. should know that most failures can be attributed to a few usual suspects. These suspects include: inadequate executive support, lack of budget, lack of resources, time constraints but the most common culprit (IMO) is the lack of a proper scope. I’ve always asked project managers under my leadership to be able to provide an “elevator pitch” of their project (the ability to give a brief synopsis of the project in 2 minutes or less). After all, if you can’t explain your project in 2 minutes or less, you probably do not know what your project is.

If we are unable to articulate what it is we are trying to accomplish then we are unlikely to be be able to successfully deliver it. Furthermore we need to understand what scope truly is. Some fall into the trap of thinking that the scope is to turn on technology “x” or to achieve a certain number of widgets produced per hour or a reduction of adverse events by such and such an amount. Scope must be defined by the value, the benefit that it will bring to the organization/company. Scope, when defined by benefits, will be the guide by which the endeavour moves.

When a fork in the road appears the scope will help to determine whether the team goes right or left. Scope from a benefits perspective will ultimately determine the success or failure of the project.

Scenario

The Widget Company produces and sells widgets to business clients. They have been fortunate enough to be able to purchase and amalgamate two other companies with similar services into their own. The growth has come with some issues though. The other companies brought with them different invoicing systems and workflows. This is causing some customer service issues because invoices are in some cases not being created properly and in others they are not being created in a timely manner which is causing constraints on cashflow.

The company leadership wants to address the growing pains by introducing a new standard invoice computer system in all locations. They hire a project manager. The project manager schedules a meeting with the leadership team and asks them what the purpose of the project is. The leadership tells them that the purpose of the project is to implement technology “x”. So the project manager says: “So if I am able to turn on technology “x” in all locations you will consider this project a success?” To which the leadership team of The Widget Company answers in the affirmative.

  • What if the system causes new delays in an unforeseen part of the process and actually delays the creation of invoices and compounds the cashflow issues?
  • What if the increase in computer costs and technical support are greater than the efficiency in invoice creation?

Perhaps the scope (or purpose) of the project should have been to create the right invoice for the right customer at the right time. But is that enough?

  • What does the company achieve if it is producing the right invoices for the right customer at the right time?
  • Maybe it will decrease the amount of complaints that the company is receiving from unhappy customers?
  • Maybe it will increase the amount of cashflow because they can reduce the backlog of account receivable?
  • So perhaps the purpose of the project is to achieve an improved cash flow?

Hopefully as you are reading this you are beginning to see that the scope is the MOST IMPORTANT factor in the success of a project. There are any number of ways that the project purpose could be framed, being able to articulate the one closest to what the project is needed to achieve will go a long way increasing the chances of success.

Last but not least, once the scope (purpose) of the project has been identified the project manager needs to ensure that the scope is agreed to and authorized by the leadership (usually in the form of a formal document like a project charter that leadership physically signs off on). This will act as a kind of contract that the effort will be measured against.

(1) http://www.urbandictionary.com/define.php?term=skate%20or%20die

By Craig "hachiroku" Mercer • Project Management (Macro) •

Aug 28 2012

Is it dead or alive (your project document that is)?

I had the opportunity to participate in a project management collaborative during the summer of 2012. The purpose of the collaborative was to conduct quality improvement sessions on the existing project methodology. The collaborative was conducted via small group break out sessions followed by a large group collaborative.

One of the main themes arising out of the sessions was around the subject of living versus dead documents. What makes a document living (changeable without strict change control) versus dead (changeable ONLY with strict change control)?

Living Documents
This was a topic of much discussion around the communication plan template in particular because our group had a formal sign off block on the template. The group questioned whether this was really useful or even appropriate since the communication plan is constantly being updated and executed as the project moves through the lifecycle. We all came to consensus that templates that are “living” should not have have formal approval (physical wet signature) but contain a structured accountability section (perhaps a RACI chart).

Dead Documents
So what about “dead” documents? The ones governed by strict change control which would include documents that authorize scope, budget and schedule such as: Project Charters, Project Plans, Statements of Work, Change Requests, Summary and Variance Reports etc.

Should stakeholders/sponsors be physically signing off on the document or should it simply be documented when they have been informed of or reviewed the document?

Our collaborative agreed that when we receive sign off on “dead” documents we will not go back and reopen them. Any changes to scope, budget and/or schedule will be reflected in the next project baseline document (project plan, statement of work, change request, final variance etc.).

When you put a signature on a “dead” project document it is in essence a contract between the project and the sponsors and then becomes subject to the same type of rigour that is put on a contract.

In project management we should always strive to only apply strict change control to documents that absolutely need it (due to contractual, audit or other criteria). To apply it to living documents as well would be a waste of time and money (sponsor meetings, presentations and the like) that could be used to much greater effect some where else in the project.

By Craig "hachiroku" Mercer • Project Management (Macro) •

Aug 2 2012

Responsible, Accountable, Consulted, Informed (RACI)

A RACI chart is a type of responsibility assignment matrix which helps in stakeholder identification of roles and responsibilities. RACI charts help you ensure that every task has an owner and that they know they are…because if more than one person is accountable for a task…neither are. Think of RACI as a “buck stops here” tool.

RACI Definitions
RACI Definitions

To build a RACI chart follow these steps:

  • Identify the activities
  • Identify the functional roles
  • Assign the RACI codes
  • Identify any gaps or overlaps – for example, where there are two As or no Rs
  • Distribute the chart, incorporate feedback
  • Reach agreement with all involved stakeholders
  • Go forth and conquer!
Sample RACI Chart of a Project Initiation Phase



By Craig "hachiroku" Mercer • Process Improvement (Micro), Project Management (Macro), Tool Box •

«< 2 3 4 5 6 >

Categories

  • Benefits Realization (1)
  • Change Management (2)
  • Maxims (5)
  • Process Improvement (Micro) (2)
  • Project Management (Macro) (14)
    • 02 – Planning (1)
    • 03 – Delivering (1)
    • Key Terms (6)
  • Quality (Systems Thinking) (6)
  • SharePoint 2013 (1)
  • Tool Box (3)
  • Variation (1)

Archives

  • September 2023 (1)
  • February 2019 (1)
  • December 2017 (2)
  • April 2016 (1)
  • April 2015 (4)
  • January 2015 (2)
  • September 2014 (4)
  • June 2014 (1)
  • November 2013 (1)
  • May 2013 (1)
  • August 2012 (2)
  • July 2012 (2)
  • June 2012 (6)

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

↑

© Order Out of Chaos 2026
Powered by WordPress • Themify WordPress Themes