The Infosys Labs research blog tracks trends in technology with a focus on applied research in Information and Communication Technology (ICT)

« August 2010 | Main | October 2010 »

September 29, 2010

Network Latency in Performance Tests

In performance testing, the response time of web pages at the client end (browser-side) is an important measure.  It indicates how end users perceive the performance of the system at large. Even if an application is able to serve requests faster, the client-side response could be impacted because of network delays. In a complex, resource intensive web page - this impact is amplified as the client may have to do multiple round trips to the server to fetch web resources for loading the complete page. Thus, in troubleshooting any performance problems, it is important to isolate and understand whether the problem is with the system or the network.

The average response time of an URL at client-side as measured by most load testing software comprise of two elements - the time taken by the system to service the URL request (which is a characteristic of the system), and the time spent by the URL request/response traveling in the network (which is a characteristic of the network).

A web server's http access log, configured to include the 'Processing-Time' (or 'time-taken') field would indicate the time taken by the server to process a given URL request. Correlating this with the average response time data given by most load test software, you could easily arrive at impact of network latency for individual URLs.

To illustrate this, here's a sample web server log generated by JBoss server. The last field, in this case, denotes the 'processing time' of a request in milliseconds. Using a web log analysis tool, the average time taken to service individual URLs could be measured.

##IPADDRESS##159 - - [29/Jun/2010:03:23:51 +0000] "GET /MyApp/pages/SignUp.jsf HTTP/1.1" 200 661
##IPADDRESS##159 - - [29/Jun/2010:03:23:51 +0000] "GET /MyApp/pages/SignUp.jsf HTTP/1.1" 200 880
##IPADDRESS##159 - - [29/Jun/2010:03:25:31 +0000] "POST /MyApp/pages/Search.jsf HTTP/1.1" 200  14088
##IPADDRESS##159 - - [29/Jun/2010:03:25:31 +0000] "POST /MyApp/pages/Search.jsf HTTP/1.1" 200  12140
##IPADDRESS##159 - - [29/Jun/2010:03:26:28 +0000] "POST /MyApp/pages/Select.jsf HTTP/1.1" 200  2155
##IPADDRESS##159 - - [29/Jun/2010:03:26:28 +0000] "POST /MyApp/pages/Select.jsf HTTP/1.1" 200  2174
##IPADDRESS##159 - - [29/Jun/2010:03:26:32 +0000] "POST /MyApp/pages/Detail.jsf HTTP/1.1" 200  2355
##IPADDRESS##159 - - [29/Jun/2010:03:26:32 +0000] "POST /MyApp/pages/Detail.jsf HTTP/1.1" 200  2552
##IPADDRESS##159 - - [29/Jun/2010:03:36:55 +0000] "GET /MyApp/pages/Confirm.jsf HTTP/1.1" 302  269
##IPADDRESS##159 - - [29/Jun/2010:03:36:55 +0000] "GET /MyApp/pages/Confirm.jsf HTTP/1.1" 302  241

Now, for the same application, below is the data on average response time obtained through a load test tool.

 

Page

Avg RT

/ MyApp /pages/SignUp.jsf

21099

/ MyApp /pages/Search.jsf

37619

/ MyApp /pages/Select.jsf

10774

/ MyApp /pages/Detail.jsf

29193

/ MyApp /pages/Confirm.jsf

1372


The difference in response time observed by load test tool (client-side response time) and the web server http access log (server-side response time) would give an indication of the impact of network latency. Such information adds a lot of value into a test report and enables a performance analyst to narrow-down problems faster.


September 23, 2010

Process Modeling Series VI: What do you want to model as part of Enterprise Business Process Modeling?

As discussed in the initial blog, enterprises are organized structurally as business units/departments/divisions and virtually as functions; all these organization are in turn to enable business processes for bringing out products/services to customers effectively. Michael Porter's classic Value Chain principle is a better way of looking into an enterprise structure - primary functions (inbound logistics, operations, outbound logistics, marketing & sales, services) which bring in products/services to customers and support functions (firm infrastructure, human resource management, technology development and procurement) which support the overall process of bringing value to customers. Michael Porter introduced Value Chain Analysis as a 'systematic way' of examining all the activities a firm performs and how they interact for analyzing the sources of competitive advantage. Value Chain disaggregates a firm into its strategically relevant activities in order to understand the behavior of costs and the existing potential sources of differentiation. With this in mind, we can safely utilize Value Chain analysis as a start for process architecture definition and by defining the primary and secondary functions of the enterprise first and then drill down hierarchically identifying major business processes. Once major processes are listed down, then using a process modeling methodology and process modeling tool one can get into the act of information gathering exercise and model the business processes along with all possible business resources that are part of the business processes.

