Examining Organizational Workflows under the hood of .NET


Introduction:

Being a software practitioner and also a hardcore .net developer there are numerous amounts of times in the recent years I come across the need of building a Workflow.  Almost every single corporate organization in this world use computer automation in one way or another, and when we talk about organization hierarchy and distribution of jobs with respect to roles we clearly see plethora of information moving within this hierarchy. As each piece of information may requires certain amount of sharing and collaboration before finally arriving at destination the need of a information workflows within organization is inevitable. In this article we will firstly we will see what organizational workflows are and how they fit into organizational hierarchy and make information move within this hierarchy, next we will look at couple of workflows that provides seamless integration with .NET, and provide SDK to build workflows in .net. Let's delve ourselves into the exciting world of workflows.

Examining the Basics of Workflows:

Firstly the question that adhere us is that of what is a workflow?, although there can be many definitions of that but to keep it simple I put it in this way "A Workflow is a well defined sequence of steps on which information moves , and at certain end point these steps leads to a completion of this well govern workflow". So we can think of a workflow as a set of steps and at each step we provide certain actions, that may or may not change the information itself but they certainly move it to the next step, and after passing through all these steps the workflow ends and all set of actions on information are completed.

Now if you got bit perplexed let take a moment to build a simple organizational hierarchy, later I will show how to build a information workflow in contrast to the organizational hierarchy. Let's consider a fictions financial organization namely "Stunner Corporation" , they follow a simple Hierarchy in their organization (see figure 1.0). To start with at the top they got a CEO (Chief Executive Officer), then comes HRD (Human Resources Head), next is Business Units (BU) , and under each BU there can be multiple employees . Moreover the Roles are also associated with the each designation, although for our explanation I am  keeping it simple but in a practical environment this roles with association to hierarchy can become chief factor in designing workflow.

Figure 1.0

Analyzing Organizational Needs for Workflow:

Now that we got a clear picture of Stunner Corporation's hierarchy, the next step is to critically analyze their organizational needs; usually this step requires understanding the company chief autonomous operations as these will later influence workflow design to a great extent. Now after analyzing the Stunner Corporation needs the following list is prepared , which contains the tasks that can be map to a workflow to achieve information automation along with the description.

  1. Need for Automotive Vocational Approval System:-

    Every employee in Stunner Corporation when wants a leave or vocation fills a form and give it to his/her Business Head (BH) , the BH forwards this request to HR which made decision either to approve it or reject it and inform the employee accordingly. Now the major obstacle the organization is facing is that of time constrain, as according to company policy every request for vocation must be completed in 3 days, but due to the large number employees this is not possible, as a result now they want to deploy a system which can remove the manual work with computer.

  2. Need Employee Compliance System :-

    According to company HR policy any employee can file a complain , the complain goes straight to HR where Hr made a decision and forward it to the employee BU head who adds his comments on it and finally forward it to employee and also informs the CEO about the completion of employee request .As their current  compliance system consist complete of  manual manipulation its not only takes weeks before the compliance can finally be responded its also leave open hole for information leak as some complains are highly sensitive  in nature . The company wants a complete computerized system to handle the compliance request along with information being move securely.

Designing a Workflow:

Now that we have enough knowledge about organizational procedure we before move to next level to start designing the Workflow let us see some building blocks of Organizational Workflows. Later in this article we will examine different Workflow Building tools available in the market, but the main point to note is that the major conceptual model or building blocks are quite similar if not same . So it's important to learn the basics of workflow designing without associating with any specific vender.

Let's build a generic workflow design for a Vocational Approval System discussed in the previous section. First take a moment to build a list of steps that are potential workflow steps and define in a clear and concise manner what step to be perform , we must also identify the starting step and  final step(s).I made simple table of steps and actions to be perform on that step , I also mark the step as start , end and intermediate according to the nature of step (see Table 1.0)

