Making a Strong Business Case for Multiagent Technology


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Making a Strong Business Case for Multiagent Technology

  1. 1. Making a Strong Business Case for Multiagent Technology Steve S. Benfield Jim Hendrickson Daniel Galanti CTO, Agentis Software VP Global Services, Agentis Software Dir of Engineering, Agentis Software 1200 Ashwood Parkway 1200 Ashwood Parkway Reconquista 865 - Piso 6 Suite 410, Atlanta, GA 30338 Suite 410, Atlanta, GA 30338 Buenos Aires, Argentina +1 678.368.4105 +1 650.759.8995 +54.11.4317.6880 sbenfield@ jhendrickson@ dgalanti@ agentissoftware.comABSTRACT methodology, called AdaptivEnterprise, for implementingIn this paper, we describe lessons learned in agent-oriented goal-seeking applications. To date, Agentiscommercializing and implementing agent-based systems in has either implemented or assisted customers inreal-world business situations. Most notably we discuss implementing 15 applications. Of these, 13 are currently ingains in programmer productivity achieved by using production and two are pending deployment.AdaptivEnterprise, a commercial IDE and J2EE runtime AdaptivEnterprise is both an IDE for building agents asengine based on BDI agents. In a wide range of complex well as a Java runtime engine for deploying the agents in abusiness applications, we show that the use of BDI scalable, reliable, and secure manner. AdaptivEnterprisetechnology incorporated within an enterprise-level deploys agents in a pure J2EE-environment and has beenarchitecture can improve overall developer productivity by commercially available for several average 350%. For java coding alone, the increase inproductivity was over 500%. In competitive bids for large 2. MAJOR LESSONS LEARNEDscale enterprise applications, AdaptivEnterprise was able to Agentis has learned several major lessons inreduce total cost of ownership between two- and three-fold. commercializing agent technology. They are:In addition, the agent approach allowed the business tochange and extend solutions quickly and helped bridge the  Agent technology is applicable to a wide range of industry problems;gap between the business side and IT development.  The primary business value of agent technology is reduced complexity;Categories and Subject Descriptors  Agent technology provides compelling ROI andI.2.11 [Artificial Intelligence]: Distributed Artificial productivity improvement;Intelligence – multiagent systems.  Designing with agents is easier for business analysts than conventional technologies;General Terms  An iterative methodology is critical to buildingManagement, Economics successful Agent-Oriented Systems; and  IT Programmers can easily make the transitionKeywords from pure Object-Orientation to Agent-OrientationAgentis, AdaptivEnterprise, Function Point Analysis 3. AGENT TECHNOLOGY IS1. INTRODUCTION APPLICABLE TO A WIDE RANGE OFAgentis Software offers a commercial environment and INDUSTRY PROBLEMS Our solution, AdaptivEnterprise, is currently in use in a wide variety of applications across a range of industriesPermission to make digital or hard copies of all or part of this work for including logistics, finance, energy, telephony,personal or classroom use is granted without fee provided that copies are transportation, and housing administration.not made or distributed for profit or commercial advantage and thatcopies bear this notice and the full citation on the first page. To copy The range of implemented applications includes:otherwise, or republish, to post on servers or to redistribute to lists,requires prior specific permission and/or a fee.  Datacenter compliance and monitoring (Sarbanes-AAMAS’06, May 8-12, 2006, Hakodate, Hokkaido, Japan. Oxley Compliance)COPYRIGHT 2006 ACM 1-59593-303-4/06/0005...$5.00. 10
  2. 2.  Multi-jurisdictional tax calculations Measuring true ROI is complicated—and can be expensive  Global package tracking to measure in full detail. In addition, it is sometimes hard to  Housing allocation isolate the ROI of agent technology itself because many  Service configuration factors go into the success and the total cost of a project,  Dynamic pricing including software licenses, analysis and design, testing,  Customs documentation cleansing and GUI construction, server infrastructure, project classification management, consulting/labor costs, etc.  Document workflow Likewise, one cannot compare the ROI of two projects and4. REDUCING COMPLEXITY: THE #1 assume the one with the lowest ROI was the most successful. Projects differ in complexity, internal politics,VALUE OF AGENTS purpose, stakeholders and, of course, core functionality.The most common theme throughout these applications is Even two projects with similar functionality can havethat they are “hard” to build. All are complex and are not vastly different ROIs because of factors external to thethe typical transactional applications that corporate IT products/languages used, such as changing requirements,groups normally build. Many of these applications are more ineffective management, etc.typically delivered as customizable packages by third-partyvendors. However, these applications have complex However imprecise ROI measurements tend to be, there arerequirements and enough “exceptions” to make several generally accepted measures of a project’simplementing an off-the-shelf package unfeasible without “success”. The first is productivity—how productive wassignificant customization efforts. the IT staff at implementing the solution versus other technology choices or development teams? The second isAnother common theme of these applications is change. cost—how much did the project cost versus alternativeRequirements for these applications change very rapidly estimates?and in often complex ways. New services and pricingschemes are added, companies are merged, government Given the fact that the applications that agents are best atregulations change, etc. The ability to be able to quickly solving tend to be complex critical applications, theadd or change functionality is critical. Because major expected ROI should be high. One specific project resultedcontrol logic is abstracted in an agent-based system, adding in a 173% ROI and is detailed at the end of this paper.and changing functionality is very easy. 5.1 Estimating Agent Productivity withThese applications are also event and exception driven. Function Point AnalysisThat is, the system needs to respond to ongoing events and Function Point Analysis (FPA) is a technique published inexceptions. Because the response to an event can vary 1979 by Allan J. Albrecht to measure the “size” of adepending on the current state of the system, the loosely software application and predict the level of effortcoupled nature of agent control logic (processes) makes associated with building it.event and exception processing much simpler to code. A Function Point (FP), according to the InternationalFinally, speed to market has been critical in the applications Function Point Users Group (, is a unit ofwe’ve been involved in. Given the mission critical nature of “system functionality” measured from a functional, or user,these projects, there are serious financial and business point of view. It is independent of the computer language,implications involved in getting these applications development methodology, technology or capability of thecompleted. The reason many of our customers adopted project team used to develop the application.Agent technology is that they were looking for a faster andeasier way to get these applications built. Some projects According to IFPUG:were awarded to Agentis because we promised to deliver • FPA can be used to size software applicationsthe application quickly, not because the customer accurately. Sizing is an important component inunderstood Agent-based systems. determining productivity (outputs/inputs). • Function Points can be counted by different5. MEASURING ROI FOR PROJECTS people, at different times, to obtain the sameWhile the technical reasons for using agents might be measure within a reasonable margin of error.apparent for various situations, in business settings, Returnon Investment (ROI) is a primary decision criterion. • Function Points can be used to determine whetherBusinesses will take a chance on a technology through a a tool, a language, or an environment is moreproof-of-concept project (POC) without regard for ROI but, productive when compared with others.for real implementations, the ROI must be compelling.Agent technologies are not pervasive in businesses and are Because FPA is a fairly objective methodology forforeign to many IT departments. In addition, there is a good analyzing software complexity, it is useful for measuringbit of confusion about what agents are. 11
  3. 3. the productivity of differing software teams, methodologies, 4.97FP/day. This represents a 423% improvement (4.97FP /frameworks, and languages. 0.95 Average Java FP) over the standard for theOne of Agentis’ customers, a large international logistics organization.firm, uses FPA as a standard for measuring projects and IT Finally, a non-FP related data point is provided by anproductivity. Recently, they performed an analysis of their application for another customer involving a migration ofAgent-Oriented projects to determine whether to increase an existing COBOL workflow application with 120,000the role of Agents in the organization. lines of code. The application was re-engineered into aBased on six applications encompassing a total of 7,356 Java-based system with seven agents in less than threefunction points (FP) and 10 person-years of development, months with two full-time and one part-time developer.AdaptivEnterprise delivered an average of 2.11 functionpoints per day for each fully completed project. Average 6. DESIGNING WITH AGENTS IS EASIERproductivity for all other non-agent-based Java projects FOR BUSINESS ANALYSTSwithin the organization is 0.45 FP per day. How do you take a business process and map it into software? This is a central problem that business is stillBased on this analysis, agent-oriented methodology, striving to solve in application development. Translatingarchitecture, and development delivered a 368% requirements into a working system is as much a science asimprovement in overall project productivity. (2.11 FP it is an art. Humans who work with business processesActual/0.45 FP Expected) speak one language while programmers and systemsImprovements on specific projects ranged from a high of analysts speak another. IT staff are much more concerned513% improvement to a low of 273% improvement. The with wiring specific systems and functions together to formlargest single project had 3,850 FP and the smallest project a specific process. Business analysts describe roles,had 304 FP. patterns, workflows, and decision trees. Project Days: Estimated vs. Actual We have found that by discussing systems in terms of data, goals, and plans, the conceptual modeling of systems 9,000 becomes much easier. First, the terminology is easier for 8,000 both IT and business to understand. Agent analysis lends 7,000 itself very well to iterative requirements gathering. Just as it 6,000 is easy to code new plans to an existing Agent-based # of Days 5,000 application, it is also easier to add new plans during the 4,000 conceptual phase of an application. Likewise, moving from 3,000 the conceptual phase of analysis to the concrete design 2,000 phase is aided because agent-oriented analysis produces 1,000 goals and plans that can then be specifically designed and coded as discrete work elements. 0 App1 App2 App3 App4 App5 App6 At Agentis, we’ve used a modified version of the Rational Unified Process along with agile development techniques Actual Days Estimated Days such as Scrum or XP. As pointed out previously, time toFigure 1: Estimated vs. Actual Project Days market is important with these applications. Because of that, a classic waterfall or even a strict RUP-based UML modeling approach is not always possible or desirable for5.2 Agent-Orientation’s Effect on Coding these projects.All the FP numbers presented to this point have been for 6.1 Agility Is Criticalthe complete project—which includes requirements A typical situation that we encountered was a rapidgathering, analysis and design, testing, and implementation. escalation in the problem space. Many organizations thatWhen Agent-oriented development is compared at a pure are introduced to Agents for the first time are a bit skeptical.coding level, the productivity improvements are even To mitigate any possible risks involved with bringinggreater. Agent-technology on board, many projects start as smallerSince AdaptivEnterprise is a 100% pure Java and J2EE proofs-of-concept and are quickly escalated into full-blownsolution, we compared the agent-based applications against formal projects once Agent technology and concepts areother Java applications in the organizations. The historical proven.average FP coding productivity for the organization’s Java Besides being able to tackle complex problems, Agentis’developers is 0.95 FP/day. experience is also one of agility. Agent-based approachesWe only have coding metrics for four of the projects and allow us to respond very quickly to changes in thetheir mean coding productivity with AdaptivEnterprise was 12
  4. 4. requirements of a system and to changes to systems Typical developer training is three days of classroomcurrently in production. For example, the application that training on the product and 1½ days on the methodology.covers 3,850 function points started life as a 350+ function We have added concept courses for the Business Analystpoint application. The benefits of the system were and Architects. Developers can be productive after theimmediately seen by the customer and the application training and proficient in 4 to 6 weeks of project work.quickly escalated into a major, mission-critical endeavor.Because the BDI agent-model scales easily, it was fairly 7. CASE STUDIESstraightforward to move the system from a small effort to a 7.1 Multi-Jurisdiction Tax Application for alarge one—more agents were added along with more goalsand more plans. Large Energy Company Collection of sales and use tax is complicated because eachSeveral customers have stated that agent-oriented city, municipality, county, and state has their own taxationmethodology coupled with a GUI design environment for policies. In addition, many large corporations are given taxbuilding agents facilitated RAD capabilities with their breaks and have specific agreements in place with variouscomplex systems—something that was previously not government agencies covering the types of items that arethought possible, since RAD tends to be associated with taxable and at which special rate. Finally, because thesmaller systems with more CRUD (Create, Read, Update, customer in this case is an energy utility, many specialDelete) transaction functionality. taxation rules apply that are above and beyond typical use6.2 Agent Technology Must Play Well With tax calculations.Others The customer had acquired an existing tax package and hadBoth the methodology as well as the actual implementation spent almost 18 months of time and several millions ofof an agent-based system must “play well with others”. At dollars implementing and customizing the application.minimum, a system will need to interact with an existing However, the tax package was unable to provide accuraterelational (SQL) database—most likely by storing long tax information because of the complexities involved andrunning state & transaction information. required heavy user intervention, resulting in large amounts of overtime pay spent to ensure the tax calculations wereMany organizations are moving toward Service Oriented correct. Agentis was brought in to help fix the problem.Architecture (SOA) by implementing standard languageand platform neutral mechanisms for exposing computing The customer was attracted to the speed of developmentresources through WSDL or SOAP. At minimum, the agent that Agentis promised as well as the goal and plan nature ofsystem must be able to consume SOAP-based web services the agent architecture which was easy for the customer toand provide agent-based web services to other systems via understand. Likewise, speed of application maintenanceweb services standards. and change was critical. Tax laws and regulations change constantly across many tax jurisdictions. The agent-Likewise, organizations are also starting to use BPEL as a oriented application allows them to add and modify taxprocess model definition and execution environment. calculation plans very easily.Agents must be able to call BPEL processes and BPELprocesses must be able to invoke agents. Between overtime spending, maintenance spending on the discontinued tax application, and ability to meet quality ofHaving an Agent technology based on J2EE or .NET service requirements of the government, the customermitigates most of these integration concerns at a code level. saved just under $6 million in direct costs andHaving GUI and IDE support for these interactions is administrative revenue for collecting & administrating thecritical for productivity. taxes.6.3 Agent Technology Can Be Used By ITProgrammers ROI for Tax ApplicationAgentis normally helps customers build their firstapplication. In cases of large applications, a third-party Direct Savings &integrator might be brought in to provide programming Revenue Stream $5,812,000resources. Projects are normally led by Agentis staff with Project Costs $ 1,171,000extensive agent experience. However, most of the coding is Useful Life 5 Yearsdone by “normal” Java developers. Agentis has trainedover 100 developers in the AdaptivEnterprise product and Net Present Value $ 2,005,555all of our customers have taken over the maintenance of ROI 173.06%their applications with several of them continuing to buildnew applications with no direct input from Agentis. Overall the ROI on the project was calculated at 173% over five years resulting in an internal rate of return of 43%. In 13
  5. 5. addition to the cost savings, the customer can now offer a shipment or entering details about the shipment and itsvalue-added services to their customers such as tax current status: examples include being detained for customs,reduction strategies, etc. In addition, the new system weather delays, transit strikes, etc. Because of this, humanprovides an audit trail for additional Sarbanes-Oxley (SOX) intervention is usually required in the process as well ascompliance. timely communication to the customer on the shipmentThe project was so successful that the customer has status. To support this complex workflow scenario, thecontacted Agentis on how the two companies can become system supports the following:closer strategic partners for further application development. • Role-based and team-based workflow; • Integration to existing enterprise services for7.2 Global Package Tracking, Tracing, and authorization and authentication, shipmentRecovery searching, customer location and service levelThe customer is a global logistics and shipping company agreements;handling billions of packages a year. As the organization • Real-time subscription to changes in physicalgrows and acquires other logistics firms, a global solution location and workflow state;was needed to handle package tracking, tracing, and • Automatic workflow task allocation to mostrecovery. As packages move through the system, millions suitable Customer Service Representative (CSR)of events are generated which change the state of the and most suitable team; andsystem and of individual shipments. • Extensive workflow monitoring: notifications,The application was designed to handle up to 7,500 alerts, reminders, state change markers. Figure 2: An event-handling agent with 37 possible executable plans.concurrent users over 100 countries and needed to handle The system is currently deployed to over 30 CPUs servingover 10,000 traces per day. A trace is a physical trace of a almost 3,000 concurrent users.shipment—not just a check on ‘where is my package’. Business benefits, as stated by the customer, are:Many times a trace results in people physically looking for 14
  6. 6. • Reduced cost of operations because of automation of The system was competitively bid with the customer. The tasks and increased call center throughput; total implementation costs to date are roughly $6MM.• Enterprise-level adaptability because of agent reuse Other competitive solutions using a combination of and flexibility and SOA implementation; and packaged software along with customization had a• New platform for customer self-service as well as new estimated total ownership cost of $15MM to $25MM. The service delivery channels customer was able to get the functionality that they wantedThe reasons the customer chose Agentis/Agent Technology in half the time they wanted at less than half the cost.were: 8. Summary• Full BDI/Goal Directed Agent Framework Agent technology is ready for mainstream corporate use o 100% J2EE solution; use of EJBs, MDBs, JMS and can be successfully commercialized. It has proven o Both synchronous and asynchronous inter-agent itself to be highly reliable and scalable and also well suited communication for complex business applications involving many moving• Extreme adaptability through Agents parts, fast changing requirements, and tight timelines. o Low lifecycle costs: maintenance is adaptation Agent-based solutions have been used many times to solve o Unprecedented application longevity problems customers thought were not solvable—at least not• Agents are EJBs within any reasonable timeframe or budget constraints. o Enterprise friendly and very scalable• Visual Agent Development Environment However, pure agent technology is not enough. The o Oriented toward Business Analysts technology must be presented in a way that “typical” o Comprehensive develop/test/deploy environment programmers can understand and use—and it must integrate into their current development efforts. Likewise, a proven methodology that addresses the needs of business analysts as well as developers is also required. One of the primary benefits of agent technology is reducing the complexity of not only the programming of the system but also the understanding and modeling of the system. Figure 3: Plans are modeled with UML. 15