The other viewpoint is to take a 'Value Stream' view, which cuts across the structural set of business units/divisions as well as virtual organization of business functions (CRM, Supply Chain, etc); an enterprise can be divided into typically 12 value streams like order to cash, concept to design, manufacturing to distribution, recruitment to retire etc. A classical information rich 'Enterprise - Value Stream or Capability Hierarchy' description can be found in the following link - http://www.enterprisebusinessarchitecture.com/model/Enterprise%20-%20Entity/Enterprise%20-%20Value%20Stream%20or%20Capability%20Hierarchy.htm (by Ralph Whittle & Conrad Myrick - authors of 'Enterprise Business Architecture - The formal link between strategy and results' book). This will give an idea of defining an enterprise and how to drill down to major business processes part of the value stream and from there defining the details of the activity/task flow using a process modeling methodology and tool.

So, for an enterprise wide process modeling there are two top-down approaches to identify and list business processes - one is a value chain based approach and other is value stream based approach. Both these views are quite efficient in nature to see the bigger picture of the enterprise in terms of business processes and of interest to the top management community. If I have to provide a representative view of a value chain based approach for process modeling for a generic enterprise, I would represent the bigger picture as something like this - this is just a representation and is not complete or real life enterprise representation:

Process Modeling Blog VI.gifThe significant idea in this representation is that we have the Corporate Planning and Performance Management process that involves business planning, strategy formulation and business motivation development as a value stream that can be represented in detail through hierarchically listing down the various business processes part of this stream. The Primary Functions/Operations involves Production/Manufacturing & Services Design & Development and other major business processes as represented - these value streams can be broken down further granularity and business processes are to be modeled. For Secondary Functions - there can be two classifications - one business enablement and control and other related to human resources; subsequently these major processes/streams can be represented in more detail by hierarchically breaking down the process flows. One draw back in this representation is that no where we see 'customers' here - so it is highly necessary to include customer side view point - wherein the journey of how customer reaches out to the enterprise and how the enterprise reaches out to the customer is to be modeled and analyzed for better results. Modeling "Customer Journey and Handshakes" processes is crucial for improving business processes apart from having a wider & bigger representation of the enterprise itself through value chain or value stream representation.

I would like to quote one important insight from the book "Improving Performance - How to manage the white space on the organization chart" by Rummler and Brache. Rummler and Brache communicate that "Many managers don't understand their businesses. Given the recent "back to basics" and "stick to the knitting" trend, they may understand their products and services. They may even understand their customer and their competition. However, they often don't understand, at a sufficient level of detail, how their businesses get products developed, made, sold and distributed. We believe that the primary reason for this lack of understanding is that most managers (and non-managers) have a fundamentally flawed view of their organizations". With this insight, they go on to communicate that there are three standard ways of viewing an enterprise - 1) The Traditional (Vertical) View of an Organization 2) The Systems (Horizontal) View of an Organization and 3) The Organization as an Adaptive System; the authors list the details of these views in the book.

From the above insight, we can clearly have a take away - "viewing the organization" with a sufficient level of understanding is essential and I would suggest that this answers the question of the blog - what would you like to model as part of Enterprise Process Modeling - one would like to create "views" of the organization as process architecture blueprint and from there drill down to the lower levels of information detail of how a product/service is made, developed and reaches customers. It is foremost importance to educate managers and process modeling is a better language to do that; if managers are aware where do they stand in the giant enterprise machinery and how to do they contribute to the satisfaction of customer - it is the first step for process improvement. So, join the journey of Enterprise Process Modeling and travel the path from enterprise side and from customer side and fix the gaps and breaks so as to improve business and customer satisfaction!

In subsequent blogs we shall discuss the operational aspects of enterprise process modeling - the complexity associated with the effort and how to attack the operational hiccups.

September 22, 2010

Identifying Network Latency is the key to improve the accuracy of the System Performance Models

Network plays an important role in defining the user experience for a distributed application accessible over the internet. Majority of effort is focused on improving the response times at server; however the time it takes for the response to reach a client cannot be neglected. Network latency is a measure of the time delay observed when a packet of data is transmitted from one designated point to another. Some usages also term network latency as the time spent by the data for a complete round-trip i.e. from source to destination and from destination back to source.

 

In an ideal network, data should be transmitted instantly between one point and another (that is, without any delay at all). However there are different elements that introduce their own respective delays and in turn contribute to the factor of network delay. Following are the few key factors:

  • Network Interface Delays: It is the time the designated point in the data transfer, sender or receiver, take to convert the data into or from the physical data transfer media.
  • Network Element Delays: It is the delay caused by various activities performed along the path by different network elements like routers, switches or gateways. These activities can be any of the following:
    • Processing: The time spent by these elements to process the received packets of data to determine what action needs to be taken
    • Forwarding: The time spent by routers and switches to understand and switch/forward the data to designated destination
    • Queuing: The time spent at the routers and switches while the packet is waiting to be forwarded to the destination. (This queuing happens because only a single packet can be forwarded by the routers/switches at a time to a destination.)
  • Network Propagation Delay: It is the time spent by the data in the travel through the physical transfer media.

So there is an amount of time spent in the transfer of the data from a source to a destination. Considering the importance of the quicker responses from the server machines expected today, even a slightest of the delay because of high-latency network can significantly degrade the overall application experience for the user.

 

