Infosys’ BPM-EAI blog offers a platform to discuss the latest trends in the Business Process Management and Enterprise Application Integration spaces. Exchange thoughts, ideas and opinions with Infosys experts on how BPM and EAI programs can be leveraged to achieve operational excellence and maximize your return on investment.

« January 2012 | Main | March 2012 »

February 28, 2012

Logging - Art or Science?

Once upon a time some ignoramus wrote an article on Exception Handling and then anybody who could relate wonders humorously including frustration on why such an obvious concept is difficult to control even in large enterprises.

There is another factor which is considered even simpler but still not mastered - i.e. plain and simple “LOGGING”. Logging doesn’t even have multiple dimensions. Its plain purpose is
1) what to log,
2) when to log,
3) categorization,
4) Finally how to use what is logged.

Let’s look at one by one and the approach briefly:

As a reminder, following should help serve for “what-to-log” and the usage of “categories/levels”.

  • During any software writing, it is elemental is to put log statements during a start of a method and at the end of method, code snippet, calculation or any atomic program. This is categorized as INFO. If during a specific calculation, there is a choice made such as IF/ELSE, or need to know which iteration in FOR-EACH the program is currently being executed, the statement with specific information is categorized as DEBUG. Sometimes TRACE is another level but can be ignored.
  • WARN is something that causes a particular program to fail but not critical enough to call an error or requiring abort or termination of the function. For e.g. FOR loop failed in 100 out of 1000 iterations but it was programmatically designed that it doesn’t have to exit out of the loop for a particular failure. In real world scenario, consider Stock ticker feeds published to multiple terminals from a central server every fraction of a second. If a particular update doesn’t go through, it does not require any special handling as subsequent update is enough for the end user but at the same time needs to be recorded separately for analysis.
  • ERROR is closely associated with Exception Handling and is categorized for any functional failure of a component but not necessarily shutdown of the complete system. It can be sub categorized as BUSINESS, SERVICE, SYSTEM failure. For more details refer to the blog alluded in the opening statement of this entry.
  • FATAL is more simply the last line in the log file in the life of a process as the system shuts down as it encounters such a condition and requires urgent and immediate response to bring the system up.

There are popular frameworks such as LOG4J which are plugged into many software products as well as a standard for customized and in-house development in enterprises.
Other than using such already available framework, enterprises should just decide on creating configuration controls so that logging is useful and not taken for granted. This is the “how to use” part.

  • For e.g. there should be a consistent standard on whether the logging is to be stored on flat files or in database.
  • The configuration should be two fold - one switching the levels of logging - production does not require all levels and only ERROR or FATAL. This is “when-to” part. Lower environments could require DEBUG and so on. The second part is that whether one needs to log the Payload (the whole transaction) or just the header (key transaction information to help in tracing).
  • Say there is an issue in production and error messages are pointing to an error of a particular system but details are not known on what is causing the error, here the configuration can be done to turn on the logging levels for DEBUG and INFO for 10 minutes after which it will switch back to ERROR. Since INFO/DEBUG gives a lot of output, only a small part is required to understand the process flow in detail and steps that lead to a particular point. This is how configuration, levels, log detail, everything comes in place and more the sophistication, merrier the analysis leading to a solution.
  • A dynamic configuration options for the above could help ensuring system availability all the time. This can be achieved by ensuring the logging component (or logger) is separate from the main program and has an active listener that configures the way it logs.

These are quite trivial things that can be easily taken care off with simple guidelines, standards and governance in place. Whether it is ART or SCIENCE, it’s anybody’s guess.

February 9, 2012

Enterprise Gamification - The Next Big Paradigm

In case you haven't been living under a rock for the last few years, I am sure you have heard about social computing and its pervasive nature within the Enterprise of today. What started off as a fad for teenagers, has emerged as the most compelling and disruptive paradigms of the last few years.
One of the most interesting spin-off concepts, which is as disruptive as Social Computing, if not more, is the concept of Gamification of the Enterprise.  The concept is at a very early stage and thought leaders around the world are still trying to analyse the impact of this approach on the current stakeholders who work within a very different organizational construct. 

The Concept

According to gamification.org, "Gamification of the Enterprise allows (potential) employees, partners and customers to interact with business applications, processes and systems of an organization in an engaged and game-ful way." 
Originating from the video game industry, many of these pioneering concepts now play a key role in driving incentive and behavior management for both brands in the consumer world and internal scenarios in the workplace. Enterprise gamification is a user experience (UX) and consumerization of IT (CoIT) trend that will take the market by storm in 2012.

The Opportunity

According to a leading technology strategy analyst, "Gamification is going to be big, it will in a different avatar will revolutionize how systems are used !

... I do see that the next-generation of applications that could be built on BPM (possibly)  framework may utilize gaming principles to design the application. Now how much of those gaming design is directly supported and enabled by BPM, that is something I'm yet to see anything in real."

While its still early days, Analysts are predicting a fast adoption rate of gamification, with the market growing from $100Mn in 2011 to $2.8bn in 2016.

The benefits of this approach are far reaching in the areas of collaboration and engagement within enterprise initiatives that span multiple lines of business and stakeholder groups.

A report by Gartner Research forecasts that one-third of business process management projects will fizzle over the next four years due to executive politics like executive power struggles, resistance to change and poor collaboration.

Gamification, which Gartner defines as the "trend of applying game mechanics to non-game environments to motivate people and change behavior," will be included in 25 percent of all redesigned processes. The participation and feedback aspects of gamification encourage participation, thus working through political challenges with BPM implementations. 

The Report can be accessed at : http://www.gartner.com/DisplayDocument?ref=clientFriendlyUrl&id=1849717

What does it mean for Service Providers ?

As we partner with our clients in their transformation journeys, I believe we will need to analyze the actual problems better and identify strategies that could act as facilitator in managing the fundamental conflicts (that give rise to organizational politics ultimately) within the enterprise. This analysis would enable us to find ways how such strategies can be converted to collaborative action platform using gaming principles so that it allows the organizational stakeholders to see the bigger picture and not get stuck with their individual objectives.

I believe, that while the enterprise application vendors will try to adapt to bake in these principles into their products, the larger challenge will be in managing perception around the real benefits of the concept. Often seen as a technique to add engagement to existing tasks, projects, marketing campaigns, and initiatives, the term gamification unfortunately lacks the seriousness it deserves.

According to research by Forbes, there are three core pillars for ensuring success, that include measurable action, reputation and incentives. By creating triggers through both monetary and non-monetary incentives among customers, employees, partners, suppliers and other interested parties, organizations can secure sustainable engagement and drive business outcomes such as improved marketing response from external communities, sustained long-term customer loyalty, increased collaboration among internal teams, or enriched onboarding, delivering success with new hires, partners, and customers.

Its exciting times ahead for us ... Game On !