Thursday, May 28, 2009

The Challenges of SAP Relationship and User Recommendations

SAPFriend, Foe, or Both? :In mid-2006, San Jose, California (US)-based Callidus Software announced that its TrueComp version 5.1.3 software application had achieved Certified for NetWeaver status from SAPgood news for the over 30 percent of the companys customers that run SAP enterprise resource planning (ERP) and customer relationship management (CRM) systems. With the integration provided between TrueComp and the SAP NetWeaver platform, customers should benefit from a reduction in total cost of ownership (TCO) by being able to further leverage their existing investments in SAP and Callidus solutions via a common infrastructure. To achieve Certified for NetWeaver status from SAP, vendors must ensure their applications interface seamlessly with the SAP NetWeaver platform, and this integration is tested and certified by the SAP Integration & Certification Center. The SAP NetWeaver platform is the technology foundation that powers not only mySAP business applications and SAP xApps composite applications, but also Callidus's TrueComp solution and other partner solutions, as well as custom-built applications (see Multipurpose SAP NetWeaver).

Last part of the series Enterprise Incentive Management Leader Responds to Market Demands.

Soon after certification, in September of 2006 Callidus and SAP signed a cooperative development agreement under which terms that the two vendors will promote and market Callidus Software's TrueComp and TrueInformation products in the US and Canada (the market that comprises more than 85 percent of the world sales enterprise incentive management [EIM] market, according to Gartner, a technology research and consulting center). The alliance grants Callidus the right to access SAP NetWeaver technology, standards, and technical resources for facilitating knowledge transfers. It also allows SAPs sales force to refer Callidus to SAPs client base as one option for EIM software, and to undertake joint sales calls where appropriate. SAP and Callidus will jointly pursue prospects, but deals will be closed by Callidus. Callidus will also be responsible for delivering help desk support and maintenance services. In addition, Callidus Software announced that its TrueComp and TrueInformation software products achieved Powered by SAP NetWeaver status, meaning their applications can run seamlessly on the SAP NetWeaver platform, resulting in more potential sales opportunities.

As SAP NetWeaver provides the best way to integrate a medley of systems running either SAP or non-SAP software, Callidus is hoping that this certification and agreement will minimize objections from the information technology (IT) departments of companies already using SAP. In other words, although SAP's compensation management software may not be as good as Callidus's, if a user company has already spent a large amount of money, time, and effort to install SAP, adding Calliduss module (which, strange as it may sound, is likely to be cheaper than SAPs) is a viable option. Callidus believes that its value proposition will be reinforced in terms of its functional EIM solutions smooth integration with SAPs other enterprise applications.

At the very least, Callidus should benefit from the additional visibility and exposure to opportunities from North American user organizations interested in both SAP NetWeaver and EIM. However, the onus will be mainly on Callidus to generate a sustainable, significant revenue stream from the relationship. Specifically, it will require substantial investments in marketing (education programs, sales promotions, and marketing campaigns and events) to steadily create traction within SAPs sales force, customers, and prospects. As well, Callidus will largely be responsible for product development (such as porting to NetWeaver, product enhancements, and integration). Given SAPs large organization, and its many partners, and partner products (including its own EIM product), only time will tell how motivated the giant will be to actively promote the alliance.

Challenges:EIM companies similar to Callidus face the threat of many potential customers having already made a substantial investment in other third party or internally developed software designed to model, administer, analyze, and report on pay-for-performance programs. These companies may be reluctant to abandon those investments in favor of other software. In addition, the IT departments of potential customers may resist purchasing the EIM software solutions for a variety of other reasons, one of which is the potential displacement of their historical role in creating and running software, and another being the concern that packaged software products are not sufficiently customizable for their enterprises. Furthermore, given the trend towards extending performance and compensation management beyond sales forces, there is the threat from leading vendors in this area, notably Authoria (that recently acquired Advanced Information Management [AIM], a provider of compensation management systems), SuccessFactors, Halogen Software, Workscape (including recently acquired Performaworks), Perks.com, Kenexa, and, again, ERP giants SAP, Oracle, and Lawson Software.

User Recommendations

Large, established enterprises in the above market segments should evaluate and consider Callidus. This is especially true of companies with more than 500 employees on complex incentive compensation plans (for example, those managing changes affecting closed [or future] periods; changes effective mid-period; tricky credit calculations; custom territory definitions; non-standard management roll ups; business units on different calendars or pay periods, etc.) and if they are subject to regulatory compliance and scrutiny.

Existing Callidus customers should consider the vendors recently released products and services (including the on-demand versions) as potential value add-ons. Customers that also have the older SAP software portfolio and that are interested in more modern NetWeaver and mySAP Business Suite applications should investigate the potential benefits of replacing legacy interfaces with the prepackaged integrations that Callidus will release in the near future. SAP and Callidus customers already on the NetWeaver stack should have a more direct opportunity to avail themselves of EIM functionality such as plan creation, administration, reporting, and dispute resolution capabilities or analytics, although they should keep an eye on the products maturity and early adopters references.

Generally speaking, no automatic decisions should be made on the selection of add-on modules favoring incumbent ERP, CRM, sales force automation (SFA), or human capital management (HCM) providers. Rather, choices should be based on a defendable list of EIM requirements for each user enterprise that every competing vendor has to demonstrate. ERP providers are offering much deeper EIM functionality than ever before and should be given a serious look by both current and prospective customers, bearing in mind that some best-of-breed EIM vendors might still excel in their horizontal and vertical niches. Companies need to determine how complex their territories are, how much overlay is involved, how much double compensation exists, and so on, and choose a vendor based on that information.

In addition to the traditional on-premise perpetual license model, a host of providers offer per-module, per-employee, or per-month fees that can minimize up-front costs (and deployment times) and scale as needed. Customers should explore how such services integrate with their internal systems and with other outsourced services they may rely on. When it comes to sales incentive tools, there is always a high degree of integration required to such systems as SFA, ERP, HR/payroll, etc. Preference should be given to vendors and system integrators with the flexibility to add data sources and targets, efficient use of system resources, automatic system deployment and maintenance, secure application and data access, and the ability to leverage in-house technologies and expertise. Shared services, increasingly in a hosted mode, might be an especially effective strategy for businesses that vigorously pursue merger and acquisition opportunities.

It goes without saying that prospective customers should demand references from all EIM vendors under consideration with regards to their customer size and industry. Selected vendors should be willing to demonstrate their skills and offer training and support for knowledge transfer to staff at major system integration firms. EIM providers should be tested on their handling of the most complex compensation plans, possibly by using mock-up data (that closely resembles reality) from a prospective users systems. For general recommendations, see Enter Enterprise Incentive Management and Incentive Compensation Management.

The Post-implementation Agility of Enterprise Systems: An Analysis

To say that implementing enterprise applications has not customarily been a simple feat would be a gross understatement (see The 'Joy' Of Enterprise Systems Implementations). But to give the devil its due, over a long period of time, enterprise applications providers (and their resellers and system integration [SI] partners) have made some notable strides to partially ease implementations, and ensure some pre-implementation alternatives—and thus flexibility for their customers (see Software Piloting: How Do You Fly This Plane? and CMMS Templates for Effective Implementations).

Part One of the two-part series The Post-implementation Agility of Enterprise Systems: An Analysis.

Indeed, leading enterprise resource planning (ERP) systems now offer broad functional coverage which nears best-of-breed capabilities and end-to-end process scope. Other notable evolutions include vertical industry extensions; ever-improving technical architecture; training, documentation, implementation, and process design tools; continual product enhancements; global support; and an extensive list of software, services, and technology partners. A good example might be SAP's application management platform, SAP Solution Manager, which offers improved processes and tools for managing SAP applications portfolios. By providing tools, integrated content, services, and best practices from SAP, this centralized platform aims at helping customers implement, operate, and monitor applications with improved visibility across the entire SAP landscape.

Yet the current state of the market consists of largely "standard, best-practice, configurable" applications; the (often false) assumption is that standard "vanilla" software applications can bring best practices to a business, and be made flexible enough to accommodate the majority of businesses without significant modification. Through the use of complex tables, parameters, and switches, the software can be pre-configured to handle a large number of predetermined, supposedly "flexible" options. But in truth, such commoditized flexibility only means choosing from a list of existing, predetermined options, and if the required option does not exist in the vendor's menu, there is no real flexibility available. For more information, see Commodity Software, Best Practice and Competitive Advantage.

Furthermore, once the options are selected, the flexibility to change any of the options is often nonexistent, or comes at a hefty price. In other words, it might be possible (since almost everything can be achieved in the realm of information technology [IT]), but only by leveraging an army of well-paid consultants and programmers who are glad to oblige any specific customer's requirement. However, the point is to achieve user self-sufficiency, and to leave users feeling as though they can tweak the system to their personal needs, at will.