Moreover in any distributed application environment, this network also exists between different tiers, for example web, application and database tiers. So together it finally forms a significant part of the overall transaction response time observed at the client side.


NetworkLatencythroughTiers.png

Network Latency (NTime) forms a significant part of the overall response time observed at the client end, along with the server processing time (Proc).

Performance engineers aim to include every possible component that adds to the response times, and thus to the server utilizations and transaction throughputs, in the system performance models. However one tends to model only the components for which the effort asked for by a particular task is known. So a web server, an application server or a database server processing a task can easily be modeled as the service demand values for the particular servers can be found during the testing phase too.

However network latency still remains comparatively complex part to calculate based simply on the testing results. We can calculate the network latency from the production data. But that asks for additional monitoring data which tends to further delay the modeling exercise. Moreover in case the data cannot be produced, it also asks for an additional investment in monitoring setup. Hence network latency factor happens to be neglected or be assumed as a constant delay, thus adding to the inaccuracy of the model.

Accurate identification of these network latency values at different server tiers through a comparatively easier and efficient way will definitely improve the accuracy of the overall system performance model.

September 21, 2010

Process Modeling Series V: Value Proposition for Enterprise Process Modeling

Oops....the big question - what are the benefits and value proposition of Enterprise Process Modeling and how one can sustain them? - More closer to questions like benefits of Enterprise Architecture or benefits of BPM or benefits of SOA which researchers, academics and practitioners are trying to provide concrete and up-to-date answers. We need to be a little clearer here on how process modeling fits into an organization's wider programs/initiatives. There are multiple theories wherein one can fit process modeling: process modeling can be fitted into business architecture which is again part of enterprise architecture, one can fit process modeling into BPM initiative, or one can fit process modeling as part of the business excellence function of the enterprise which is to ensure business processes are improved upon, or one can fit process modeling into any other initiatives like lean management, six sigma etc. So, wherever enterprise wide process modeling fits into, I can list a standard set of 18 value propositions that can be achieved out of process modeling:

1.    Ensuring Robust Architecture - multi level architecture drill down with standard set of symbols and elements through modeling business processes

2.    End to End Process Connections - create and develop various views through modeling - enterprise value chain view, function view, business division view etc for decision making

3.    Consistent terminology/methodology - utilize consistent approach if the enterprise is using various tools - Aris, Casewise or Visio etc to make people speak same language

4.    Repository Control & Governance - establish high quality repository through governance for better reporting out of the process modeling tool used

5.    Process Improvement - Structure process models for improvement and enable root cause analysis and knowledge management through stakeholder involvement

6.    Best Practices Pool - develop best practices pool for modeling standards and identify quick wins for process modeling effort and improvement projects

7.    Knowledge Management using process models - collaborate, idea management, best practice management and learning aids

8.    Business Intentions and Process Models - Pilot or model organizational wide upcoming scenarios through process models; develop a live scenario and represent them through models

9.    Document Customer Journey - Build process model for particular customer journey to see handshakes and communication gaps

10.  ERP Package Implementation - standardize ways of analyzing processes supported by ERP and non ERP applications

11.  Process Measurement - Charting, reporting out of the process modeling tool and for business intelligence as whole

12.  Process Ownership - identify an owner to the process

13.  Enterprise Architecture Effort - Technology Architecture is to be supported by Business Architecture or the vice versa - model business process to support technology decisions

14.  Simulation - Model first to simulate and identify critical paths (though the real time usage of business process simulation is less utilized in business enterprises)

15.  Impact Analysis - business impact analysis through process models and their associations

16.  Help define new processes - you need to model it to socialize it

17.  Process Reusability Scenarios - standardization and harmonization is possible through process modeling at first place

18.  IT Requirements modeling - surely will help for robust requirements and minimal missing requirements and I have practically experienced this

Without a clear picture on value of process modeling, it is definitely going to be a turbulent journey all the way - if organizations are starting with a process modeling journey it is advisable to have a structured 3 months, 6 months and 12 months goal and ways to achieve them. Without destination, the journey can take any path and might not be useful as it will not be there when it is needed. Ensuring that the "motivation" aspect of the process modeling framework that I have talked about earlier is in place will breed success for the effort. There are various other frameworks that practitioners can adopt including balanced scorecard, process maturity analysis framework etc to define and govern process modeling value proposition. Understanding the business scenarios which are to be tackled within the enterprise - M&A scenario, Business Unit Transformation scenario etc can further help define goals and utilize process modeling which definitely can be used to talk loud on value proposition. If process modeling and analysis is used for Enterprise Decision Management that is the ultimate trophy for process modeling effort; EDM mostly utilizes business analytics and intelligence stream for decision making.

Chart out your journey for process modeling and then ensure that value proposition is listed out all along the journey goals!

September 20, 2010

Process Modeling Series IV: Process Hierarchy and Granularity Definition in Enterprise Process Modeling

