Businesses implement software for many different reasons, and to solve, or maybe more accurately help solve, a wide range of business problems. There are some common expectations though across many types of software. Automating business processes was a very prominent theme in the 1990’s, and even though it’s not the most prominent theme today, it is still a driver in many software projects. A more common theme today, particularly around social collaborative tools, is productivity, or more specifically increasing productivity. Both themes seem to offer benefits, and it would be difficult to argue against them.
Software does change processes (or at least fuels a business to change its processes), and when well designed probably does improve the flow of the work and might increase the output of some of the users. Most systems though, create work to save work, and so, for some users anyway, they actually decrease productivity. In other words systems require interaction including data entry, and the work of “feeding” the system, as well as manipulating the system to make it do other things, increases administrative overhead. Administrative overhead is bad. Maybe that’s oversimplification but face it, doing activities that are only required because you’re using a specific software solution, and not because it increases revenue, reduces costs or increases innovation is not how you want your employees investing their time. The problem then is getting as much value from a system (as in it supports one of the key functions listed, revenue, margin or innovation) while minimizing the investment in “managing” the system. There are several traditional software solutions that have high administrative overhead for many or at least for some key users of the systems. One common example is project management. The traditional approach to project management software led to a system that provided a lot of information for managers, executives and even resource planners but offered a minimal amount of value to the employees who had to execute the project work (and keep the system up to date on status, hours worked, moneys spent, etc.). Over the past 10 years or so new systems that focus on helping the workers get the work / tasks done gained popularity. The same is true for sales force automation (SFA) systems, the traditional systems focused more on reporting up (as in the forecast) and managing quota than in helping salespeople sell. Newer add ins to SFA provide sales intelligence type data to make the sales professional more productive. That’s the general path for many 3rd generation management systems, get tools into the hands of the people doing work to help with the work, not just facilitate reporting status.
Newer computing capabilities are available to make systems more adept at “helping” workers get work done. This is particularly interesting when the new technologies enable the system to take actions for the worker with only some oversight offered by the human. This is not an idea to replace workers but a concept that would free up employees from some types of work (including feeding systems) to focus on other, higher value activities. Artificial intelligence (AI) and cognitive computing are two terms that are growing in use and seem to offer some opportunity to improve outcomes and change activities for workers. AI is the overall category and cognitive computing is simply a subset or specialized type of AI.
AI in simple terms is the intelligence exhibited by software / machines, and through machine learning has the capability to improve itself over time. AI functions in different ways depending on the specific application of the technology, but in general it has some form of sensory input (like a neural net, or even just data mining large data sets) and provides some self improving output based on the sensory input. Cognitive computing focuses on assistive applications of AI, providing some processing of data and a suggested course of action as an output. This has been particularly useful in healthcare by providing diagnostic aid to physicians by managing the massive amount of input that is available to the physician, and offering a suggested set of potential diagnosis. The ultimate decision on diagnosis and treatment is still left to the human though.
Applying AI to existing types of applications has a great deal to offer. An AI based “agent” could manage tasks like scheduling meetings for example. I’ve participated in a beta of an agent like this from a company called x.ai that very effectively functions as a personal assistant to help manage your schedule. Managing calendars, meetings, email (prioritizing and maybe even providing simple responses to some types of email), many simple tasks could be managed with an AI agent.
Inside applications, or I suppose calling it embedded AI would be appropriate, there are even more types of activities that could be managed, or at least processed to a point that a human decisions could be made. Tasks that require the analysis of a merged dataset, like assigning resources to a preliminary project plan, or even developing a project plan that could be approved would speed up processes in professional services businesses. For people working remotely or out of the office the embedded AI could provide needed information in the context of a calendar or schedule, or even work order or other system input. A sales representative could then be provided with needed intelligence about a prospect, a deal, inventory, staffing, order status…any number of items of information all with the correct context and timing. Customer service organizations in some industries are using chat support bots that interact with people looking for assistance and mimic the experience of a live chat agent. The bot is connected to all the information available to a customer support agent including knowledge base for potential solutions, customer data, transaction data, etc. and also can open support tickets or escalate issues that it cannot resolve.
AI applications are starting to provide a variety of simple outputs based on some data / input. For example news organizations use AI to write simple stories like financial news summaries, sports updates, etc. It is not providing in-depth analysis of complex events of course, at least not yet. Applications that require input from visual sensors like security, handwriting analysis, facial recognition or aural sensors for voice recognition can take that input and coordinate a variety of outputs from alarms to purchase orders. AI capabilities are starting to enable the next generation of applications to incorporate new and unique types of “automation” that can change the way you interact with a system and greatly increase the usefulness of many types of applications. Intelligent applications are becoming more available, although many only offer minimal use of AI at present. The next generation of many systems is just starting to become available though, and that availability and the breadth of use of the embedded AI, should accelerate over the next few years. Once employees start using and seeing the substantial benefits from systems that use AI they will find it difficult to go back to older approaches.
(Cross-posted @ Michael Fauscette)