Moreover, this limited, parameterized configuration approach ironically comes with heavy costs in terms of the increased complexity of software code, which leads in turn to erratic quality, extensive implementation lead times, and difficulties in changing the software once implemented. The issue of flexibility might be solved for an initial implementation, but ongoing business innovation and change is not supported. Software templates and quick implementation tools might help to solve the problem of long implementations arising from complex tables and switches, but they do nothing to address the underlying problem of inflexibility after implementation (see Fast-path Implementations—Are They Good or Bad?).

A key objective of "standard, best-practice, configurable" applications has been to eliminate the need for modifications. While this has been the stated goal (and nirvana) of many user companies, the statistics repeatedly prove that it is not, in fact, how the majority of companies are running their enterprise software in real life. There have been many indications that the majority of ERP customers have modified their systems "quite a lot." The real truth about standard software applications is that very few companies really run them as standard or "as implemented" products, since every business changes constantly, in small ways and large. Successful companies are increasingly taking on new business models and business processes in an ongoing effort to outmaneuver their competition (see What's Wrong With Application Software? Business Changes, Software Must Change with the Business).

These companies have found that there is an inherent conflict between the fluidity and agility with which they want to run their businesses, and the rigidity and control with which their enterprise systems operate. This incompatibility between agile businesses and static, underlying enterprise systems has hampered efforts to change the business effectively and rapidly—changes that are required to capitalize on ever-occurring business opportunities. Whether a company is aggressive or conservative in its adoption of change, change is inevitable and ongoing. Some vendors have recently made attempts to enable some post-implementation flexibility via improved product connectivity and openness, role-based user access and communication, improved analytics and reporting tools, user-definable processes, and workflow modeling (see What Do Users Want and Need?).

However, it is dubious whether and how software originally built for static business environments can accommodate today's indisputably dynamic business environment. The fact is that most current commercial enterprise systems are architecturally imperfect, inflexible, and entrenched in outdated concepts of some pre-implementation flexibility and almost total post-implementation rigidity. The analogies to "pouring concrete over the users' feet" or "being as flexible as a PVC pipe after the glue has set" have become proverbial by now. In other words, the ability to support the user company in staying competitive usually involves working around the system and waiting for the next re-architected release, or completely implementing a redundant system that overrides the base ERP system. In addition to unnecessary time and cost, this leaves companies at a competitive disadvantage because they are continuously suffering from either the opportunity cost of not changing the business, or the operational cost of working around the system—or often a combination of the two. What's more, ironically, the core objectives of installing an ERP system in the first place (best practices, integration, etc.) are themselves eroded over time.

People-centric User Enterprises Need Even More :At this stage, we might also want to note that most enterprise systems were designed to cater to the needs of material-centric (material managing or "make, move and maintain") organizations, whose typical system requirements have traditionally been common group-wide process control and reporting systems. For such organizations with centralized control from the head office (and with divisions with similar operations that run under standard procedures and standard reports), current vendors' post-implementation flexibility (or lack thereof) might be enough. In fact, ERP system tables and parameters allow for fairly easily changing or adding new machines, operations, warehouses, and so on.

Some might even say that the key design goal of such manufacturing- and supply chain management (SCM)-oriented environments is control, and that the supporting enterprise systems were designed to resist change (and not only because of architectural inabilities and product design concepts at the time that these products were devised and deployed). In other words, maximized efficiency of processes and enforcement of best practices are often mandated by management. Also, although there might be heavy investment in the material management infrastructure, the information needs (while not necessarily minimal) are mostly aimed at a limited number of users.

Certainly, there are a number of issues working against the complacency of such environments, including increasing globalization, shorter economic cycles, regulatory pressures, acquisitions, consolidations, public offerings, and trading partners' collaboration and agility requirements. Soon, most of us will realize that intelligent implementation is not only about meeting the needs we can see today, but also about the needs we do not even know about yet. Thus, "post-implementation-no-modifications" is one of the most basic (and yet flawed) assumptions made by companies about their enterprise applications. Consequently or not, most enterprise vendors believed the "no modifications" assumption when they architected their products. However, this assumption is basically untrue, since even the largest customers using software from the largest vendors require customization and agility.

The situation becomes quite a bit more complicated for enterprise applications providers that intend to cater to the needs of people-, project-, and service-centric organizations, which differ from their material-centric counterparts in many regards. Perhaps these companies can be called "staff, source, and serve" (as opposed to their "make, move, and maintain" brethren). To that end, Lawson Software offers two different product lines, Lawson S3 and Lawson M3 (formerly Intentia Movex), aimed respectively at "staff, source, and serve" and "make, move, and maintain" enterprises. For one thing, people-oriented user organizations are different for the simple reason that they manage people and teams rather than physical products. It is all about managing knowledge, skills, and intellectual property, as well as relations (which are all of a "fluid," ever-changing nature). And for another thing, success in these organizations is about attracting, developing, and retaining the right people in order to create the right personnel composition to meet ever-increasing service level requirements. The astute enterprise system must be able to optimize the user company's resource pool at all times, and not only while they are working on projects.

From a structural point of view, people-centric organizations often consist of different units or operations, each with their own goals and objectives. The management within each unit has a big need to feel independent, and the underlying enterprise system they use should be tuned towards their own specific needs and requirements. From a geographical point of view, there are all types of scenarios—from organizations with a local or regional structure, to organizations that are spread around a country or continent, or even around the world. All these organizational characteristics have an impact on architectural needs and requirements when it comes to selecting a business information system. In other words, typical system requirements for people-centric organizations include tailored business systems for each unit with different operations, geographies, objectives, etc.—but also the ability to provide a holistic view of the business at the top.

The trick is thus to maximize overall efficiency and reduce overhead by streamlining core competencies and outsourcing non-core activities. Functionality without a sound and flexible technological foundation is often not enough to accommodate requirements related to the organizational characteristics of people-centric organizations. These requirements might include dealing with decentralization and devolved responsibilities of units, diverse demographics of the organization and its users, and different users with different requirements. Again, these environments are collections of a large number of services that are impossible for a single set of individuals to run. Although it is important to set corporate-wide directives, one has to empower the people in each of the service areas, and enable all business managers to have online access to accurate, relevant, and up-to-date information.

One example of dealing with complex requirements involves divisional procurement departments with requisition self-service capability and intrinsic review and approval processes. These might arise from delegated budgets, different authorization rules, different locations, different ways of information access, different types of users, external partners and outsourcing (subcontractors), and many other complicating factors. Furthermore, systems supporting these requirements need to support casual users with a little computing experience, since information needs to be easily accessible by and disseminated to everyone who needs it—at all levels and from remote locations. On the other hand, they have to allow information to be updated directly by those who know it best.

Managing Change and Growth

The next big characteristic of people-centric organizations is the continual management of change and growth. Business changes are often forced by external forces such as governmental regulations and legislation, customer or citizen demands, changes in technology or means of communication, competitive pressure, or even central directives. Creative thinking within such organizations is also often a reason for change, and the ways these firms can change are numerous. They can range from a change in types and levels of information requirements to changes into the geographical structure (new subsidiaries, mergers, acquisitions, etc.), to changes within the geographic locations in terms of services or "products" delivered (or the way they are delivered).

The very nature of these people-centric organizations calls for fluid, project-oriented teams. The makeups of the teams are ever-changing, with skill set requirements and individuals changing frequently. Change comes in many other ways and has to be managed adequately, quickly, and in a qualitative way, and one has to be able to measure, understand, and improve, with accuracy, timeliness, and relevancy in the background. For relevancy, it is important to note that transactions alone do not provide enough depth without analytic and business process context. Also, to complicate things even more, what is relevant to a chief financial officer (CFO) is not necessarily relevant to a project manager—what is relevant to department A is not necessarily relevant to department B, and the information needs of today will not necessarily match the requirements of tomorrow.

Because of these organizational characteristics, people-centric organizations have typically had to invest in a variety of enterprise solutions. One of the facts to be recognized here is that the bigger the organization gets, the more applications and data sources it has to implement. Unfortunately, IT projects have often been relatively piecemeal and unconnected, whereas packaged applications have as a rule enjoyed architectural isolation (whereby integration and ease of change were afterthoughts). Furthermore, until recently, enterprise standards were circumvented or overridden, and their focus was on the individual processes, not on the overall big picture of end-to-end processes (from the supplier's suppliers to the end customer).

Consequently, such organizations have been overloaded by a network of "spaghetti code" and "multiple versions of the truth," depending on the user group (which might consist of human resource [HR] professionals, trading partners, program management, top management, buyers, controllers and accountants, etc.). Yet, for any organization (people-centric or not), adequate information delivery is crucial. As mentioned before, it is all about the accuracy, timeliness, and relevancy of data. Moreover, the well-known "one version of the truth" still has to be presented differently to different constituencies, since no one can change what they are not aware of.

For these reasons, the reporting and analyses information portfolio has to be disseminated, both in a push and pull manner (as required), and in a form appropriate to various audiences. For instance, the finance department speaks in a language of division, budget type, property, credit controller, and so on; but the sales department understands sales person, campaign, channel, market, etc. Furthermore, the operational folks speak in terms of contracts, projects, work orders, and activities, whereas purchasing wants info about suppliers, buyers, requesting employees, cost centers, etc.

Yet, what has been keeping many managers awake at night has been a number of disconnected applications and data sources that do not make sufficient analysis easily available. Not only can business changes not be accommodated quickly enough, but the bad consequence of this is that it might also stop the flow of information altogether, which will make the situation even worse. Finally, when decisions have been made (based on often outdated and unpredictable information), the time it takes to implement the necessary changes will take so long that the next change has already occurred. In other words, implementation times are much longer than the change cycles.

To recap, people-centric or "staff, source, and serve" organizations have more pronounced requirements for complete business support, complex reporting and communication, flexibility, and adaptability. To enable these, one needs a tightly integrated functional system (including solid capabilities for financial management, budgeting, payroll, HR, resource planning, resource deployment, training and skills management, recruitment, estimating and bidding, project follow-up, project control and billing, travelling, time and expense capture, procurement, etc.). And the system must also be architecturally sound. In other words, the system has to be not only a data and transaction repository, but also an application featuring a single data model for the data dictionary (which defines technical attributes about the data fields within an enterprise system's database), business logic, information delivery, and process control— all of these spanning the entire application portfolio. On one hand, the user has to be able to capture all relevant data in multiple ways and transactions have to feature multiple analytical dimensions; on the other hand, data and logic must be more tightly connected so that "intelligent" alterations can be made quickly, easily, and correctly.


What Do Users Want and Need?

Microsoft Business Solutions (MBS) especially emphasized at Convergence 2005, the company's annual user conference, that the upcoming wave of MBS business management applications will make individual users much more productive. As part of the undertaking, the vendor claims to have conducted extensive face-to-face conversations with over 2,000 business people from around the world and from all walks of life; chief executive officers (CEO), marketing vice presidents (VP), sales people, accountants, purchasing managers and clerks, warehouse workers, and so on, were all talked to, observed doing their work, and more importantly, listened to.

The booming feedback according to MBS was that almost all of these users wanted their enterprise applications to be more intuitive and organized around their specific role and tasks, that is, with pertinent personalized desktops/user interfaces (UI) that would only show them what they need to naturally do their jobs. Another often heard issue was that people want to connect and collaborate in the context of their work. Also, given a number of customers that are switching from using "pedestrian" fax and snail mail to using e-mail as the main technology for connecting and transacting with their customers and suppliers, MBS intends to build much easier transactional e-mail support into the first wave of product releases, and to make it easier to build and use collaboration portals.

Almost every current or prospective user MBS talked to also purportedly prioritized gaining insight from applications. At the basic level, users want a more intuitive way to "look inside the business", and they want applications to bring them closer to their operations, such as alerts that can help them handle exceptions or better yet, to act on business events (or even non-events) well before they become exceptions (for more related information, see the article Business Activity Monitoring—Watching The Store For You). Customers also always want very flexible and easy-to-use reporting capabilities, whereby it is always astounding to see them referring time and again to Microsoft Excel when trying to create and visualize reports, thereby virtually crowning the spreadsheet product as the leading business intelligence (BI) tool (see Vendors Harness Excel (and Office) to Win the Lower-end of Business Intelligence Market).

These first three "software of the future" design themes—empowered, connected, and insightful users—are all about making people more productive, and Microsoft believes this convergence of structured transactional data coming from MBS applications and unstructured work coming from Microsoft Office is something it can uniquely do, although the trend has also been noted and tackled by the likes of SAP, IBM, and Oracle (see Mainstream Enterprise Vendors Begin to Grasp Content Management).

Going beyond end-user productivity, there is also the realization that most business people have a mental picture of the organizational hierarchy (with associated roles) and process flows model of their company in their head, and they want their business management software to be able to easily map to this model and change with it. MBS refers to this as the "adaptive process", which it plans to enable through a model-driven development approach. Although the idea of model-driven development has been a vision in the software industry for a long time, what makes Microsoft think it can deliver it to business applications now is the existence of a set of integration standards that make it easier for the building blocks of an application to be assembled into business process flows. To that end, the Web services stack precisely addresses this need, and the use of Web services in process-based applications is referred by some pundits as one practical embodiment of SOA. For more information, see Understanding SOA, Web Services, BPM, BPEL, and More.

To put this into competitive prospective, at the recent mid-May Sage Insights Conference, Sage Software's CEO Ron Verni also spoke about what drives users to investigate technology options—a vision that is rather focused on providing the broadest range of choices and customer-specific application options that readily integrate. For Sage, underlying technologies are a means to an end, and the end is to provide businesses with highly functional, easy-to-use business process management (BPM) tools. Sage is in the business of providing business applications, not development tools, and therefore is less inclined to develop in a way that requires an ever expanding technology stack such as what Microsoft focuses on (after all, the MBS-related business is not profitable, but the software tools business is). This is where the Best/Sage broad line of application comes into play, given its attempted sweeping coverage of market needs.

As it will be detailed later on, the vendor has also announced a multi-year plan to deliver an integration framework which ties many of these products as well as third-party products together behind the scenes, and a common desktop that ties the Sage products together at the UI level, providing businesses with logical suites of business applications that they can bring together in a building block fashion as their needs dictate. Sage offers many points of entry to its product lines, including specialty applications for construction, real estate, manufacture, non-profit, and accounting, among others. In addition, the idea of supporting Linux and non-Microsoft databases is not a foreign concept to Best/Sage, making the concept of "choice in computing" even more accessible, even if Linux and non-Microsoft databases are not supported across all products.

Microsoft's Upcoming Technology—Somewhat Explained:Coming back to Microsoft, for the first wave of Green, as mentioned earlier on, MBS is building a Web service-based interoperability layer, that is enabling applications to integrate, and is also developing composite applications to support cross-company and cross-module processes. To explain a bit deeper, Indigo, part of Microsoft's Windows upcoming operating system (OS) code-named Longhorn, unifies a variety of Microsoft technologies (e.g., Common Object Model [COM+], MSMQ, ASP.NET Web services [ASMX], and Remoting, most of which will be explained shortly) and transports (i.e., hypertext transfer protocol [HTTP], transmission control protocol [TCP], user datagram protocol [UDP]/dynamic data exchange [DDE], and inter-process communication [IPC]) to create a single framework and runtime environment for building distributed computing systems. Hence, Indigo is well suited for building software oriented architecture (SOA) systems, whereby service orientation should help software architects and developers design and build connected systems. As a well-known fact, SOA complements object orientation and helps articulate services (i.e., software components) in a platform- and implementation-independent manner.

Accordingly, Microsoft's server-side Web technology, ASP.NET, takes an object-oriented programming (OOP) approach to web page execution, whereby every element in an ASP.NET page is treated as an object and runs on the server. To refresh our memory, OOP is a type of programming in which programmers define not only the data type of a data structure, but also the types of operations (functions) that can be applied to the data structure, in which way, the data structure becomes an object that includes both data and functions. In addition, programmers can create relationships between one object and another, and, objects can, for example, inherit characteristics from other objects. One of the principal advantages of OOP techniques over traditional procedural programming techniques is that they enable programmers to create modules that do not need to be changed when a new type of object is added, since a programmer can simply create a new object that inherits many of its features from existing objects, making object-oriented programs easier to modify.

On the other hand, Web services are software programs that are communicated with via message exchange, and are also autonomous, which means they exist and run on their own. Furthermore, functionality exposed by these services are described using standards-based schema and contracts, so that many applications can invoke a service, and the service should not crash if one of the consuming applications breaks. A system would then be a collection of deployed services cooperating in a given task, and would thus be built to adapt to change.

Indigo is implemented in the Microsoft .NET Framework, which means that Web services can be created with any common language runtime (CLR)-compliant language, which can be dozens, at this stage. Indigo Web services are exposed on the wire via standards based technologies (such as extensible markup language [XML], XML schema definition [XSD], simple object access protocol [SOAP], Web services description language [WSDL], and other Web services specifications).

Earlier Microsoft .NET framework-based distributed computing technologies such as ASMX, Enterprise Services, Remoting, COM+/MSMQ can also be used from within Indigo applications, since Indigo can interoperate on the wire with virtually any applications built on infrastructure that conforms to the above Web services standards. For example, Remoting is a .NET-based technology (a replacement for Distributed Common Object Model [DCOM]) that allows objects residing in different application domains (and are said to be separated by a "remoting boundary") to communicate. Objects using remoting may be on the same computer, or on different computers connected by a network.

At the end of the day, Microsoft pledges to provide mechanisms for migrating applications that use most existing frameworks to services. To brush up on our knowledge, the .NET Framework is a programming infrastructure created by Microsoft for building, deploying, and running applications and services that use .NET technologies, such as desktop applications and Web services, which contain the following three major parts:

1. The CLR, also known as the virtual execution system (VES), which is a runtime environment that manages the execution of a .NET program code and provides services such as memory and exception management, debugging and profiling, and security;

2. The framework class library (FCL), which is the collective name for the thousands of classes that compose the .NET Framework. The services provided by the FCL include runtime core functionality (basic types and collections, file and network input/output [I/O], accessing system services, etc.), interaction with databases, consuming and producing XML, and support for building Web-based and desktop-based client applications, and SOAP-based XML Web services; and

3. The above-depicted active server pages.NET (ASP.NET).

Microsoft asserts that Indigo will also be instrumental in facilitating true peer-to-peer (P2P) communications, where personal computer (PC)/desktop users can "exchange data, share resources, locate other users, communicate, and collaborate directly in real-time" without the need for Web servers. P2P is a type of network in which each workstation has equivalent capabilities and responsibilities, which differs from client/server architectures, in which some computers are dedicated to serving the others. These networks are generally simpler, but they usually do not offer the same performance under heavy loads. For more information and a comparison with like capabilities of the counterpart Java-based development Java 2 Enterprise Edition (J2EE) environments, see Understand J2EE and .NET Environments Before You Choose.
Ease of Use and Affordability :Coming back to model-driven applications development, to drive further ease of use and affordability, MBS intends to scale the scope of its models to include declarative descriptions of business processes that are nowadays encapsulated in code. In doing so, it will be capturing the "best of process" knowledge from across all MBS product lines and building them into a software model that will, in fact, eventually converge the business logic code across the product lines as well.

In the first Green wave, it will start by abstracting out workflows, while in the subsequent second wave it will move to even finer-grain levels of the model wherein it will start to tackle the more tricky issues of complex flows, exception paths, and differences in planning versus execution time. A good starting point for much of this repository thinking has been the MBS Axapta's Application Object Tree (AOT) advanced model-driven application development environment that tremendously helps with recording and preserving customizations during migrations to future product releases.

To do more of this process modeling, MBS is working closely with the colleagues in the Microsoft Platforms and Visual Studio teams (which now includes the Microsoft Business Framework [MBF] team too) to drive these modeling tools, repositories, and runtime support for process execution. One of the key goals here is to deliver visual designers for process modeling for business analysts and not just programmers, much like it will be done in the Microsoft CRM suite's upcoming Workflow Management module.

The second Green wave, which is slated for shipping in 2008, will build on the first wave and will extend the model-driven approach to finer-grain business processes and help lower costs even further. Innovations released during the second wave will draw on the power of the upcoming WinFX programming model and Visual Studio.NET. By delivering on this vision of innovation, the MBS group hopes to enable customers to take advantage of the increased innovation in its products without experiencing significant disruption or costs.

All of the aforementioned Green themes—empowered, connected , and insightful users, and adaptive processes—will mean little to existing and prospective customers unless they contribute to change the fundamental cost structure of enterprise applications (i.e., to enable affordable adaptability). Therefore, an additional universal theme would be to lower total cost of ownership (TCO) by reducing the cost of evaluating, installing, configuring, and upgrading MBS applications. Last but not least, what MBS refers to Fundamentals would be its continued strive to front-load software development process (i.e., design phase) with customer centricity (not only in terms of qualitative customer feedback loops, but also by increasing levels of instrumentation in code), quality, reliability, and security.

As a recap, Project Green is not a product per se, but rather an ongoing process that produces incremental enhancements in existing products and that delivers on the vision of affordable adaptability across at least two waves of upgrades for all major product lines. At some point, the four ERP product lines might converge into one core system (in a possible third wave that would move toward increasing amounts of shared design and shared code while giving users the chance to move toward that common point), but it looks like quite a long time from today.

Although some may want to exult over even the mighty software empire's need to scale back its ambitions for Project Green to pragmatics, many will feel a sigh of relief now that the road ahead will be more evolutionary than revolutionary. On one hand, enterprise users prefer the comfort zone of stability, continuity, and incremental improvements in their business systems, rather than radical wholesale disruptions.

On the other hand, the ambiguity of the initial Green effort's goals and timetable have left MBS VAR and independent software vendor (ISV) partners in the unsustainable position of trying to sell today's products (on maturing technologies) against the prospect of a much more improved, possibly unified future product. The revised incremental product delivery in waves conveys the message that all the products will progress to these next-generation capabilities, and that there is no reason for customers to protractedly postpone their buying decisions.

Focus on Evolution and Incremental Upgrades:The most important research and development (R&D) revision might be that, instead of a complete rewrite, MBS is going to focus on the Web service layer enabling the four products so that their respective "best of breed" functions can be used—to some extent interchangeably—as the platform for a composite application solution that would be independent of any individual ERP product. This makes much more sense and will be not only easier to do, but easier for customers to leverage. Existing users will be glad that they will be able to stay on their current systems and take advantage of new technology as incremental upgrades, whereas new prospects will be able to purchase MBS applications today, knowing that they are not investing in products that will soon be at their end of life (EOL) point.

With the idea of no user left behind, one of the more popular uses for SAP's NetWeaver platform is to knit together SAP modules that cross several product releases, which is something that Oracle too is claiming to be planning in its forthcoming releases of Oracle, PeopleSoft, JD Edwards, and (at about the same time as the Green second wave) its upcoming "Project Fusion" release, see While Oracle and PeopleSoft Are To Fuse, Competitors Ruse—Leaving Customers (Somewhat) Bemused .

Further, with its product portfolio, MBS is addressing clients from as little as one million to as big as billion dollars (USD) in revenues, the question is how effectively that unified product and single approach of the previous Project Green can cater to varied needs of such a wide spectrum of users. The smaller enterprises need a very flexible and open package that can bend and adapt as their business changes or as they grow, whereby their users tend to fulfill more than one job or role at a time (if they are even clearly defined). Conversely, larger enterprises require more emphasis on security (restricting information access) and tend to have clearer role demarcations and, therefore, a larger need for a structure that defines business processes.

Thus, more important than whether the product is converged or not, the next-generation product has to feature a Web service platform and include a comprehensive set of business process components that can be configured and orchestrated through the use of some business process modeling tool.

Moreover, thereby partly dispelling rumors of potential product relegations to a "maintenance mode", Doug Burgum, senior vice president of the MBS Business Group at Microsoft also outlined the delivery roadmap for virtually all MBS enterprise applications:

* MBS Axapta—The Microsoft Axapta 3.0 Service Pack 4 will be released in the second quarter of 2005, whereas the availability of a beta version of Microsoft Axapta 4.0 is expected in the fourth quarter of 2005 with a release to manufacturing expected in the first half of 2006.

* MBS Great Plains—Microsoft launched Microsoft Great Plains 8.0 Extensions in the first quarter of 2005, whereas in the fourth quarter of 2005, Microsoft Great Plains 9.0 and Microsoft Business Solutions Business Portal 3.0 will be made available.

* MBS Navision—Microsoft will launch Microsoft Navision 4.01 in the third quarter of 2005.


MBS Solomon—Microsoft Solomon 6.5 is expected in the fourth quarter of 2005.

* MBS CRM—The next version of Microsoft CRM 3.0, rather than previously intended Microsoft CRM 2.0, with an entirely new marketing automation module and a slew of other minor enhancements, will be released to manufacturing in the fourth quarter of 2005.

* MBS for Analytics (FRx and Forecaster)—Microsoft Forecaster 7.0 will be released in the third quarter of 2005, while integration of Microsoft FRx 6.7 with Microsoft Navision 3.0 and Microsoft Navision 4.0 will be introduced in the first quarter of 2006. In the first half of 2006, Microsoft FRx 7.0 will be introduced, with Microsoft Forecaster 8.0 scheduled for launch in the second half of 2006.

* MBS Retail Management System (RMS)—Microsoft launched a next-generation point-of-sale (POS) solution in the second quarter of 2005.

On its hand, in addition to launching the abovementioned new naming convention for the company, during its conference Sage also launched twenty-five new products, upgrades, and services that will be available between now and September 30. The products, announced in front of some 2,300 partners attending the company's Insights 2005 partner conference, included a range of new SaaS offerings, which is a delivery model that is apparently becoming increasingly popular in the small and medium enteerprise (SME) market that is at the core of the Sage product offerings (see Trends in Delivery and Pricing Models for Enterprise Applications: Pricing Options).

As to possibly point out only some more remarkable new offerings out of the entire barrage of a near term roadmap for the extensive lineup of products, one could start from ACT! Premium for the Web, which is a hosted implementation of Sage's popular contact management application, whereby the familiar ACT! experience delivered via the convenience of the Web will now reportedly provide real-time, access to centralized and secure data anywhere with no synchronization required. Further, there is a re-branded Sage CRM offering based on the acquired ACCPAC CRM product, which is a suite of configurable customer relationship management (CRM) software for SMEs that is available both as a hosted service at SageCRM.com and for on-premises deployment.

Sage CRM, which is fully Web-based, also comes with an interesting rent-to-own investment protection guarantee that provides businesses with a critical safety net for their hosted CRM investment, whereby Sage provides SMEs with options to advance to more feature rich CRM systems as their needs evolve. Namely, the hosted option provides fast, on-line access to a configurable CRM suite for SMEs with immediate needs. If necessary in the future, Sage intends to help protect a customer's hosted CRM investment through the new rent-to-own program that returns up to 50 percent of a customer's hosted subscription fees if they move to an on-premises CRM suite product from Sage in the first twelve months of service. Sage CRM is available at $595 (USD) per user for on-premises licensing and $69 (USD) per user per month for hosted CRM at SageCRM.com.

Moreover, Sage CRM offers businesses significantly more freedom of choice than other solutions by eliminating technology �lock-in'. Namely, in addition to allowing customers to deploy the same solution either on premises or as a hosted service, including the ability to move between either as their business needs dictate, Sage CRM clients also have more supporting technology options, including Microsoft Outlook and Lotus Notes integration, plus the IBM DB2, Microsoft SQL, Oracle, and Sybase database options. Like its on-line counterpart, Sage CRM is also identical to the company's existing ACCPAC CRM product, whereby additionally, an ACCPAC edition provides bidirectional front-office/back-office integration with the ACCPAC Advantage Series accounting and operations management software. In essence, ACCPAC CRM will thus be sold to customers looking for a specific set of accounting features, while customers looking for integration of those features with other Sage products will be sold the same product under the Sage CRM moniker.

Last but not least, the vendor is expanding its Sage Payroll Services offerings into mid-market companies and organizations. Offered within the framework of Sage Online Services, the new outsourced payroll services for the mid-market will be added to the company's existing Peachtree Payroll Service for small businesses, which currently has more than 5,000 customers. Sage Software's other online service offerings for SMEs include Sage Compliance Services, formerly known as FLS tax compliance services, in addition to the above SageCRM.com for hosted CRM.

Also built on a true Web-native architecture, the new Sage Payroll Services include Sage Payroll Services Abra Edition, which integrates with Sage Abra HRMS (human resources management system) solution, Sage Payroll Services MAS Edition, which integrates with the company's Sage MAS 90 and Sage MAS 200 accounting products, and a stand-alone Sage Payroll Services offering, which can reportedly be used in conjunction with any in-house accounting system. Peachtree Payroll Service is also built on the same Web-native architecture, but especially meets the needs of small businesses by integrating with the company's Peachtree by Sage accounting products.

Many of other new products and upgrades that are due shortly continue the themes of integration, technology choice, and advanced connectivity of both business processes and users, with products as diverse as Web platform versions of ACT! contact manager and SalesLogix CRM, to on-line banking for Peachtree 2006 accounting products, and the direct integration of many Sage Software products.

What Are Manufacturing Execution Systems?

What Comprises a Manufacturing Execution System Anyway? : Plant execution software systems have many different scopes, forms, and formats and mean different things to different folks. Although plant execution software is used widely in a number of industries, they are rarely described similarly, and their functions are rarely identical. An execution system used at an electronics discrete manufacturing facility is similar only in concept to one used at a food processing plant, and these differ substantially from that used by a pharmaceutical or chemical manufacturer. Time and experience have led the most successful vendors to pursue a "narrow-and-deep" strategy, and to devote their software development to the industries they know best. Even still, the names given to the various components of the execution systems vary greatly among industries and even among companies within an industry—if not between plants within a company.

To add further confusion, official definitions of manufacturing execution systems (MES) differ as well. APICS Dictionary defines it as

[p]rograms and systems that participate in shop floor control, including product lifecycles (PLCs) and process control computers for direct and supervisory control of manufacturing equipment; process information systems that gather historical performance information, and then generate reports; graphical displays; and alarms that inform operations personnel what is going on in the plant currently and a very short history into the past. Quality control information is also gathered and a laboratory information management system (LIMS—applications used to manage the collection of samples, collection and formatting of test results, and the reporting of results by sample or product category, whereas these applications may be environmental-, medical- or research-focused) may be part of this configuration to tie process conditions to the quality data that are generated. Thereby, cause-and-effect relationships can be determined. The quality data at times affect the control parameters that are used to meet product specifications either dynamically or off line. [italics added]

Gartner's IT Glossary defines MES as a

computerized system that formalizes production methods and procedures within the manufacturing environment, providing online tools to execute work orders. The term is generally used to encompasses any manufacturing system not already classified in the enterprise resource planning (ERP) or open control system (OCS—a manufacturing system that is based on a set of commercially available, standards-based technologies, and that permits the open exchange of process data with plant systems and business systems throughout a manufacturing enterprise, whereas "Control" refers to process control for discrete, batch and continuous-process manufacturing, as well as computer numerical control [CNC] and other motion controls) categories. In the broadest definition, MESs include computerized maintenance management systems (CMMSs), LIMSs, shop floor controls (SFC—a system of computers and controllers used to schedule, dispatch and track the progress of work orders through manufacturing based on defined routings), statistical process control (SPC) systems, quality control (QC) systems, and specialized applications such as batch reporting and control. [italics added]

What these lengthy definitions illustrate is that it can be difficult to easily identify or define the full range of applications used on the plant floor, let alone determine what falls exclusively under MES. Moreover, vendors never hesitate to add to the confusion by using creative labeling to suggest difference.

To put MES into perspective, it can be defined both broadly and specifically. Broadly speaking, MES can be regarded as a collection of business processes that provide event-by-event, real time execution of planned production requirements. For example, it can calculate what and how much to produce, based on information from the enterprise planning level. From electronic production management systems to shop floor data capture, MES functions manage operations from point of order release to manufacturing, to point of product delivery to finished goods.

A narrow definition of MES is that it serves as a work order-driven, work-in-process (WIP) tracking system that manages and monitors production events and reporting activities. It captures "live" information about setups, run times, throughput, yields, etc., allowing managers to better measure constraints, identify bottlenecks, and get a better understanding of capacity. It closes the loop for production management and helps ensure production is followed as planned.

MES Today :Seen as a bridge from the plant floor to the rest of the enterprise, MES has become the principal means of delivering real time order status to the supply chain, for available-to-promise (ATP) processing, and for "closing the loop" with sophisticated enterprise and supply chain planning systems.

As a result, and despite the disparities surrounding MES systems, some similarities exist regarding its general functional scope. The functions and information collected in these systems can be categorized similarly. Overall, MESes try to bring pervasive computerization to plant floors in a systematic way by placing diverse functions on a single platform, including quality management, document management, and plant-floor dispatching. The components of these systems can, in principle, be divided into two categories: 1) core functions, which are directly associated with managing the production process and are included in most vendor packages; and 2) support functions, which are somewhat peripheral to the central order management process, and are only provided as options.

An MES tracks WIP through detailed product routing and tracking, labor reporting, resource and rework management, production measurement, and automated data collection (ADC). In other words, it acts as a collection point, clearinghouse, and translator for data that is needed on or is generated by the plant floor. See The Why of Data Collection for more information. It also offers exception management, which provides the ability to respond to unanticipated events that affect the production plan, such as a bill of materials (BOM) item shortage for a work order in process. Most systems include the ability to react to exceptions following rules that are typically plant-centric, and exception management generally requires some level of configuration or customization in order to meet local requirements.

These core functions are fulfilled through modules like Order Management, which can accumulate and manage work orders that have been received from the planning system, often through some planning system interface that defines what and how information is exchanged. It performs common tasks such as quantity changes to orders; combining or splitting orders; running short-term what-if analyses to determine best current resource use; and prioritizing, dispatching, and scheduling.

A Workstation/Work Centers Management module can implement a work order production plan, and assign workstation scheduling. It is also responsible for the logical configuration of each workstation. The availability of current resources and current scheduling requirements, by operation, are normally maintained here.

Additionally, the Inventory Tracking and Management function develops, stores, and maintains the details of each batch, lot, or unit of inventory of the WIP. The Material Movement Management module, then logically, schedules, and manages the movement of material, either manually or automatically. Through such modules, an MES application can deliver a proven, reasonably justified, closed-loop systems for highly complex manufacturing environments that have high product mix; real-time, event-driven conditional workflows; and heavy ADC requirements (such as for lot/serial tracking)..

As explained in The Challenges of Integrating Enterprise Resource Planning and Manufacturing Execution Systems, MES and ERP do overlap to some degree. However, no ERP vendor has natively built real time production monitoring, warehouse management, time and attendance capture, and quality management in its solution. Even Invensys, which once had the respective ERP and MES products of Baan, Marcam, Avantis, and Wonderware, was never able to deliver such a solution. See The Name and Ownership Change Roulette Wheel for Marcam Stops at SSA Global—Part Three: Last-Ditch Effort by Invensys and Integrated Solutions: Look Before You Leap.

Nonetheless, despite the ambiguity of the MES market, companies such as IQMS are still attempting to bridge ERP and MES. IQMS is a privately-held, relatively small developer of EnterpriseIQ, a well-attuned extended-ERP system for small and medium plastic processors and repetitive manufacturers. The solution might very well be unique in the entire enterprise applications arena, because it offers modules with peripheral MES functions, some of which have traits of both enterprise applications and plant-level systems. See the IQMS Prospers by Helping Enterprises Work Smarter series.

Peripheral MES Functions:What may be a critical flaw of the MES vendor community is its failure to clarify the function of MES. When a provider declares itself to be an MES vendor, often all it is really saying is that it is not an ERP, enterprise asset management (EAM), or open control software (OCS) vendor, which leaves the user to guess what functionality scope the vendor really provides. MESes come in all shapes and sizes and can have one or more of the components outlined above, depending on the industry and user company. For instance, a company might call a single module—such as a statistical process control (SPC) or a physical infrastructure management system (PIMS) package—an MES system. Others may offer a wide assortment of systems and collectively referred to them as an MES, but have no tie between the packages. Also, in some instances, core functions will generally be well integrated, but most of the support functions will not. For example, while more modern applications pay more attention to data integration issues, most current plant-level execution systems still consist of disparate components.

In an effort to give readers clarity about MES systems, we have compiled the following list of key MES functionality. These also illustrate the overlap that can occur between enterprise applications and plant-level systems:

CMMS (computerized maintenance management system) or EAM systems manage production equipment maintenance and repair-related issues, including predictive and preventative maintenance; work order and labor scheduling; procurement and storage of the repair parts inventory; and equipment-record maintenance. For more information, see EAM Versus CMMS: What's Right for Your Company?

Time and attendance/clock systems usually include clock-in/clock-out information and labor and employee skills data. In the case of IQMS, its optional IQ Time & Attendance module is a time clock system that eliminates the need for a third-party time clock system, which would normally be implemented by partnering with an ERP competitor, such as Kronos or Kaba Benzing. Such systems minimize the time required for labor data input. The product generates payroll timecards or an output file for external payroll systems (since native integration with the IQ Payroll module is currently available only in the US). It also generates more accurate job costing information by tracking labor to specific tasks. IQ Payroll links labor reporting to production reporting and job costing in the JobShopIQ, IQ Project manager, and IQ Preventive Maintenance modules. IQ Time & Attendance also supports visual shift scheduling and multiple login devices, such as keyboard, "swipe" readers, and biometric scanners.

Warehouse management systems (WMS) are primarily used for monitoring and managing outbound inventory activities. Supply chain execution (SCE) tasks, for example, can also include logistics and other transportation management data, and some systems are also capable of inbound raw or purchased material management. Product location information and order fulfillment instructions are two of many on-line functions. In the case of IQMS, its wireless IQ Warehouse Management System (WMS) module supports hand held scanners, personal digital assistants (PDA), and radio frequency (RF) technology, and will likely improve plant floor communications and lower the cost of inventory data collection. At the same time, allows on-line updates in almost real-time. The module handles a raft of inventory transactions such as receiving, manual adjustments, physical inventory, production entry/materials backflush, pick tickets, packing slips, etc. It can also access information from the IQ RealTime Production Monitoring system, including information on job setup, entered scrap, production reporting, printed labels, or downtime codes reports. Other systems include HighJump Software, a 3M company, which start as a shop floor data collection solution in the early 1980s and introduced its MES offering, Manufacturing Advantage, in early 20005. For more information, see ERP and WMS Co-Existence: When System Worlds Collide.

Statistical process control (SPC) is a quality control method that focuses on continuous process monitoring rather than the inspection of finished individual products—it has the ability to do capability calculations based on the data that users capture from the shop floor. For example, during the execution of the batch, the former Lighthammer CMS product (now part of SAP xApp Manufacturing Integration and Intelligence [SAP xMII]) can run a continuous analysis and generate a quality alert in the portal, based on an SPC rule violation. Clicking the alert generates a pop-up containing further details. This allows management to drill down one more level to get information from the shop floor. The alert can provide suggested actions, links to reference documents, drawings, and other information that will help management understand what caused the occurrence.

Statistical information, including detailed process variable trends and SPC charts with historical data, can also be found by clicking a highlighted SPC chart. One can see what the quality problem is and its possible origins based on data from the past shift or the past week. The SPC charts can then show users how the information is tracked, including past or present values from a particular shift or from the execution of the current batch. One can look at the specification and control limits, or look at the customer specification limits and inner control limits that may have been defined for this product. In addition, the comment capability allows users to make notes for each point in the chart. Users can capture information about the circumstances that caused the problem, and can see what corrective action was taken. Not only can users determine that there is a problem, but they can also ascertain the ability to fix a problem so its chances of re-occurring is diminished.

Quality management systems (QMS), such as EntepriseIQ from IQMS, may or may not be tied together with SPC or ISO 9000 quality standards, but whether standalone or combined, these packages are frequent components of the production process. The similar holds for laboratory information management systems (LIMS) and environmental safety and health systems (ES&H), which is a category of software applications that deals with regulatory compliance, such as the US Environmental Protection Agency (EPA) or Occupational Safety and Health Administration (OSHA) requirements.

Process data/performance analysis or process information management systems (PIMS) that involve process data collection and management can be a standard package developed for specific applications, such as time/cost variance information or manufacturing process records.

Document management (DM) or product data management (PDM) systems can handle unstructured data, which can be used to create product drawings and process information, and supply data for plant-floor use. For more information, see Mainstream Enterprise Vendors Begin to Grasp Content Management.

There are many MES components, and this list is far from conclusive. However, IQMS does have many of these components, which may very well make it an appropriate measure for MES. Its IQ WebDirect, a Web-based trading partner self-service portal technology, helps achieve real time information. It tends to enhance supply chain communications, improve customer and supplier relations, and reduce customer and supplier service costs by allowing 24x7 access to data. The portal allows customers to add, edit, or change orders; check the order status; inventory availability; shipments; invoicing; vendor managed inventory (VMI) entry (based on flexible rules); and publish reports. On the other hand, suppliers can check purchase order information, inventory, receiving, invoicing, quality assurance (QA), genealogy, cash payments, and published reports.

User Recommendations:
Ultimately, all major plant automation systems vendors have devised some form of software architecture to support, not only open integration, but a common approach to plant data and common services like alarming and trending. Additionally, traditional MES technology providers have been extending their systems to include improved support for a wider variety of functions, including QA, product lifecycle management (PLM), and supply chain collaboration.

In any case, prospective manufacturing system users should not be too concerned about buzzwords and acronyms, but rather define their requirements around the key manufacturing processes, such as "get-ready to" or "plan and prepare" production, production execution, information processing, information analysis, and action coordination. Enterprises should, to that end, thoroughly analyze their typical manufacturing scenarios, identify their information collection requirements, both on the production side and on the planning side, and evaluate whether these are things its existing enterprise system can handle.

Depending on the enterprise's style of manufacturing, deploying an MES or other plant-level systems might not be particularly beneficial. Namely, a predominantly manual-job shop with low product volume, might suffice with an ERP system which can deliver work instructions and provide a manual or "paper-on-glass" interface for shop floor personnel to enter job completion and quality status information.

But, traditional ERP systems cannot effectively handle high-speed, high-volume, and high-mix environments where data must be collected and coordinated with plant automation equipment. Enterprises that fall into this category, or enterprises that are in regulated industries where there is a greater need for tracking and tracing capabilities, or plants struggling with excessive scrap levels, poor machine/personnel utilization, or quality issues, might be good MES candidates, since an MES will give users better visibility into plant operations.

While MES systems typically involve more customization than their ERP counterparts, aspiring MES vendors should offer templates containing requirements of the prospect's industry, so that no one has to start from scratch to determine what type of functionality falls within the vendor's definition of MES. This should keep cost and risks down. Also, for enterprises that will likely grow and expand into mixed manufacturing environments, scalability remains an important issue, because it will help "future-proof" their MES investment. Such enterprises should select a product that covers a variety of manufacturing operations, from batch processing via repetitive discrete manufacturing to assembly-to-order (ATO).

User Recommendations for Project-oriented Software

Introduction:In the first part of this series on project-centric software (see Project-oriented Software: Many Choices, Many Differences), we examined the particular challenges faced by professional service organizations (PSOs), and some of the elements required for success. We looked at two interesting Deltek offerings in this domain (Deltek Vision and Deltek FMS), and we'll turn now to two other significant products: BST Enterprise and Microsoft Dynamics SL (formerly known as Solomon).

BST Enterprise

BST Enterprise (http://www.bstglobal.com/default.htm), published by BST Global, is aimed specifically at environmental, engineering, and design firms. International design firms are the main customer base. Currently, BST Enterprise supports 200 to 300 design firms in 37 countries. The typical firm size is 250 to 350 employees, giving BST Enterprise over 80,000 users. BST Enterprise is geared specifically towards larger companies with a geographically dispersed workforce requiring internet-based access through a portal. The system is thus completely .Net-architectured (written in Visual Studio .Net), with an open platform promoting seamless integration with outside applications as well as users in remote locations.

Competitive Advantages

BST Global has created a software development kit (SDK) called Freedom Framework, which allows users (employees and business partners) to bridge the gap between the system and outside devices and people. The major components of this strategy are Blackberry alerts, smart documents, portal web parts, and custom applications. Given the size of firms within BST Global's target market and their geographic dispersion, implementation services receive significant attention to detail. When a system is installed, BST Global consultants spend a great deal of time identifying what specific information drives the decision-making process. Once this has been determined, a specific set of trigger points and matching alerts can be designed and associated with one or more people within the firm.

Given the international markets in which BST Global competes, BST Enterprise has been designed as a fully compliant global (multicurrency) business management system. And although the BST Portal (dashboard) can be tailored to meet the needs of specific clients and users, a default portal has been created to meet the needs of executives, project managers, project directors, operations managers, business development, and finance. This is perhaps one of its strongest features. Any web parts are preconfigured standard views, users (or their business partners) can create views that are specific to their business and industry.

BST Global has adopted the concept of management by exception, and has designed many business processes that are launched when some form of alert is triggered. While many products support alerts of some form (usually e-mail), BST Enterprise has developed a complete business management system that launches specific functions, or allows users to jump to a business process from the alert. For example, users can create an alert that notifies them when a project has reached a billing milestone (say, 30 percent completion). The alert will be shown on the user dashboard, and from there the billing process for the job can automatically be launched.

BST Enterprise also supports the notion of full collaboration, where multiple users access the same information or functions. For example, multiple people might be working on a client's project plan. The team collaboration web site might include announcements related to the project, shared documents, tasks and their status, menu functions, and links to URLs pertinent to the project or customer. Rather than imposing standard data input forms, BST Enterprise supports input/output documents that look and feel just like spreadsheets. When users access one of these smart documents and input data, those changes are posted back into the business management system. The same smart documents can be used for review purposes with the modified data posted back into the business management system.

BST Enterprise supports the notion of tree views, whereby users can move up and down the tree (project, phase, task, and organization), and select from a more limited set of reports rather than having to wade through an extensive list of all possible project reports. Finally, BST Enterprise supports its own customer relationship management (CRM) and project management applications as well as an integration with Microsoft CRM and Microsoft Project.

Competitive Disadvantages

BST Enterprise plays very well in the international market as well as with larger design firms. It probably is not quite as appropriate for smaller US-based firms: although these firms may be technologically savvy, the learning curve for a product such as BST Enterprise may be a bit of a challenge. In addition, these firms may not require all of the functionality typically used or required by a larger firm.

BST Enterprise does not support any horizontal applications, including inventory management or service management. This is a deliberate and strategic decision by BST Global. It also does not currently support collections management, but will be introducing such an application later this year. Given the global enterprise market in which BST Global has chosen to compete, its lack of a reseller channel could be viewed as a competitive disadvantage, particularly when local resellers may be more aware of opportunities in their geographic region.

Microsoft Dynamics SL :Microsoft Dynamics SL (http://www.microsoft.com/dynamics/sl/default.mspx), formerly Solomon, is a horizontal business management system with a particular focus on project-oriented users as well as industrial distributors.

Competitive Advantages

Microsoft Dynamics SL will certainly compete favorably in the PSO market where time and expertise is "sold," but its horizontal nature allows it to compete in a mixed-mode market where products are sold as well as time. For example, an industrial distributor or manufacturer may contract with a customer to provide materials and services, not just services. If the project is complex or lengthy, project management functions may be required in addition to product or manufacturing functions. In other cases, a finite project (with a start and end date) will morph into a longer term service contract in a later phase. In these cases, project management is important, but it is not the sole requirement.

MS Dynamics SL is the only product among the four reviewed in this series that supports a service management application suite. While this may not be required by organizations that are strictly project-oriented, it is becoming increasingly important where post-project services are less project-centric and more service-oriented. Microsoft Dynamics SL is a robust business management system, and its back-end accounting functionality is certainly superior to the three vertically-focused products reviewed here. This net superiority really seems to be the case for many other industry-specific products when compared to a horizontal business management product with one or more industry-specific applications.

MS Dynamics SL is also the only product among these four solutions to support inventory (along with Deltek Vision, which will be releasing an inventory application later this year). All material purchased must be assigned to a project. This probably works fine for many project-oriented organizations, but as services begin to move toward an environment where material is just as important as labor (IT infrastructure installation, service and repair, field service, and so on), the ability to purchase in bulk (reduced unit cost) and to react to emergencies (middle-of-the-night swap-out of server/network material) becomes a business imperative. This then drives the need to carry critical inventory and (as a result) to account for that inventory.

Although all four products support extensive reporting, Microsoft Dynamics SL supports a full suite of business analytics applications: BIO (Business Intelligence Optimization) for Microsoft Dynamics SL, Microsoft FRx Professional, and Microsoft Forecaster Professional. BIO for Microsoft Dynamics SL is an operational analytics application that gives decision-makers unique and relevant insight into business drivers. Slated for release to manufacturing in May 2006, it provides personalized role-based business performance scorecards, as well as robust strategic, operational, and financial analytics. It also provides sixty unique perspectives for analyzing business data across fourteen common organizational roles. People can view the analytical reports from the tools they are used to (including Microsoft Excel, Microsoft Office SharePoint Services, Microsoft Office Business Scorecard Manager, and the rest of the Microsoft system product lineup), or directly within the application itself. Built on Microsoft SQL Server Analysis Services, it also fully integrates with SQL Server 2000/2005.

Microsoft Dynamics SL supports several third-party collections management applications that will help users manage their accounts receivable. As indicated earlier, a project is not complete until all invoices have been fully paid. Although all of the products reviewed here offer a payroll application, Microsoft Dynamics SL supports a comprehensive payroll application that includes robust union tracking and calculations. Consulting projects that primarily use salaried employees may not require sophisticated union-related functions, but many federal contracts that use hourly (union) employees will require such functionality.

Competitive Disadvantages

While its horizontal nature (distribution, service management, and so forth) does allow Microsoft Dynamics SL to compete very well in a mixed-mode environment, this same quality is probably a disadvantage when competing in the PSO market. Many firms do not require these mixed-mode functions, and their purchase decisions are dependent on project-oriented functions only. Microsoft Dynamics SL does provide these functions, but the system itself is not specifically designed for PSO firms. In other words, the functions are there, but not in the same way as one would find in the other three products reviewed.

Microsoft Dynamics SL supports an older menu structure that may not appeal to technologically advanced organizations. While the menu structure can certainly be customized, this requires some work. The product has just introduced a dashboard but does not yet support portal access. The dashboard will be improved over time, but support for an Internet-based (.NET) system is projected for some time in the future. And while Microsoft Dynamics SL does support most of the functions required by a PSO firm, many of these requirements (primarily resource planning and proposal creation) must be met by a third-party application rather than being native to the product. This may not necessarily be a disadvantage, but it might be if the third-party vendor does not keep up with the core product, or worse, if it goes out of business.

Microsoft Dynamics SL does integrate with Microsoft CRM, a very powerful CRM application, but Microsoft CRM is a horizontal application with no direct support for the PSO market.

User Recommendations :There is no distinctly superior project-oriented business management system. Each organization must determine what it needs to do well for success. These success factors may depend on the specific requirements of the industry niches in which the organization competes, as well as on how the organization is structured. Some organizations thrive on the leading edge of technology, while other organizations in the same niche are more comfortable with more basic functionality.

Each of the four products reviewed has individual strengths that will be of significant interest to some organizations. Once needs have been defined in a comprehensive way, they must be compared against each likely business partner, at which point several should be selected for more intensive investigation. In the end, the product chosen will meet the user's requirements as well as a host of subjective criteria such as price, implementation services, training, the health of the vendor, the suitability of the vendor or reseller as a good business partner candidate, and the degree to which users "like" the system. Ultimately, this last factor may be one of the most important selection criteria. A system that appeals to people will be the system that will be most easily integrated into the organization's daily business practices.

Microsoft .NET Enablement: Analysis and Cautions

Analysis:As discussed earlier in this series, to develop and deploy a Web service-connected information technology (IT) architecture, several elements are required: smart clients, servers to host Web services, development tools to create them, and applications to use them. The Microsoft .NET Framework includes these elements, as well as a worldwide network of more than 35,000 Microsoft Certified Partner organizations to provide any help users might need. For a definition of how the Microsoft .NET environment addresses the situation, see Subtle (or Not-so-subtle) Nuances of Microsoft .NET Enablement.

Part Three of the series Subtle (or Not-so-subtle) Nuances of Microsoft .NET Enablement.

For a general discussion of the evolution of system architecture, see Architecture Evolution: From Mainframes to Service-oriented Architecture.

Only a few innovative or brave (or both) Microsoft-centric vendors have embarked on a gut-wrenching (but potentially rewarding) effort to deliver brand new software written in managed .NET Framework-based code, where many of the basic system tasks are removed from the code and "managed" by the .NET Framework. This functionality, which has been completely rewritten, or newly created using only the .NET Framework, can then be used and accessed through Web services, as with the examples of .NET-enabled ("wrappered") counterpart software cited in Examples of Microsoft .NET Enablement.

Cautions:However, if history helps us predict the future, it is awfully difficult to effectively execute this strategy of transforming software frameworks, and only the most resourceful or steadfast vendors are tipped as winners in the long run. Thus, one should be aware of how technology might develop in the future, while conducting the alignment of business and IT functions. Across the application life cycle, the high cost of development, support, and enhancements in terms of money, time, and quality limit the ability of installed legacy software to meet many demands of business. Other possible stumbling blocks might come from the facts that legacy functionality may not be accessible for modifications, and that such environments might require an additional layer of code to be developed and maintained for the wrapper (whereby the programmer must continue to manage system tasks). Also, this technology leap might not be positioned well for future Microsoft technology advances, such as Windows Vista.

Once other proprietary technologies are introduced into the research and development (R&D) equation, any vendor has to deal with translation, interface, and performance issues, not to mention the pain of migrating or keeping existing customers up to date, or maintaining multiple product versions. In fact, some laggard vendors even see the service-oriented architecture (SOA) and Web services bandwagon as an opportunity to portray legacy systems as "a treasure trove" of software assets. Although this might hold true for some applications where there is no business justification to "reinvent the wheel" (in other words, to duplicate what already exists, by developing a new payroll or general ledger system, for instance), users and vendors should make a rigorous effort to sort through this treasure trove and separate the "diamonds" from the "rhinestones." They will have to conduct a thorough discovery process to find out what functional assets they really have, and then make some tough decisions about what to keep, what to modernize, and what to throw away, since the code that is kept will form the foundation of a functional repository of services that will be used for years to come.

Many vendors, especially those with some longevity in the market (and even mainframe roots), like to create the belief that under SOA, no old code is bad old code. But the truth can be quite different. Some legacy systems have been around for forty years or more, and even though they may still be working, and doing something useful, not all of them are worth keeping as is. In many circumstances, companies can get away with wrappering as a temporary measure. Eventually though, and contrary to what many vendors say, both vendors and user enterprises will be forced to modernize and transform much of their legacy code. For more information, see Rewrite or Wrap-Around Old Software?.

To that end, in fact, Epicor Vantage is an example of an application that is essentially positioned between the .NET-enabled approach and the rewrite in pure .NET managed code (which is the next evolutionary step, as will be explained shortly). That is, around 60 percent of Vantage is in .NET-managed code (in other words, a C#-based smart client, extensibility tools, customization, and so on), and all business logic is exposed as Web services (not wrappered, but rather Web services generated from Progress OpenEdge). In the rewrite effort, Epicor recreated much of the business logic in a far more componentized and granular way, in order to support Web service calls. For instance, the checking capability to promise (CTP) call that Vantage users require cannot operate properly without the .NET Framework.

Certainly, the presence of Progress means that Vantage is not completely in .NET-managed code. However, with Vantage Epicor has not planned to be 100 percent .NET, but rather 100 percent SOA. The vendor has simply used .NET for the majority of the solution where it made sense, such as for client-side dynamic link library (DLL) management, and provided a standardized Epicor Portal platform based on the "latest and greatest" Microsoft SharePoint technologies (see Epicor To Give All Its Applications More Than A Pretty Facelift). When the vendor did not use .NET, it was to ensure choice and flexibility for customers on the operating system (OS) and database side. Namely, pure .NET throughout means only a Microsoft stack, whereas Epicor can support Microsoft and Linux/Unix OS, and Microsoft SQL Server, Progress, and Oracle databases (Oracle is not currently supported, but the intent is to support it in the future). This decision was important for supporting larger customers who rightly or wrongly maintain a perception that the Microsoft platforms cannot scale.

SYSPRO's design has also been along similar lines, and the SYSPRO Reporting Services (SRS), Analytics, and web applications mentioned in Subtle (or Not-so-subtle) Nuances of Microsoft .NET Enablement were all written using .NET-managed code, whereas the SYSPRO Cyberstore's .NET-enabled capability is also featured in the SYSPRO BarCode and SYSPRO Warehousing Management System (WMS) systems, which are all integrated totally to the core enterprise resource planning (ERP) system via the .NET Framework.

Is .NET-managed the Right Way? :However, .NET-managed software products are built entirely of homogenous .NET "managed code" components, meaning without any wrappers. In other words, managed .NET code is code that has its execution managed by a .NET virtual machine, such as the .NET Framework Common Language Runtime (CLR). Managed refers to a method of exchanging information between the program and the run-time environment, or to a "contract of cooperation" between natively executing code and the run time. This contract specifies that at any point of execution, the run time may stop an executing central processing unit (CPU) and retrieve information specific to the current CPU instruction address. Information that must be query-able generally pertains to run-time state, such as register or stack memory contents.

The necessary information is thereby encoded in a Microsoft Common Intermediate Language (MCIL or MSDIL) and associated metadata, or in symbolic information that describes all of the entry points and the constructs exposed in the MCIL (such as methods and properties) and their characteristics. The common language infrastructure (CLI) standard (whereby the CLR is the primary Microsoft commercial implementation) describes how the information is to be encoded, and programming languages that target the run time emit the correct encoding. All a developer has to know is that any of the languages that target the run time produce managed code emitted as portable executable (PE) files that contain MCIL and metadata.

As emphasized earlier on, there are many such languages to choose from, since there are more than thirty languages provided by third parties—everything from COBOL to Camel, in addition to Visual C#, J#, VB.NET, Jscript, and C++ from Microsoft. The CLR includes the Common Language System (CLS), which sets the rules and regulations for language syntax and semantics, as well as the Common Type System (CTS), which defines the data types that can be used. Because all programs use the common services in the CLR, no matter which language they were written in, such applications are said to use "managed code." In a Microsoft Windows environment, all other code has come to be known as "unmanaged code," whereas in non-Windows and mixed environments, managed code is sometimes used more generally to refer to any interpreted programming language.

Before the managed code is run, the MCIL is compiled into native executable (machine) code. Furthermore, since this compilation happens through the managed execution environment (or more correctly, by a just-in-time [JIT] compiler that knows how to target the managed execution environment), the managed execution environment can make guarantees about what the code is going to do. It can insert traps and appropriate garbage collection hooks, exception handling, type safety, array bounds and index checking, and so forth. For example, such a compiler makes sure to lay out stack frames and everything "just right," so that the garbage collector can run in the background on a separate thread, constantly walking the active call stack, finding all the roots, and chasing down all the live objects. In addition, because the MCIL has a notion of type safety, the execution engine will maintain the guarantee of type safety, eliminating a whole class of programming mistakes that often lead to security holes.

This is traditionally referred to as JIT compilation, although unlike most traditional JIT compilers, the file that holds the pseudo machine code that the virtual machine compiles into native machine code can also contain pre-compiled binaries for different native machines (such as x86 and PowerPC). This is similar in concept to the Apple Universal binary format, which is perceived by many as the system that "never crashes." Conversely, unmanaged executable files are basically a binary image, x86 code, loaded into memory, whereby the program counter gets put there, and that is the last the OS knows. There are protections in place around memory management and port I/O and so forth, but the system does not actually know what the application is doing. Therefore, it cannot make any guarantees about what happens when the application runs.

This means that .NET-managed software should benefit from the many performance and security advantages of .NET-managed code, since the CLR handles many of the basic tasks that were previously managed by a programmer in the application code, including security checks and memory management. .NET-managed products will also likely more smoothly run as "native code" on Microsoft Vista and future Microsoft OS and technology advances, providing another important advantage. Finally, .NET developers that have experience with managed code will confirm that this new programming paradigm allows them to develop and extend applications in record time and with significant improvement in quality. This is owing to the ability to create new "leaner" software with significantly fewer lines of code, which runs natively on .NET Framework.

Using technologies that are intrinsically compatible should result in faster and less costly development. As a result, any application suite, once it has been completely rewritten in the Microsoft .NET-managed code framework, should not have to contend with technology conflicts, trade-offs, or inefficiencies resulting from mixing or wrapping technologies. In contrast, any vendor that covers multiple platforms often spends more than half its R&D budget on porting issues; thus, a cross-platform solution remains largely the prerogative (and consequent burden) of only bigger vendors.