case study i-2 batesville casket...

Click here to load reader

Upload: vannhu

Post on 18-Jun-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

  • Batesville Casket Company is a subsidiary of HillenbrandIndustries, Inc., a diversified holding company headquartered inthe small southern Indiana town of Batesville. OtherHillenbrand subsidiaries include American Tourister, Inc., amajor U.S. luggage manufacturer; Medeco Security Locks, aleading producer of high security locks; Hill-Rom Company, theleading U.S. producer of electric hospital beds, patient roomfurniture, and patient handling equipment; SSI MedicalServices, a leading provider of wound care and other therapyunits and services; Block Medical, a leading producer of homeinfusion therapy products; and Forethought, an insurance com-pany that offers specialized funeral planning products throughfuneral homes.

    In its twenty years of operation as a publicly held company,Hillenbrand Industries has had exponential growth in revenues,cash flow, and profits. Revenues have grown from about $75million in 1971 to almost $1.2 billion in 1991, and earnings pershare have increased from about 10 cents to $1.22. Highlightsof Hillenbrand Industries financial performance for 19891991are presented in Exhibit 1.

    Headquartered in Batesville, Indiana, Batesville CasketCompany, Inc., is the worlds largest producer of metal andhardwood burial caskets, having a significant percentage ofthe U.S. market for its products. Batesville Casket servesmore than 16,000 funeral homes in the continental UnitedStates, Canada, and Puerto Rico. It operates six manufactur-ing plants that are specialized by product line. To provideoptimum customer service, it has 66 strategically located dis-tribution warehouses (called Customer Service Centers)

    from which it delivers caskets to funeral homes using its owntruck fleet.

    Batesville Caskets managers believe that long-term successwill result from listening to their funeral director-customers andresponding to their needs better than anyone else. Batesville iscommitted to listening to these customers in their plants, theiroffices, their Customer Service Centers, their sales organiza-tionliterally everywhere they do business. Another key element in Batesville Caskets strategy for achieving total cus-tomer satisfaction is to continually improve all processes andmethods so that the company can serve its customers moreeffectively.

    The MIS Department

    The MIS department is responsible for providing informationsystems and services to Batesville Casket. As shown in Exhibit2, applications development is basically organized functionally,with teams serving logistics, sales and marketing, and manufac-turing. The Computer-Aided Manufacturing group is responsi-ble for interfacing manufacturing systems with the machines inthe factories. The Data Center operates an IBM 4381 main-frame. Last year Batesville Casket spent only .73 percent of itsrevenue on MIS.

    James J. Kuisel, who reports to the senior vice president andchief financial officer, has been director of MIS for 14 years.Until recently the MIS department has had most of the respon-sibility for systems projects, but it is now sharing more of thisresponsibility with the users. Another major thrust of thedepartment is toward use of client/server networks rather thanthe mainframe. This is not just a matter of less costly process-ing on personal computers (PCs), but it also takes advantage ofthe competitive environment for a whole array of softwareproducts. Software products for the mainframe are veryexpensive$250,000 for a Human Resource System, Kuiselexplains. There are only a few mainframe suppliers who havedeveloped highly complex systems that cost an arm and a leg.But for the client/server environment there are hundreds ofdevelopers, all competing with aggressive pricing.

    144

    CASE STUDY I-2

    Batesville Casket Company

    This case was prepared by Professor E. W. Martin as the basis forclass discussion rather than to illustrate either effective or ineffectivehandling of an administrative situation. Its development was sup-ported by the Institute for Research on the Management ofInformation Systems (IRMIS), Kelley School of Business, IndianaUniversity. Copyright 1992 by E. W. Martin. No part of this publica-tion may be reproduced, stored in a retrieval system, or transmitted inany form or by any means without the permission of the author.

    144-154_58420.CH.04.CASE_I-2 8/14/01 1:22 AM Page 144

  • With the help of an outside consultant, Batesville Casket isconcentrating on reducing cycle time of business processes.The MIS department is heavily involved in process mappingthe company and in analyzing each process to take non-valueadded time out of it. Kuisel is the head of the Make toMarket team that is leading this process, and many othersfrom MIS are involved in the other teams that are working onthis project.

    Kuisel is proactive in the use of new technology. We wantto be leaders, he asserts, but not heat seekers. Where we canmake a tremendous gain by getting on the bleeding edge, thenwe will go ahead and take the risk. But when the business isnot going to benefit greatly, then we will let the technologymature so that we do not waste resources. We want the busi-

    ness need, not the technology, to drive us, and we try to mini-mize the risk.

    The Distribution System

    Logistics is an important area at Batesville Casket. Casketsare bulky and heavy items, so transportation costs are significant when distributing them on a national basis.Furthermore, when a funeral director has a demand for aspecific casket that he does not have in his relatively limitedstock, he must have that casket in time for the family visita-tion and funeral, a matter of a day or two at most. So theability to deliver a specific model quickly is essential to goodcustomer service.

    Case Study I-2 Batesville Casket Company 145

    EXHIBIT 1Hillenbrand Industries Financial Highlights

    Dollars in thousands except per share data

    Results of Operations

    Net revenues:Industrial Durables Health Care Caskets TotalInsurance Total net revenuesOperating profit by segment:Industrial Durables Health Care Caskets TotalInsurance Total operating profit by segmentOther itemsIncome taxesNet incomeEarnings per common share*Dividends per common share*Return on average equityAverage shares outstanding (000s)*ShareholdersEmployees

    Percent ChangeFiscal Year

    1991

    $ 146,973592,998396,894

    1,136,86562,009

    1,198,874

    (2,721)91,88378,792

    167,9542,552

    170,506(24,847)56,47289,197

    1.22

    .2919.7%

    72,88511,00010,500

    $ 159,872523,846384,217

    1,067,93538,627

    1,106,562

    7,61373,45368,270

    149,336(1,397)

    147,939(21,599)50,662)75,678

    1.02

    .27518.2%

    73,9719,8009,500

    $ 161,479469,408350,217981,10419,677

    1,000,781

    14,63881,14356,891

    152,672(5,009)

    147,663(26,297)50,04871,318

    .96

    .2519.5%

    74,3779,5009,000

    13.23.36.5

    60.58.3

    (135.7)25.115.412.5

    282.7

    15.315.011.517.9

    19.6

    5.5N/A

    (1.5)12.210.5

    (8.1%)11.69.78.9

    96.310.6

    (48.0)(9.5)20.0(2.2)72.1

    .2(17.9)

    1.26.1

    6.3

    10.0N/A

    (.5)3.25.6

    (1.0%)

    1990 1989 1991/90 1990/89

    *Reflects two-for-one stock split effective February 28, 1992

    144-154_58420.CH.04.CASE_I-2 8/14/01 1:23 AM Page 145

  • As mentioned previously, Batesville Casket distributes itsproducts through 66 Customer Service Centers. The typicalCustomer Service Center has a manager and a small staff ofwarehouse-worker/drivers, most of whom are out of theCustomer Service Center much of the time delivering caskets.Although the Batesville Casket product line includes severalhundred models, the typical Customer Service Center stocksonly a portion of these, depending upon the preferences of thefuneral directors it serves.

    In the early 1980s, Batesville Casket was a pioneer in thedevelopment of PC-based distributed systems. Working together,the MIS and logistics departments developed a PC-based sys-tem that was installed in each of the Customer Service Centers.This system served most of the operational needs of theCustomer Service Center, including order entry from the cus-tomer, maintaining the Customer Service Center inventory bymodel and serial number, and keeping track of where each cas-ket was located in the warehouse. It included a routing modelthat accepted the delivery requirements for the day, determinedthe route that each truck should take in order to deliver the cas-kets most efficiently, and printed out the routing and thesequence in which the truck should be loaded so that the firstcasket to be delivered was the last casket on the truck.

    Through a dial-up network, each night the Customer ServiceCenter PC transmitted that days orders to the central computerin Batesville that handled customer billing, kept track ofCustomer Service Center inventory, and determined inventoryreplenishment schedules. The central computer then sent

    information on the next days shipments back to the PC so thatthe Customer Service Center manager would know what wasen route.

    This system replaced a lot of paperwork in the CustomerService Centers, but it was justified and paid for on the basis ofreducing the time to get the billing out. With the previous man-ual system, the Customer Service Center managers would fillout the paperwork, batch it, and mail it to Batesville, and theywould receive the billing information from three to ten daysafter the casket was delivered. With the computer system theycould get the bills out the next day. Also, the system enabledthe centers to respond more quickly to demand and, throughcentralized replenishment, reduced the probability that adesired item would not be available when needed.

    This system was developed using a then-new PC develop-ment tool, called Knowledge-Man, that included a 4th-generationlanguage and a database management system. Because someof the processing was done by the central mainframe systemin Batesville and the rest was done by the PCs in the CustomerService Centers, with data transmitted back and forth at night,this was a distributed system.

    When the system was installed, most of the CustomerService Center managers had never even seen a computer, didnot know what a floppy disk was, and had no experience witha computer keyboard, so they were initially reluctant tobecome hands-on computer users. But with a lot of help andtraining they converted to the new system, and soon theybecame enthusiastic users of the new computer system.

    146 Part I Information Technology

    EXHIBIT 2Organization of MIS Department

    Computer-Aided

    Manufacturing

    ManufacturingTeam

    MarketingTeam

    LogisticsTeam

    DatabaseManagement

    InformationCenter

    DataCenter

    DirectorMIS

    ApplicationsDevelopment

    144-154_58420.CH.04.CASE_I-2 8/14/01 1:23 AM Page 146

  • The Decision to Replace the Customer Service Center System

    The hardware for the PC-based Customer Service Center sys-tem was an early IBM PC with the 8086 chip, plus a 10-megabyte hard disk. Although the system had been enhancedover the years and was working well, by 1990 Batesville Caskethad reached the limit of what could be done with this 1st-generation hardware, and there were a number of things thatthe logistics people wanted to do in the near future to improveCustomer Service Center operations. But the major problemwas that the equipment was so old and obsolete that somemaintenance contractors were not willing to continue to servicesome of the components of the hardware. It was clear that thehardware was on its last legs.

    One obvious alternative was to merely replace the old hard-ware with new hardware and continue to use the existing soft-ware. The functionality of the system would remain the same,but the hardware would be maintainable, and sufficient addi-tional capacity would be available to support future enhance-ments of the system. Unfortunately, the Knowledge-Man soft-ware that the system was based upon had gone throughseveral releases, and the version that Batesville Casket wasusing was no longer supported by the vendor. Even if BatesvilleCasket continued to use the existing software, they would haveto change it to conform to the current version of Knowledge-Man, which would involve a substantial reprogramming effort.

    In 1990 Jan Holm, a senior systems analyst, and Jerry W.Munchel, an MIS program manager, spent several monthsworking with the logistics area to explore expectations concern-ing logistics developments over the next five years. We lookedat their goals and objectives, how they expected BatesvilleCaskets manufacturing and distribution systems to evolve, andprojects they were anticipating that might impact the needs ofthe system, Holm reports.

    One idea under consideration was to identify each casketby bar coding its model number and serial number so that thecasket could be automatically tracked through the productionand distribution system. Logistics managers expected to placea hand-held bar code reader on the loading dock at eachCustomer Service Center and connect it to the CustomerService Center PC through a radio-frequency link. Then theycould automatically enter the identification of each casket intothe computer as it was received into or sent out of theCustomer Service Center. In order to further reduce cycletimes, they wanted to send orders to the factory several timesa day rather than sending them all at night. Furthermore, theywanted to replace the routing software package that was partof the system with a more powerful version.

    Batesville Caskets increased emphasis on total customersatisfaction was also leading the logistics staff to plan significant

    additions to the system to enable them to capture data on ser-vice quality and improve customer service. For example, manyfuneral directors order by description rather than model num-ber, so a Customer Service Center manager sometimes misun-derstood and sent the wrong casket to the funeral home.Therefore, logistics would like to have a system that maintaineda history of orders and allowed for improved identification ofthe models being ordered.

    Therefore, in early 1991 the MIS department set up a teamto investigate alternatives and recommend what should bedone. Munchel headed the team, and the other members were Holm, Kenneth D. Fairchild, director of Technical Support,and Delbert Rippeltoe, manager of Database Administration.Munchel and Holm had been instrumental in the developmentof the old system, and Fairchild was responsible for the commu-nications between the office and the Customer Service Centers.

    Deciding What Technology to Use

    The logistics study convinced the team that they needed to sig-nificantly revise the software in addition to replacing the hard-ware, and it also provided the basis for a number of criticaldecisions relating to the future technological platform. Oncewe decided to replace the hardware, we had to determine howbig and how fast the computers should be and what operatingsystem to use, Fairchild explains, and when we decided toredo the software, we had to determine what database man-ager and development environment to use.

    The hardware and operating system decisions were rela-tively straightforward. The plan to place bar code readers at theloading dock and enter data from them directly into the com-puter determined that the new computers must be multitask-ing. Otherwise, the Customer Service Center manager wouldhave to interrupt his work with the computer whenever the barcode reader was used. Another reason for multitasking wasthat logistics managers wanted to be able to transmit orders toBatesville during the day without interrupting computer supportof normal Customer Service Center operations.

    They concluded that an IBM-compatible 386-based com-puter would have all the processing power that the CustomerService Centers were likely to need during the next few years,and they wanted computers that could be upgraded if needsexpanded even more than they planned. They chose an IBMPS/2 Model A16 with 4 megabytes of memory, a math co-processor, a color monitor, a mouse, and a 160-megabyte harddisk. They chose a Hayes 9600 Ultra external modem for com-munications with Batesville and an Epson LQ1170 printer. Inorder to minimize error and downtime problems, they decidedto install an uninterruptible power supply at each site. The totalhardware cost for each site was over $8,000.

    Case Study I-2 Batesville Casket Company 147

    144-154_58420.CH.04.CASE_I-2 8/14/01 1:23 AM Page 147

  • The operating system had to support multitasking, and theyonly considered IBMs OS/2 and UNIX. Windows was not con-sidered because its DOS base was not considered robustenough for the Customer Service Center operations. Theychose OS/2 primarily because they were concerned that therewould be a shortage of business software packages that oper-ated under UNIX. In particular, they knew of no routing pack-ages that would run under UNIX.

    The database manager and development environmentwere related decisions, for the development environment hadto support the chosen database manager. One critical issuethat strongly influenced their decisions at this point was thechoice of a user interface. Intuitively they felt that the new sys-tem should be based on a graphical user interface, where sys-tem functions would be controlled by using a mouse to selectoptions by pointing and clicking on icons, buttons, decisionbars, and pull-down menus. The Apple Macintosh, Microsoft

    Windows, and OS/2 Presentation Manager employ graphicaluser interfaces.

    We did not know how the Customer Service Center man-agers would react to using a mouse, Holm explains, but whenwe looked at the interactive software packages that werebecoming available, they were mouse-driven, windowing,graphical. The upgrade to our router package that logistics wasconsidering has a mouse-driven, windowing user interface. Weknew that the managers were going to have to learn how tointeract with those packages anyway, so we decided that weneeded to be graphical as well.

    As an example of such a graphical interface, the orderupdate screen from the new system (shown in Exhibit 3)allows a Customer Service Center manager to update an exist-ing order. This order is from the ABC FUNERAL HOME for prod-uct number 7878. A casket, serial number WA7915, has beenallocated to this order, and other information on this order is

    148 Part I Information Technology

    EXHIBIT 3Order Update Screen

    Next Ordr

    Prior Ordr

    Change

    Cancel

    Open Tm1 - :One Time Bill to -

    Bill Comm -

    Pick Comm -

    Delv Comm - DELIVER BY NOON ON 5/25

    Okay to Deliver -

    Route -

    Serial -

    Product -7878 Order Type - D Manifest -

    1001 MAIN STRE, HOMETOWN, INDI

    Location - 0001 ABC FUNERAL HOME DELIVER

    Order-Update2

    05-20-92 08:51

    LOCAL

    WA7915

    To Their Whse -Y N

    Allocate

    Assign

    Remove

    Chg Route

    Quit

    Unallocate

    Discount - T254

    PO# -

    Norm Whse -

    Deceased -

    Close Tm1 - :

    Close Tm2 - :

    Open Tm2 - :

    144-154_58420.CH.04.CASE_I-2 8/14/01 1:23 AM Page 148

  • shown on the screen. The buttons along the right show thethings a manager can do to this order by using the mouse topoint to the button and click. The top two buttons allow him tonavigate to the next and prior orders. Other buttons allow himto change data on the order, cancel the order, allocate or unal-locate a specific casket to the order, assign it to a route fordelivery, remove it from an assigned route, change the route, orquit the order update process.

    Once they decided to use a graphical interface, the devel-opment environment had to support the easy creation (orpainting) of graphical screens. This led them to considerObject/1, a tool that Holm knew supported object-orientedprogramming and that claimed to allow a developer to paintdozens of graphical screens in a day. Object/1 was a product ofMDBS, Inc., a small software house located in Lafayette,Indiana, which furnished the Knowledge-Man system that hadbeen used to support the original Customer Service Center sys-tem. Because Batesville Casket had a long and favorable expe-rience with MDBS, it was natural for the team to take a hardlook at Object/1.

    They did not know much about object-oriented programmingat the time, but they were aware that it was creating a lot ofexcitement in the industry. Software industry gurus such asWilliam H. Gates, Microsofts chairman, Philippe Kahn, presidentof Borland International, and Steven P. Jobs, who founded AppleComputer and NeXT, were predicting that object-oriented tech-nology would have a revolutionary impact on the future use ofcomputers.

    Object-oriented programming was extolled as a way toincrease development productivity by creating programs com-posed of completely independent components (code mod-ules). These building blocks are freely interchangeable amongdifferent programs, so as an organization builds up more andmore such modules, new systems require the creation of lessand less new code. Also, maintenance is much easier becausefunctions are isolated in modules and thus are easy to locate,and once a module is corrected in one system, it can easily becorrected in all the other systems that use that module.

    The team did not do an extensive search of developmentenvironments. We did not have a lot of time to search,Fairchild reports, so we looked at the products that we had inhouse that we had used before, and we looked at object-oriented programming and made the decision.

    They chose Object/1 for a number of reasons in addition toits reputed development and maintenance efficiency. First, itwould provide outstanding support for the graphical user inter-face approach that they wanted to use, and it could access adatabase manager that provided the backup and recoverycapability that they needed with multitasking. Second, industryseemed to be heading that way, and keeping near the leadingedge was important to them. Finally, as Holm notes, We could

    have used one of our familiar tools, but there would have beenno learning experience for the department, and we enjoy the challenge!

    The team wanted to do something new and exciting, and Iknew that they would dedicate themselves to making it a suc-cess, Kuisel explains. Since we knew exactly what the systemwas to do, and the old system was working well in the shortrun, there was little risk other than the new technology. Object-oriented programming looked like it might be very important tous as we use PC platforms more extensively, so this was aninvestment in the future.

    Learning to UseObject-Oriented Programming

    Object-oriented programming appears to be simple becausethere are only a few basic terms to learn: object, method, class,inheritance, and encapsulation. But it is also a new paradigm,or way of thinking about programs, and it is not easy to explain.

    An object can represent anything of interesta number, adate, a screen, a casket, a customeranything that involvesdata. An object includes both the data describing the objectand all of the methods that can operate on that object. Eachmethod, then, is a code module that does something to or withthe data of the object. Encapsulation refers to the bindingtogether of the data and the methods that operate on theobject; the only way that an object can be operated on is bymeans of its methods. Thus, the object is protected fromactions performed by other parts of the program, or fromactions of other programs that may use that object. Objects arethe building blocks from which all programs are built, andbecause of encapsulation the same objects can be used bymany different programs. Once the methods of an object arecorrect, they are correct everywhere that object is used. Whenone changes a method, it is changed everywhere that object isused.

    A mortgage is an example of an object, Holm explains.There are things that you want to do against a mortgage. Youmight want to calculate a present value, or determine thereturn on investment. The mortgage has some data associatedwith itinterest rate, payment amount, amount owed, etc.Then there are routines that you perform against that mortgagewhen you ask questions about current balance or the effect onpayment amount of a change in interest rate. In object-orientedterminology, these routines are called methods, and they areencapsulated in the object. So when you ask a question of anobject, you dont know or care how it gets the answer. If thereare ten other systems that need to ask that question, they allask that same object. And if you decide that you want tochange how you calculate the answer, you change the methodin the one object and it is changed in all the systems.

    Case Study I-2 Batesville Casket Company 149

    144-154_58420.CH.04.CASE_I-2 8/14/01 1:23 AM Page 149

  • The concept of a class is closely related to the concept of anobject. A class is an abstract object that includes the character-istics (both data and methods) that are common to the objectsthat comprise it. For example, automobiles might be a class,and Ford Mustang and Buick Skylark might be the objects ofthat class. Classes are hierarchicalif vehicles were a class,then automobiles would be a subclass and trucks might beanother subclass. What makes this concept powerful is inheri-tance. If one creates a new object in a class, it automaticallyinherits all of the properties of that class, and it is only neces-sary to add the data and methods that are unique to the newobject.

    For example, explains Fairchild, data might be a class,with alphanumeric data being one subclass and numeric databeing another subclass. Then an integer might be a sub-subclass within that subclass of numeric data, and a decimalnumber might be another sub-subclass and a binary numbermight be another sub-subclass. Integers and decimal numbersand binary numbers would all inherit certain methods from thenumeric data subclass, which would also inherit commonmethods from the data class.

    One very powerful aspect of Object/1 is that it comes withsome 300 classes and 3,000 methods already defined andready for use. Whenever you create new objects or classes,they become available for use in all subsequent programs.

    As has been previously noted, Object/1 already includesthe objects necessary to create graphical screens, so they maybe painted with no traditional programming. The screen paint-ing utility displays a blank screen (called a canvas) along with aset of symbols denoting the various things that can be placedon a screenbuttons, list boxes, data entry boxes, displayboxes, labels, etc. To create the button Next Ordr on thescreen in Exhibit 3, for example, you would use the mouse topoint and click on the symbol for push buttons. Then you usethe mouse to point to the position on the screen where youwant this button to appear and click again. This brings up ascreen that allows you to enter the name of the push buttonand the method to be invoked when this button is selected. Tocreate the entry field labeled Serial, you would click on thesymbol for entry field, point to where it should appear, and clickto bring up a screen that allows you to enter the name of thefield, and so forth. If you do not like where you have placed anobject, the mouse can be used to drag it to another position.When finished, you give the screen a name, and it becomes anobject that inherits all the methods that have been created forthe screen class of objects.

    As an example of object-oriented programming, Exhibit 4presents the code invoked by clicking on the Change buttonon the order update screen shown in Exhibit 3. Methods areinvoked to operate on objects by the following notation:

    MethodName(ObjectName, P1, P2,...)

    When a pair of parentheses encloses a list of symbolsseparated by commas, the left-most symbol is the name ofan object, and the other symbols in the list (if any) designateparameters that are used by the method. The name of the method to be applied to the object precedes the leftparenthesis.

    Consider line 8 of Exhibit 4:

    found=returnValueOf(new(OrdrChg, self));

    This nested pair of methods would execute from the insideout, so the method new would be applied to the objectOrdrChg with the parameter self. But the object OrdrChg is thescreen shown in Exhibit 5, which has methods that allow themanager to point to any box and enter or change the data inthat box. In this example, we have typed pick comment in thebox labeled Pick Comm.

    When the manager is through making changes to the datashown on this screen, he or she uses the mouse to click on theAccept button on this screen. This button is an object, and click-ing on it invokes a method that completes the change processand returns to the method new, which creates a new versionof the object OrdrChg (and completes the actions enclos-ed within the parentheses in line 8). Then the methodreturnValueOf is applied to this new version of the objectOrdrChg to store a returned value into the object found. Theresult of the entire process shown in Exhibit 4 is to display thescreen shown in Exhibit 6.

    In the above, the object OrdrChg is an instance of a class that comes from Object/1, and the methods new andreturnValueOf were inherited from existing objects in Object/1.All of the button objects are instances of the button class fromObject/1, and all the screens are instances of a screen classfrom Object/1.

    Although these basic concepts may seem relatively straight-forward, the team found that it was not easy to learn to usethem effectively. We had a much longer learning curve thanwe expected, Munchel reports. We had a training problem.When we decided on Object/1, the next vendor training classwas scheduled for two months later, and we couldnt wait thatlong. So we brought in a consultant to do an abbreviated ver-sion of the training, and we did not get the training we needed.We ended up working through tutorials while we were trying toget started with coding the system.

    This lack of formal training was critical because object-oriented programming is so different from other programming.Object-oriented programming really is a totally different mind-set, Fairchild notes. I couldnt find anything to relate it to inmy 25 years of programming experience. In fact, my past expe-rience often led me astray!

    We didnt really understand the terminology, Holmexplains. It sounded like doubletalkwe laugh now. But

    150 Part I Information Technology

    144-154_58420.CH.04.CASE_I-2 8/14/01 1:23 AM Page 150

  • once in a while the light would pop on and wed think weunderstood. And then we would go on and find that we didnot completely understand that, and we would have to goback to the beginning again. It was a highly repetitiveprocess.

    Not only did they have to learn the concepts, but they alsohad to learn how to use the Object/1 tool. Object/1 providesmany classes and objects that one can use, but it takes sometime to become familiar with what is there. MDBS, Inc. pro-vides a big book that contains descriptions of all these classesand methods, Fairchild explains, and we had to learn whetherto use one of theirs or write one of our own. It took us a longtime to figure out what classes we were creating and maintain-ing. And we had to teach the other programmers (and our-selves) to look for existing methods before starting to codesomething new.

    Object/1 supports the programmer by providing an onlinelist of all the available objects and classes. When the program-mer selects a class or object, a list of all the methods that applyto it appears on the screen. When a new object or method iscreated, it is automatically added to this online display.Object/1 also includes an online editor that enables a pro-grammer to create code on the screen and edit it to make

    changes. Thus, Object/1 provides powerful assistance for on-line programming.

    Developing the System

    The team was scheduled to install the system in December1991. They planned to train the Customer Service Center man-agers in December, when they were to be in Batesville for anational meeting, thus saving about $70,000 that it would costto fly them in at another time. Although the team had decidedon Object/1 in early June they did not produce any usablecode until early September, because of their long learningcurve.

    By working 70-hour weeks, Holm, Fairchild, and two addi-tional programmers were able to complete about 80 percentof the functionality of the systemthe day-to-day operationsnecessary to run a Customer Service Centerby the trainingdate in December, so they were able to train the CustomerService Center managers at the scheduled time. But the sys-tem was far from ready to installthey still had to complete theremaining 20 percent of the functionality and take care of fun-damental system operations like transaction logging and recordlocking. They also had to develop a system to convert the data

    Case Study I-2 Batesville Casket Company 151

    / * Handle change pushbutton. */method OrdrUpd2 : : change (self, mp1, mp2){

    local found ;show (self, false) ;beginTransaction (session) ;getCurrent (self) ;found = returnValueOf (new (OrdrChg, self)) ;commitTransaction (session) ;if (found != MBID_CANCEL ){ get (recordHandles [0], subString (textOf (locIdName) , 0, 4) ) ; fillScreen2 (self) ; setText (message, " Order information changed ");}else{ setText (message, "Order information change bypassed") ;}nullCurrencies (session) ;show (self, true) ;focusOn (self) ;return nil ;

    }

    EXHIBIT 4Code for Change Button

    144-154_58420.CH.04.CASE_I-2 8/14/01 1:23 AM Page 151

  • files in the present system to the form the new systemrequired.

    They also had to redo the data model of the old system.Although about 95 percent of the data were there in the oldsystem, Holm recalls, the new model does not look like themodel we had in the old system. We had to rethink the data interms of object-oriented concepts.

    The final system includes about 40 data objects, such as anorder object, a customer object, and a casket object. There aremany other objects, such as input and output screen objects.And they have created about ten utility classes, such as theprint class that their programmers always use when printing areport. This print class includes methods that take care of thedate, positioning column headers, page counts, spacing, accu-mulating and printing totals, and all the other things that arenecessary to create a printed report.

    Converting to the New System

    Rather than the team going to each Customer Service Centerto assist them in converting to the new system, the teamdevoted about two man-months to the creation of an elaborateconversion system to guide the Customer Service Center man-

    ager through the 40-odd steps necessary to install the newOS/2 operating system, load the new software on the harddisk, and convert the files from the old to the new system. Ittook between 6 and 12 hours to complete the conversionprocess at each Customer Service Center. And since there hadbeen such a long time between the training in December andthe actual installation of the system in April, the team also pre-pared and sent out a training version of the system in March sothat the Customer Service Center managers could practiceinstalling the system and play with it to refamiliarize themselveswith the operation of the new system.

    In mid-March 1992, they tested the system in the CustomerService Center in Indianapolis, and they began to convert to thenew system in the rest of the Customer Service Centers in earlyApril. When they converted the first four Customer ServiceCenters, they encountered a mysterious bug that set themback for a while. On rare occasions the system would mysteri-ously lock up, and they would have to shut it down and reloadthe software. With new hardware, a new operating system, theObject/1 development system, and the new application sys-tem, they were in totally unfamiliar territory and had to call inexperts from IBM and the software vendor MDBS to help themdiagnose and correct the problem, which turned out to be a

    152 Part I Information Technology

    Open Tm1 - :One Time Bill to -

    Accept

    Product - 7878

    Quit

    Discount - T254

    PO# -

    Norm Whse -

    Deceased -

    Close Tm1 - :

    Open Tm2 - :

    Close Tm2 - :

    Bill Comm -

    Pick Comm -

    Delv Comm - DELIVER BY NOON ON 5/25

    pick comment

    Okay to Deliver - To Their Whse -Y N

    Serial -

    Location - 0001 ABC FUNERAL HOME

    WA7915

    Order-Change

    EXHIBIT 5Order Change Screen

    144-154_58420.CH.04.CASE_I-2 8/14/01 1:23 AM Page 152

  • bug in OS/2. As of June 1992, the system was successfullyinstalled in all the Customer Service Centers.

    Batesville Casket had purchased 15 of the new computersin late 1990 and installed them in Customer Service Centersearly in 1991, running the old software on them. The systemreally flew! But the new system operates slower on the newhardware than the old system does, and the Customer ServiceCenter managers that had used the old system on the newhardware have noticed this slowdown. The new system isslower because Object/1 programs are interpreted rather thancompiled in this first generation version of the software.

    Evaluation of This Experience

    Although the team learned a tremendous amount about theobject-oriented approach, they realize that they still have moreto learn. We need to change our approach to design as well as

    to writing code, Holm asserts. We think we are in pretty goodshape in object-oriented analysis, but we need to go back andwork more on system and program design. Fairchild recallsthat: As part of the tool they say that a method should proba-bly not exceed 15 to 20 lines of code, but we have some witha couple of hundred. We need to go back with what we havelearned and rethink some of the things we have done.

    They obviously did not meet the original December 1991deadline for installing the system. After getting through the longlearning curve, it took them about five months to code the sys-tem. We did a lot of work in a short amount of time, evenincluding the learning curve, Fairchild notes. Without theObject/1 tool, I do not know how we could have produced asystem with the graphical interface that we now have.

    The first system you develop using object-oriented pro-gramming may take about the same amount of time that itwould using traditional approaches, Fairchild continues. But

    Case Study I-2 Batesville Casket Company 153

    EXHIBIT 6Changed Order Update Screen

    Next Ordr

    Prior Ordr

    Change

    Cancel

    Open Tm1 - :One Time Bill to -

    Bill Comm -

    Pick Comm -

    Delv Comm - DELIVER BY NOON ON 5/25

    PICK COMMENT

    Okay to Deliver -

    Route -

    Serial -

    Product -7878 Order Type - D Manifest -

    1001 MAIN STRE, HOMETOWN, INDI

    Location - 0001 ABC FUNERAL HOME DELIVER

    Order-Update2

    05-20-92 08:51

    LOCAL

    WA7915

    To Their Whse -Y N

    Allocate

    Assign

    Remove

    Chg Route

    Quit

    Unallocate

    Discount - T254

    PO# -

    Norm Whse -

    Deceased -

    Order information changed

    Close Tm1 - :

    Open Tm2 - :

    Close Tm2 - :

    144-154_58420.CH.04.CASE_I-2 8/14/01 1:23 AM Page 153

  • where you are really going to make hay is on the next and suc-ceeding systems. You dont have to go back and rewrite any ofthe things that you have already done. You can use the objectsand methods that you have created, and they will port rightinto any new system. For example, we can use our print classin any new system, and there are many objects like that.

    Holm notes that there are even wider implications. Oneinventory control system, no matter what the industry, is muchlike any other. The object-oriented approach allows us to takeadvantage of that commonality. I would be comfortable takingthis system to any company that is running a distribution ware-house, and it could be easily modified to suit its needs.

    Tools like Object/1 will eventually have an inventory con-trol set of classes and methods that will allow any organizationto easily put together an inventory control system to suit itsneeds. You will be able to make changes to reflect the unique-ness of your organization, while still taking advantage of all thecommonality. You will be able to quickly create a working sys-

    tem from common objects, try it, and quickly modify it to suityour special needs.

    Kuisel evaluates the project as follows: It has taken longerthan we planned, and a late project is always a disappointment.But the new system appears to be just what we wanted, andthere is a lot of excitement about using it. The old system wasgetting to be a little shaky, but Im confident that the new oneis a solid foundation for what we want to do in the future.

    Moreover, Kuisel continues, we have learned a lot aboutthe object-oriented approach and how to use it. After this isover, we will evaluate this and other tools available in the mar-ketplace and see what fits our needs best. I suspect that theobject-oriented approach is going to come out ahead, but ourdevelopment people will make that decision. They are theones that must go through the very difficult learning curve toadapt to the object-oriented approach, so they must make theirown commitment if we are to adopt this new technology forwidespread use.

    154 Part I Information Technology

    144-154_58420.CH.04.CASE_I-2 8/14/01 1:23 AM Page 154