Thumbnail image for Process Modeling Blog IV.gifBusiness Processes are defined or modeled hierarchically so as to comprehend them easily. Processes are decomposable to multiple levels of granularity till then one reach the basic atomic task which further cannot be decomposable and doesn't make any meaning. Business Process Architecture definition usually starts with hierarchical process definitions up to a certain level of decomposition (major processes) and then business processes (minor processes) are represented as a 'flow' detailing how work/task flows among business roles and gets accomplished. Major Processes are represented hierarchically so that one can understand the value streams, the subsequent process groups that are part of the value chain which are more of major processes that cannot be represented as "flows"; for example, Accounting to Reporting is a value stream which in turn contains major processes like, accounts payable, accounts receivables, intercompany processes, reporting processes etc. These major processes can once again decomposed to subsequent levels wherein one can represent them as flows detailing how the activity/task is performed by organization roles.

There are various references one can find in literature regarding process architecture hierarchy representation. Here I summarize through a comparison of process architecture hierarchy representation through literature survey:

Process Modeling Blog IV.gif

1.    BP Trends (Refer: Book: "Business Process Change - A Manager's Guide to Improving, Redesigning and Automating Processes" by Paul Harmon): Suggests a Value Chain perspective per se and we can strongly interpret that a 'Major Business Process' can have minimum three levels of sub-granularity depending on the process complexity nature.

2.    ARIS Hierarchy (Refer: Book: "ARIS Design Platform - Getting Started with BPM" by Rob Davis): According to ARIS approach, a process architecture typically consists of 4 to 6 levels of process models. Besides the structure of process models, the architecture representation shall also include other views of the ARIS concept (e.g., organizational diagrams, data models, objective diagrams, IT landscape model etc). There are 6 levels of representation and it is difficult to comprehend the business process hierarchy easily.

3.    Value Creation Hierarchy (Refer: Adopted from article of Geary Rummler and Alan Ramias, Performance Design Labs for BP Trends): One can clearly see here that processes decompose into sub processes and further into tasks (activities if one like to call) and then to sub-tasks (tasks if one like to call).

4.    Generic BPM hierarchy: Easy to interpret - start with Mega Processes which decompose into Major Processes. Major Processes in turn can include granularity of three levels - sub process, activity and tasks. This representation enables modelers and analysts to structure the business processes so that one can easily comprehend them.

5.    eTOM Model: (Refer: www.tmforum.org ): As per eTOM reference model, the first level - Conceptual Level (Level 0) is more like an organization view. Level 1 (Top Level) is more like Value Chain; Level 2 (Configuration Level) & Level 3 (Process Element Level) is more like Process & Sub Process level; Level 4 (Implementation Level) corresponds to activity flow wherein roles become visible - more of a flow representation.

6.    SCOR Hierarchy (Refer: www.supply-chain.org ): As per SCOR hierarchy, the first three levels are higher level representation of the supply chain function and below level 3, each process element is described by classic hierarchical process decomposition into any number of levels.

7.    APQC Hierarchy (Refer: www.apqc.org ): APQC suggests four major levels - Category, Process Group, Process and Activity. Category includes Operating Processes and Management & Support Processes - 12 in number. According to APQC PCF, activities are then specific to individual enterprise in the industry wherein they will be differentiated for gaining competitive advantage.

Based on the comparison above, it is clear that in process architecture definition, process hierarchy and granularity definition is a crucial step. But this varies from enterprise and enterprise and can also vary for function to function in the enterprise. It is important to have a definition of process architecture terms clear so that one can easily refer to them so as to avoid confusion in process hierarchy definition. Here is my attempt to define the various levels in a process hierarchy - seven levels while some of the levels can be broken down further as per the complexity of the process in representing them in a process model:

Process Modeling Blog IV_2 Revised.gif

These generic business rules help in defining the "granularity" of the process (or activity or process item) within the 7 levels of hierarchy terms defined here. Though one might not be so worried in stand alone process modeling for system development or process improvement within a function, but when modeling is done at an enterprise level, it becomes crucial to have a definition for process hierarchy and business rules for process granularity definition. Once done, this helps enormously in comprehending business processes and increases knowledge transition of processes easily!

September 16, 2010

Process Modeling Series III: Composite Business Process Modeling Framework - components of enterprise wide process modeling initiative

