This entry describes a case study describing an actual MRO (Maintenance, Repair and Operations) workflow approval process implemented in MOSS.
This is not an overtly technical discussion, but instead serves to provide a real-world example that demonstrates how the MOSS platform met a real-world need.
(This entry is cross posted between http://paulgalvin.spaces.live.com and http://blogs.conchango.com)
The client’s MRO process had been characterized by the following
- Manual approval process.
- Some support using excel spreadsheets.
- Irregular approval process. The same MRO purchase approval process would vary day to day, person by person.
- Lots of paper and hand-written signatures — purchase requisitions required up to 3 written signatures before final approval.
The objectives of this project included:
- Fully automate the process.
- Enforce enterprise standards for approval.
- Provide consolidated view of MRO purchasing to various managers.
- Detailed audit trail.
As a side effect of the solution, written signatures were no longer required.
The approval process consists of four "swim lanes": Originator, Direct manager, Functional manager and division manager.
Sees the need for the purchase and starts the process. Note that the originator may or may not actually enter the purchase requisition, but instead direct another staff member to do so. Some times, the originator does not have the technical expertise to fill out the PO requisition. For example, a user may want to requisition a new laptop computer, but does not know the best vendor, IT standards, etc. In this case, the originator works with IT and IT actually fills out the requisition.
This is the direct manager of the originator (which may be different from the person who actually entered the PO requisition into MOSS). Direct managers must approve the PO requisition before the system seeks approval further down the line.
The functional manager is the individual responsible for ensuring that the proposed purchase conforms to enterprise standards within the scope of a particular corporate function. For example, IT purchases are approved by an IT functional manager.
Division managers approve purchase requisitions strictly by dollar amount. Division manager approve purchase requisitions in excess of a configurable dollar amount.
We used the following tools and components to implement the solution:
MOSS: Serves as the platform off which everything else "hangs". MOSS provides bedrock services for security, master data, audit trails and other features.
InfoPath forms services: A MOSS component, this enables users to fill out purchase requisitions via a web browser.
SharePoint Designer (SPD): We used SPD to implement the automated workflow process.
Web Service: A c# web service enhances the user experience by enabling cascading selections lists in the InfoPath form and provides better performance with respect to filtering data. See here for a technical deep dive on this subject and our reasons for using it.
Custom Lists: MOSS user profiles provided a given user’s direct manager, but did not provide most of the data that controlled workflow decisions (e.g. whether the divisional manager is required to approve the PO requisition). We used custom lists in an "Enterprise Data" site to maintain data such as "Divisional Manager Approval Dollar Amount", "Functional Area Manager" and so forth. Lists integrated very nicely with InfoPath and also provide create/update/delete (CRUD) functionality with auditing and security out of the box.
This use case illustrates how the solution fits together:
- Paul wants a new laptop. He describes his needs to Vivek, an IT person familiar with corporate laptop standards, preferred vendors, etc.
- Vivek logs into MOSS, accesses the PO Requisition form and enters the requisition on behalf of Paul. The form prompts Vivek for a purchase category which then uses the web services to populate a drop-down list of company-approved vendors. Vivek also specifies the corporate functional area of this purchase (e.g. "IT" or "Finance").
- SPD based workflow starts, determines Paul’s direct manager and routes the requisition to his manager, Stacy.
- Stacy approves the purchase requisition.
- SPD workflow inspects the requisition and determines it’s an IT purchase. It routes the workflow to the IT functional manager, Wonson.
- Wonson approves the requisition.
- SPD workflow again inspects the requisition and determines that the purchase amount exceeds a maxium dollar amount and routes it to the division manager for approval.
- The division manager approves the purchase requisition.
- The use case demonstrates a "clean" run with no rejections or jumps.
- Every approver has the ability to approve or reject the requisition as well as provide written comments. These are logged in the audit trail.
- If a responsible manager rejects the purchase requisition at any point, the PO requisition is "dead" and the process must be started from the beginning.
- Workflow notifies the originator at every step of the process.
- No written signatures — the client determined (after some forceful recommendations) that the audit trail as provided via workflow history, served their auditing needs.
- Effort — it took approximately three man weeks to implement this solution.
This solution leverages MOSS as a development and run-time platform. The client was able to leverage core MOSS features to automate a routine business process that affected nearly every employee in the company. With the exception of a simple web service (which itself leverages MOSS), almost no actual "programming" was required.
The solution also serves as a "showcase" for the client, demonstrating how different MOSS features can be combined to create a fully featured business application and generate new consulting opportunities in the future.
MRO: Maintenance, repair and operations. These purchases typically include items such as notepads, chairs, personal computers, printers, cell phones and the like.