After some fairly extensive proof-of-concept work, I had the opportunity to meet with some of our engineers this week to review our plans for the “system” of SharePoint lists, libraries, interconnecting metadata and workflows required to track the recommendations the engineers make as a result of their inspections. Wow, was that really one sentence? Sorry. Everything that I took to the meeting was wired together to support a smooth flowing business process. Of course, this was a review with the end-users, the people who know how that smooth process goes off the rails.
As I worked my way through the process flow I described last week, a question emerged. I had described how, in order to avoid processing a recommendation, only to have it be removed after review, the main workflow wouldn’t run until the report status was final. They pointed out that while that was logical most of the time, during the group review meeting they need to review all recommendations, including the ones that are “about to be released.” No problem, the workflow can be started manually. Also, we will add another little bit of metadata to prevent duplicate updates from occurring when the report gets released.
We spent a good deal of time reviewing the way the workflow was processing the text of the Word document. “What if the order (New, Pending, Open, Closed) was mixed up?” “What if we refer to a recommendation inside the text of another recommendation?” “What if the status e.g. ‘pending’ is used in the body of the recommendation?” All good questions, but none of them are show stoppers.
I had been tipped off to the fact that the various status states could appear in any order. The good thing about processing text with the aid of a Regular Expression is that I don’t need to care where the text is. Also, the format of these reports allows me to distinguish between “Pending” as a section header and “pending” as in “the reason this recommendation is still pending…” Same with the recommendation numbers, HarePoint’s workflow extensions lets me distinguish between a number used as a title and the same number used in text. There’s no magic here, when these strings are used as headers, they are either preceded or followed by CR/LF combinations.
The next question revealed a bit of the process that I was not aware of, “what about recommendation status changes that result from a phone call or an email?” I had to stop and think, and I had to remember that:
SharePoint “systems” are still in SharePoint.
In other words, everything that the workflow is doing can be done (or undone) by humans. Engineers love hearing that. They love knowing that there is a ‘manual override’ or a way to start, stop and derail a process without having to call the IT Guy. Of course, I mentioned that while phone calls would require a manual entry, we could easily apply a similar workflow to an email-enabled library. In that case, the engineer could simply CC SharePoint and let the automation happen. We opted not to add that feature, but it’s always nice letting people know that SharePoint is prepared to go even further.
The final significant questions were focused on the recommendation review process itself. The process starts with a recommendation by one engineer. The group reviews the material and decides whether to accept, reject or modify the proposal. “Can we differentiate between what the account engineer proposes and what the committee approves?” “Yes, absolutely, how do you want to do it?” Options include:
- Change a bit of metadata in the item from ‘proposed’ to ‘approved’
- Keep the proposed version of the item in addition to the approved version
- Duplicate the proposed item as a stub approved item at the start of the review process
They opted for the third choice. They wanted a visible trail to indicate the activity. I pointed out that we could build columns into the item so each item could store before and after versions of the metadata, but that seemed messy.
The last question was kind of a bonus question: “is there any way that all this stuff can help us document the proceedings of the review committee?”
“Yes, yes it can.”
Given the choices that they made, it will be pretty easy to prepare a composite view of the proposed items and the approved items that will provide a chronology of what took place. We won’t be recording the conversation, but we will be documenting the results.
The really cool part of this conversation was that, with the exception of a few tricky bits from HarePoint, this can all be brought to our engineers courtesy of out-of-the-box SharePoint. Microsoft baked some serious power into this product.