Thumbnail image for Process-Modeling_Blog-III.jpgProcess Modeling at an enterprise wide level is now a days a major initiative in many organizations. There are heaps of case studies in APQC website (refer: www.apqc.org ) wherein enterprises have communicated their journey towards business process management and enterprise wide business process modeling initiatives - particularly the case studies regarding Boeing and Coors were very useful. The Process Classification Framework (PCF) from APQC is a very good start for any organization as a reference model to structure and understand their business processes (refer: http://www.apqc.org/pcf ). There are industry wide standard classification for PCF - banking, automotive, broadcasting etc and each of these reference models list the high level business processes starting from the value stream (or at times as the primary business processes and support processes) and drill down subsequently to two or more levels (up to activity levels) and enterprises can make use of them as a head start. Many process consultants also come with this kind of reference models for consulting purposes to ensure that all aspects of particular industry specific processes are captured. There are other reference models like SAP Reference Model, TOGAF Business Architecture Content Framework/Metamodel etc which are also helpful.

Given there are various reference models, but the program or initiative any enterprise undertake for process modeling should in-turn have a framework to ensure that the program/initiative is structured well and taken to the wider audience/stakeholders across the enterprise. A framework is something like organizing things for easier interpretation - for example, if we go to a home, we are immediately able to recognize where is the dining area, reception area, hall, kitchen, washrooms and bedrooms; and once you go to kitchen, we are able to interpret where one can find fridge, burner, cooking utensils and cooking items - so this mental framework helps us distinguishes things and breaks them into components and we are in-turn able to appreciate the whole "home". Similarly, a process modeling framework shall help structure the components of the initiative and the subsequent tasks that are part of the framework which will be easier for stakeholders to understand and contribute further. One can also say this is something like a framework for setting up and sustaining a process modeling center of excellence. Please refer to this wonderful article for BPM Framework provided by Rosemann et al for BPTrends website (http://www.bptrends.com/publicationfiles/FOUR%2009-09-ART-Framework%20for%20BPM%20Ctr%20Excellence-Jesus%20et%20al.pdf ). This is a classic example of a "framework" for BPM.

Now coming to a Process Modeling Framework, from my viewpoint and experience there are seven major items that a process modeling initiative should contain and here I detail the seven components: I would call this as Composite Process Modeling Framework for enterprise wide process modeling:

Process-Modeling_Blog-III.jpg

 

1.    Motivation - Motivation for why the enterprise has opted for an organizational wide process initiative and what they are wishing to achieve. Motivation part of the framework shall include the following aspects:

a.    Vision - Vision of the initiative - what is the ultimate goal of the process modeling exercise and what the enterprise wishes to achieve in the long run

b.    Mission - Mission of the initiative - the short term goal that the enterprise aim to address using process modeling so that it can impress stakeholders with some short term achievements of importance

c.    Objectives - define the objectives of the process modeling exercise; what are the factors associated with/for ensuring success of the program; this will in turn help define the key performance indicators for the program/initiative

d.    KPI - performance indicators for the program; define what is considered success for process modeling exercise and in turn define the indicator that can help measure the same.

2.    Governance - Governance is all about two major things - a) what are the decisions to be made and b) who will make these decisions. We need to be clear here in one thing - Process Modeling Governance is different from Process Governance itself. Process Modeling Governance is about ensuring that there are structures and patterns/policies are in place for what/where/why/who/when/how process modeling will happen. The representation of processes as a model is to be useful to the stakeholders and various stakeholders might have various requirements; process modeling governance shall ensure that all the end requirements are met as well as things are in structure. Governance part of the framework shall include the following aspects:

a.    Governance Framework - a framework defining how to classify decisions based on impact of the decision on the program; based on the impact, list the stakeholders who are responsible for the decisions/outcomes involved; based on decisions/outcome define how it can be implemented. This Governance Framework should have to be adhered strictly and templates are to be defined to explain the sequence/logic on which decisions are taken up. It is to be noted here that this Governance Framework is always evolving and should be visited for changes at regular intervals.