Step Step Type Role Player Description /Action Performed
Submit Leave Request Start Employee Employee fills and submits the request for leave/vocation.
Business Head processes request Intermediate BU Head Bu Head overviews the employee leaves application and adds his/her comments on it.
HR process the application End HR Manager HR Manager overviews the leave application and either rejects or accept the application , and final result is emailed to the employee

As we now had narrow down each step concisely and clearly, we are ready to start building it , but one thing is still left and that is the identification of use of automation at each step, for example company BU Head should get the vocational application if and only if the employee asking for leaves has enough amount of leave left . Moreover the applicant credentials must be kept synchronized as once his/her leave is approved the automatic detection from his/her leaves should be done. The crux of the matter is that we must look for either existing or build some new MIS System to facilitate the workflow, this is important as workflow can itself maintain bulk of information but Organization level information must reside in separate MIS . Infract in our scenario the Stunner corporation facilitates a complete Database in Microsoft SQL Server that stores all Organization  wide knowledge base from employee complete credentials to daily reminders.

If you feel a bit lost its ok, just keep in mind that in corporate environments where you are going a task to build a workflow the chances are you had to use their existing systems and build your workflow as a participant not a entire new system that requires their existing systems to change drastically. By the way for the keeping the example simple I am using a very simple Database and we utilize it only for the information validation and updating purposes. Lets move back and try to put validation into action so that every step is synchronized with Organization Knowledge Base.

Putting Information Validation Rules into Workflow:

In the start of the workflow we must handle the validation of each request, let's try to inject validation in our workflow (see Table 1.0 for workflow steps). The utmost validation check is of employee current leave balance, the system should reject a leave application if the employee current leave balance is less than of what he is asking for , as for example it wouldn't made any sense to continue with the  workflow if employee don't had any leave(s) left . Although at this point a developing inclined reader might argue that why we even give an employee a chance if his/her leave balance is zero? , the answer to this lies in the pillars of Organizational Rules, usually employee making leave requests are kept for log, and this can be used for various analyzing purposes in the future, so denial of request should only be done by a workflow and not at certain point of input by directly using the knowledge through the system even if its is available. Following are the business rules that we will inject into workflow.

  • The current number of leaves left for the employee making the request should be greater or equal of what he/her is demanding for.
  • In case of absence of HR the request should be get back to employee with clear mention of the reason for this delay.

Now lets sum it up into a sequence diagram (see figure 2.0)

Figure 2.0

As its evident from figure 2.0 that Organizational Workflow can get immensely complex, In out case we only interact with Database for getting the user left over leaves but in more practical scenarios we may want to do much more interaction with the database, moreover the interaction mode b/w computer and human can take many forms including emails , sms , voicemail  etc. In the next section we take a tour of Workflow Software's available in the market. The workflow software that I discuss I in the later sections provides SDK and claim native support in .NET. But to be honest only one of them truly deserve to be stated as fully .NET integrated and
that is K2.Net Workflow which is discussed in the next section.

A brief look into workflow software's in the market:

There are bunch of workflows available in the market, but only couple of them really serve the purpose, and only one of them is true .NET complaint, others provides very cheap wrapper from .NET which left the developers in the middle of nowhere. The following is the list of three Workflow Solutions that are widely used and provide or states to provide full integration with .NET.

Workflow Solution Name Description
K2.Net Excellent Workflow solution, fully support .NET Framework, integration with Share Point Portal 2003, Info Path Forms to name a few.
Captaris TeamPlate Workflow Average Workflow Solution , supports .NET Framework but quite buggy due to cheap COM wrapper .   integration with Share Point Portal 2003 , MCMS  2002 , InfoPath and Exchange 2003 .
Ultimus Business Process Solution A widely use business process modeling solution with had workflow as one of its component. No direct integration with .Net but provide way to interact with external components. Provides support for Share Point Portal Server 2003 , InfoPath , Exchange to name a few.

In the next installment of this series we will look into K2.NET workflow and its SDK, till then Happy Programming .


Similar Articles