Applied Solution: Capturing Knowledge in Patterns and Models

American Software creates an award-winning ERP application in record time and with fewer resources using a model-based development strategy and a commercial tool for building patterns

In theory, the use of patterns and other software development strategies that support the capture and reuse of ideas to shorten development cycles make a lot of sense. In practice, however, programmers are often left scratching their heads attempting to apply these principles to create real software. But there are signs that this is beginning to change.

At Atlanta-based American Software, a company that provides Enterprise Resource Planning (ERP) solutions to global clients, the use of commercial tools for implementing models and patterns has enabled developers to create software in a fraction of the time required by traditional application development methods. In fact, the company has taken advantage of patterns and a model-based development strategy to cut its overall development time by nearly 25 percent-and achieve acclaim for its latest applications in the process.

Founded in 1970, American Software has been in the business of serving the software needs of manufacturers for close to 30 years. With nearly 1,200 installations worldwide, more than one third of which are running on AS/400s, the company made the decision several years ago to rewrite its applications to gain a competitive edge in the AS/400 market. To assist them in this process, the company selected Sterling Software's (Dallas, Texas) COOL:2E component-based development tool, in part because of its strong AS/400 support.

But, the company also had its eye on another product that Sterling was working on at the time-a pattern-based development tool then called KT, which later became known as COOL:Plex. "We saw this forerunner of the COOL:Plex product as the direction that we needed to be moving in for our next generation of application software development," says Dan Homrich, director of technologies at American Software.

Homrich is quick to point to the value of a tool that supports patterns because of the power and consistency this approach provides. "A pattern-based development tool like COOL:Plex encourages efficiency and reuse, which is extremely beneficial," says Homrich. As an example, he adds that once his development team gained an understanding of COOL:Plex and the process involved in generating a new user interface using the tool, it was able to identify patterns for this activity as well as others that could be reused throughout the entire ERP application. "I can define a pattern for a single user interface point, and this pattern can then be used as the basis for defining the look and feel of the entire system," explains Homrich. 'That's really important, because an ERP application can have a significant number of UI panels or points, and consistency is critical. That's the real power of patterns."

Homrich cites the use of models as a means of capturing information as especially important also. Armed with COOL:2E, for example, the company first focused its efforts on building a model to capture its ERP expertise-a model that ultimately grew to include 1,200 entities. Although by most standards considered an especially large model to develop and maintain, it has enabled American Software to distribute separate components of its system, while at the same time, to have one foundation-a single model-to represent the entire ERP product suite. With a single model serving as the basis for its software development efforts, there are numerous instances where components can be reused. "For example," says Homrich, "we have one component called Item, which is the same for logistics and inventory; and we have another component called Currency, which is the same for accounts receivable, accounts payable and customer orders."

About a year ago, American Software decided it was time to move the model it had developed in COOL:2E into COOL:Plex to take advantage of the benefits of this next-generation tool. The first stage of this development effort involved converting and updating a very large component called Flow Manufacturing. Although the flow manufacturing application developed using COOL:2E performed very well, American Software's customers wanted a friendlier user interface--one that would support a drag and drop approach.

"Imagine a business modeling tool like Visio, but instead of dragging and dropping charting items, you're dragging and dropping an icon for a machine or a tool--and you can say, 'Here's where I stamp this piece of leather, here's where I cut it, here's where I bolt it,' and so on--and you can drag and drop these things onto a pallet--that's what the new interface for flow manufacturing looks like," explains Homrich.

You could enter that information into the AS/400 previously, but it was rather tedious, says Homrich. "With COOL:Plex, because of the way it's architected-compliant on the desktop and so forth-we could generate to the AS/400 on the back-end, and on the front-end, we could have Windows NT clients with a highly graphical user interface." The end result is that the new-and-improved Flow Manufacturing application not only looks good--it has a whole new GUI front-end now for which it has received much acclaim--but it required a lot less time and effort to develop than it did previously. Specifically, the development effort using traditional COBOL programming methods to create version 3 took 500 man years; version 4 in COOL:2E took 250 man years; and version 5, developed using COOL:Plex, took just 50 man years.

"What we discovered was that because a substantial amount of the knowledge of flow manufacturing had already been captured in the COOL:2E model, we were able to develop the next generation of the Flow Manufacturing module without a lot of assistance from subject matter experts," says Homrich. Once the information is captured in the model, it makes the development task a lot easier, he adds. "In fact, for Flow Manufacturing, we didn't have a flow manufacturing expert for the first four months of the COOL:Plex implementation. These individuals didn't get involved until the last two months to do the quality control testing and validation and so on-and that's pretty amazing."

Overall, Homrich attributes the success of his company's application development efforts largely to this modeling aspect of the Sterling toolset. "Once the model has been developed, I can train someone to use the development tool to improve or extend the application. I can have a new user interface put on an application, add e-commerce capability to it, change databases, or implement message-oriented middleware. I can do all these things, but I don't have to reinvent the application every time I do that--that's what's so powerful. The knowledge that's contained within the model really is incredibly valuable."