b.    Maturity Framework - a framework defining how one can classify the state of affairs for process modeling across the enterprise; this about creating a universal five stage set up enabling the key stakeholders to do a review at regular interval to understand where exactly the program is at a particular time; the process modeling maturity stages might include the usual stages for any maturity framework - basic or initial, repeatable, defined, managed & optimized (though I don't know why all maturity models have five stages always!!). All these stages has to be defined taking into consideration as per the organizational/enterprise current scenario.

c.    Operating Model - this is very important for the success of the overall program and it is also crucial to be defined as part of the Governance aspect of the process modeling framework. Operating Model is all about how the entire program is to be run and who are all the roles involved and what are their responsibilities. Roles and Responsibilities are to be very clear in process modeling initiatives because is all about information collection and presentation of the same information in a common understandable manner; so who will model, how often one will model, and how efficient the modeling environment will be - this is to be very clear. There are multiple operating model categories that one can think of - having a centralized team catering to all business functions/units for process modeling; business units taking care of their own processes and model them with some training; is process modeling can be effectively offshored and how much quality we are expecting for process modeling - all these are factors that help decide the operating model.

d.    Alignment with other enterprise initiatives - Process modeling effort should adhere to other organizational level initiatives like enterprise architecture, business process management, six sigma, lean processes and other quality assurance programs if any. Governance should be applicable for enabling how one ensures that process modeling is in line with the objectives of the other major initiatives.

3.    Modeling & Architecture Definition - This is the main part of the entire initiative - the "modeling" of business processes. Modeling at enterprise wide has its own challenges and various approaches/methodologies for to address variety of requirements from stakeholders. The various aspects of modeling & architecture include:

a.    Process Modeling Methodology - A standard up-to-date process modeling methodology is the foremost important thing. Usually there are various tools that are applicable in any modeling environment and we shall talk about the tools in the subsequent section. But a methodology is all about what information that is to be gathered, how these information are to be represented using a modeling approach/methodology (EPC, Flow charting, Catalyst Approach, Petri-net etc) and what are the rules around which we are going to model business processes; the rules include the semantics for process modeling and things like meta-model definition, hierarchy definition, various models that are to be represented (process model, organizational model, location model, KPI model etc) and how to relate process information effectively. Depending upon the level of information needed and available for modeling, process modelers/analysts go on to capture using a common language with the help of the defined methodology and represent business processes as models for analysis. Apart from information requirements, process modeling methodology must also be flexible enough so as to accommodate various end goals through analysis of process modeling including knowledge management, simulation analysis, system requirements etc.

b.    Architecture Definition - Architecture Blueprint definition is one of the key aspects for enterprise level process modeling. A top down approach for process modeling ensures that the higher level business processes including Value Streams are represented as frozen levels and then the subsequent level or hierarchy of process modeling are modeled as per the needs and information availability. Without proper classification of enterprise process architecture blueprint, it becomes very difficult to hook-in and hook-out process models of lower level granularity. Also freezing the top levels of minimum 3 to 4 hierarchy ensures that stakeholders are able to relate to process flows across various functional and organizational boundaries of the enterprise. Please refer to my previous blog detailing how to define a Process Architecture Blueprint - http://www.infosysblogs.com/setlabs/2009/11/process_architecture_blueprint_1.html#more

c.    Process Modeling Quality - Ensuring process modeling quality through a structured approach while modeling at an enterprise level is very important. This includes enforcing the adopted methodology so that important things are taken care of leading to effective analysis of process models. Some of the basic hygiene quality issues include utilization of proper verbs for activity modeling (Verb Standards), utilization of proper role definitions/swim lane roles across models (Role Standards), utilization of standard hierarchical definition of processes - major processes, minor processes, activities and tasks (Hierarchy Standards), utilization of standards for representing process associations (Association Standards) etc. All these quality assurance aspects when followed effectively ensures that process models are kept live longer for better knowledge management.

4.    Library Management - Process Modeling Library Management is an important aspect as part of process modeling framework - this is the mechanism which ensures that the process models are available to various stakeholders in various formats as it is applicable for. Process Model library is the repository or warehouse for storing process models in a structured way so that all the process models are available easily to right stakeholders - there are statistics stating that the number of process models/diagrams in an enterprise can range from few hundreds or up to 3000 in number. The usual mechanisms include html repositories, portals, team spaces, word, PPT, excel or PDF documents and on demand reports. Following are the various aspects that are part of Library Management:

a.    List of process models - hierarchical as well as alphabetical process models

b.    Process Modeling Glossary

c.    List of models other than process models

d.    Search, View, Comment & Permission features

5.    Tool Administration - Another critical part of enterprise wide process modeling - there are various tools available in the market and tool is a crucial vehicle for modeling as well as analyzing business processes. A standard operating procedure for tool administration is a essential for success of enterprise process modeling. The critical aspects under this topic would include:

a.    Tool Availability and Access

b.    Management of Users and Stakeholders

c.    Ensuring Tool operations and import/export of data in required format

6.    Stakeholder Management - This part of the framework is people management part of the exercise - without people there is no information gathered and with no information there is no success. Stakeholders for such a large exercise include from top management, to enterprise architect community, to BPM stakeholders & to employees implementing processes in real life. Buy in of stakeholders for the program, ensuring stakeholder availability and ensuring stakeholder needs are met is nothing but essential for successful implementation of process modeling exercise. There are various literature surveys available for stakeholder management for large BPM exercises and the issues that arise because of poor stakeholder management. TOGAF 9 has included a special chapter on Stakeholder Management and this shows the importance of this part in the framework. The critical aspects under this topic would include:

a.    Buy-in from various stakeholder communities for the program

b.    Communication and engagement of stakeholders

c.    Stakeholder time and effort management

7.    Training - Training to enterprise employees is last but not least in the framework; ensuring proper training on the methodology concepts and tool administration shall improve results effectively. In fact, the number of hours of training for employees is an important KPI. Training aspects vary from enterprise to enterprise depending upon the stakeholder community interest and requirements.

This framework is very generic in nature and depending upon the nature of the initiative enterprises can have multiple other aspects added to the framework.

Server Consolidation - Key Considerations

Next Generation Data Centers (NGDC) would be a combination of shared, virtualized, automated, and fully managed adaptive infrastructures.

Virtualization, one of the key capabilities of data centers could be leveraged for reducing energy and hardware costs through server consolidation.

Server virtualization helps to slice large underutilized physical servers into smaller and virtual ones. Virtualization helps the application owners to separate themselves from the hardware. It helps in hiding the details of server resources from users .

 

One of the key problems being faced when we go for virtualization is to draw an accurate performance model, enabling application consolidation and optimal usage of the server resources .A simple approach in this regard being followed by several service providers is to evaluate the workloads of each application, then estimate the peak resource requirement of each workload  and come to a conclusion by summing up the peak resource requirement of group of workloads. An approach ,the one mentioned above would lead to over-provisioning of resources as it does not take resource sharing into account (key benefits of virtualization). Following are the  few key points which should be taken care while doing server consolidation:

 

·         Usage Profile of each application should be taken typically for a period of 6-12 months.

 

·         Applications having workload patterns  which complement each other should be clubbed.

 

·         Overhead of virtualization layer should be taken into account which could make applications to behave a bit differently.(Overhead of virtualization could vary according to virtualization techniques).

 

·         Performance Modeling of each application should be done to identify application level resource needs

 

·         Scaling factor for hardware may not be that effective due to several reasons

o   Applications can exhibit different levels of overhead depending on the rate and type of I/O being performed (so a simple multiplication factor won't work)

o   Limited Spec Benchmark available for virtualization environment

 

September 8, 2010

Process Modeling Series II: Business Process - Sea of Glossaries/Terms; where does Process Modeling stand?

Process-Modeling_Blog-II.gifWelcome to the playground of business processes in the modern organizations/enterprises!! How many terms and how many glossaries!! Even the best of process consultants and gurus will get stumped on the new terms that are used in this subject/discipline. Basic terms of importance include business process management (BPM), business process modeling (BPm) and Business Process Improvement (BPI); other terms leading the race include business process reengineering (BPR - as coined by management guru Michael Hammer), business process standardization, business process harmonization, business process simulation and business process monitoring; there are multiple other techniques/methods that are closely related to business processes - including process hierarchy definition, process granularity definition, business process design, business process identification, activity based costing analysis, business process redesign, business process optimization, business process outsourcing etc. All terms have got meanings and applicability - but my quest is to define a mental classification framework of these numerous terms/glossaries so that as business process analyst/consultant one can clearly relate to the definitions of these terms/glossaries closer to heart. A thing which is closer heart is never forgotten while thing which is just in the mind. Apart from these terms there are number of techniques/methods that are applicable for each of these terms - for example, business process modeling in turn includes multiple business process modeling approaches namely, event process chain, unified modeling language, catalyst approach, petri-net etc. So, my quest is to define things at a higher level - a classification framework of business process terms that are important at a consulting level rather than at operational level.

There are three important "groups of terms" according to me that forms the universal set for the various process terms: 1) Business Process Management 2) Business Process Modeling and 3) Business Process Improvement. Let us take up the definition of these three terms to a closer look:

1)    Business Process Management - The way business processes are organized and managed so that they are effective to provide competitive advantage in terms of cost, quality, time or flexibility for enterprises so as to fulfill the needs of their customers through products/services. Business Process Management is not limited to Information Technology enabled workflow management or automation of business processes, but it definitely includes them as well. So Business Process Management is the universal management of business processes which are manual as well as automated currently to ensure that value is delivered to customers through effective management of the same. There are exceptions to business process management and it does not cover the whole gamut of business - for example, strategy formulation, business policy decision making and creation of business functions are usually out of the realms of BPM. The operational aspects of business which are actually the action items/tasks/activities that bring value to customers are to be managed and BPM is the name for it. By this definition, I include business process modeling as well as business process improvement as part of BPM. BPM in turn involves the business motivation for improving business processes, governance for business processes and monitoring and alignment of business processes with business strategy as well.

 

Process-Modeling_Blog-II.gif 

2)    Business Process Modeling - As explained in the previous blog, business process modeling is multi-dimensional and it is the visual representation of the process which is a common language that is easily interpreted by various stakeholders involved. Business Process Modeling usually utilizes some modeling approach as necessary for the end use of the modeling. Modeling is the first step for business process analysis - business process analysis is in turn the first step for business process improvement. So, modeling involves gathering information about and around business process so that the process can be analyzed.

3)    Business Process Improvement - Improvement is the universal growth mantra. Everything has to be improved and can be improved. Business Processes ensure that our products/services are produced/serviced as per the needs for the customer and are available to them as needed (at optimum cost, quality, time & flexibility). Business Processes while bringing the products/services to customers fail and there are breaks in the processes which drop the value that enterprises decide to provide customers. Business Process analysis helps one to define the improvement path that the enterprise can take up. There are famous process improvement cultures like Six Sigma, Lean Manufacturing and Quality Improvement programs. Process Analysis includes understanding the existing business processes and associated improvement or waste reduction opportunities which can help improve cost, quality, time or flexibility of bringing the product/service to customer - there are various techniques involved and few to name include, as-is process analysis using five whys, value stream analysis, activity based cost analysis, simulation analysis, business process reengineering etc. Programs like process harmonization, process standardization, process optimization, process automation etc are business process improvement programs that are widely utilized.

 We shall further discuss each of these three groupings in detail and talk about the concepts that are part of these three major groupings in the subsequent blogs.

Leveraging Cloud Infrastructure for Performance Testing

Load or performance testing is the discipline which is concerned with determining and reporting the current performance of a software application when subjected to virtual users load. Load testing helps in preventing failures by predicting application behavior and capacity prior to going live. In traditional load testing, it is required to first setup test infrastructure and test environment. Setting up an in house test environment can cause considerable challenges.

 Challenges that could be faced during setting up a test environment are as under:

     -          Initial cost incurred on procurement of hardware and software infrastructure, and maintenance cost of these infrastructure.

     -          Significant time is required for procurement and provision of test infrastructure.

     -          Experienced people are required during entire software testing life cycle to set different testing requirements.

     -          Co-ordination is required among multiple teams in using the test environment and there are challenges to make sure that test environment remains stable and is not inconsistent.

     -          Most of the time test infrastructure remains un-utilized.

Most of the above mentioned challenges can be addressed by setting up the test environment on the cloud infrastructure. Let us see how above mentioned challenges are addressed.

     -          Upfront investment is not required for procurement of hardware and software infrastructure. Cloud providers allow using infrastructure at minimal costs. Also there is no maintenance cost.

     -          You can easily and quickly procure the required infrastructure.

     -          Adding and removing of the resources and other changes in the test infrastructure can be done very quickly and easily and thus managing the environment is not a big challenge.

     -          You can rent cloud infrastructure when required and un-rent when not required, thus your test environment doesn't remain un-utilized.

     -          You pay only for the time duration for which you are utilizing cloud infrastructure.

Cloud infrastructure for setting up test environment can be very useful in the scenario where there is requirement of distributed servers and distributed load generators.  Setting up actual test infrastructure in different geographic locations can be very difficult, time consuming and expensive, but in case of cloud this would be very quick and less expensive. Also number of load generators required for testing can be easily increased and decreased in case of cloud, but it becomes difficult in case of in house test environment.

There are some considerations that should be taken care before choosing to set up the test environment on cloud. One of the main considerations is to understand how the test results will be applicable to the production scenario which is not based on cloud. But clearly test environment on cloud can be very beneficial because of the many advantages that could be obtained from it.

September 7, 2010

Process Modeling Series I: Process Modeling - Art and Science for understanding business

In this series of blogs that am going to write, I would be predominantly concentrate on Process Modeling - Business Process Modeling Service, Business Process Modeling Tools, Business Process Modeling Methodology, Business Process Modeling Governance as well as Applications of Business Process Modeling. There are number of researchers, professors/academics and practitioners who are passionate about process modeling and there are lot of insights one can gather from the research that has been already conducted (the famous Albert Einstein's statement - "Standing over the Giant's Shoulders!!); we shall try to dissect and understand these existing researches as well.

Modeling has a different meaning from "drawing" - drawing is a two dimensional stuff wherein one is able to communicate things through representing the details in a diagrammatic fashion and it serves two basic purposes: 1) represent things visually as it can be understood by stakeholders (visual representation is easier to understand as compared to written communication) and 2) make things easier in communicating complex information. Modeling is multi-dimensional in nature wherein apart from diagrammatic representation of information in two dimensions, we try to gather and enrich the information with other relevant data that are part of executing the process or that are essential to know as well to view the overall business scenario. Sometimes we try to represent multiple dimensions/information sets and compress them into a two dimensional map - but thanks to technology and tools available, we are now able to easily collect, relate and assimilate information related to business processes.

Business Process Modeling (BPm) is many a time closely/loosely used to suggest business process mapping. In my opinion, mapping is more of a representation of finite details and might or might not be used to analyze (complex analysis including statistical and simulation analysis) the business process and mapping can be termed for a specific purpose of process representation to communicate what is happening at present. The moment one gathers associated business resources (data, systems, materials, roles etc involved) and make a step further to analyze business processes, mapping is less apt a word while modeling is more closer. So we need to be aware of the interchangeable usage of words - mapping and modeling. I have not come across a very clear definition of these terms and if I do so shall share in this series of blog.

Process Modeling has been there since for long wherein it is changed its title as according to the situations/solutions expected - task analysis, flow charting, activity analysis, value analysis & time and motion analysis etc. The applicability has grown wider now wherein process modeling has been used for knowledge management, business intelligence, system development, product development, enterprise architecture and other upcoming business functions.  So, process modeling has lived long and is supposed to grow as well - but how structured it would be and how serious are organization roles in modeling processes which they are part of are questions to ponder for answer. We need to find out some good survey results for process modeling usage - though we might find lots of surveys related to business process management (BPM).

Before we get into the huge glossary of terms one has come across with relation to business processes (business process management, business process modeling, business process analysis, business process improvement, business process simulation, business process optimization, business process identification, business process design, business process monitoring etc), lets get it right why it is important to model and understand business processes:

·         There are products/services from businesses at one side and customers at other side; process is the mechanism that helps in bridging the gap so that products/services reach customers. There are various ways an enterprise is organized structurally as well as virtually as functions to enable this gap is bridged. Also note that this bridge has to efficient in terms of cost, quality, time and flexibility so as to outsmart competition.

·         So processes are important to know and there are gaps in this bridging process and processes fail miserably at both sides of the bridge; it is essential for business to build this bridge effectively so that they develop their competitive priorities.

·         An understanding of business process is nothing but necessity for enterprises to build their bridges (as architecturally efficient).

 

Process-Modeling_Blog-I.gif 

Subscribe to this blog's feed

Follow us on