• Aucun résultat trouvé

The Scope of the T&M Projects

Dans le document Object-Oriented (Page 35-42)

For almost fifteen years the T&M approach has evolved. A lot of people from different fields and organizations have contributed their ideas about software development and application orientation. But the essential driving force of our approach has always been project work. The experiences of many projects in many areas have both served as a usability test and as an inspiring source for new ideas or revisions of concepts and techniques.

The projects where the T&M approach has been used covers a wide area, from workplace solutions to technical embedded systems. Examples include:

An IDE (Interactive Development Environment) for logic programming;

Workplace systems for banking;

Fleet management for a car rental company;

Workflow editor for e-commerce;

Certified aircraft engine software;

Embedded medical lab system; and

Maintenance management for municipal water works.

In the following, we will look at some projects in more detail.

ANOBJECT-ORIENTEDPROGRAMMINGENVIRONMENT FORLOGICPROGRAMMING

In the mid-1980s in a software technology department of a national research institute, we developed a programming environment for logic programming in Prolog. The architecture of this environment featured the nucleus of many technical T&M concepts—we used tools and materials for the first time. Through discussions with users, we realized the importance of usage quality and a clear domain-oriented usage model. The programming environment was used for several years at universities and research institutes for research and training.

A WORKPLACESYSTEM FORRETAILBANKING

A software and service center for a major German banking group was faced with an urgent customer demand for a new workplace system that would comprehensively sup-port their customer advisors. An initial software project along the traditional lines of a waterfall model and procedural programming had failed. A rather desperate manage-ment ventured to relaunch the project with object-oriented techniques and an application-oriented strategy. We trained and coached the team and consulted management. The T&M approach was used both for all basic constructions and for designing the different workplace types with their usage models. Within an incremen-tal process of almost three years the workplace system was developed in several exten-sion levels and is working at almost 2,000 workplaces in more than 300 banks. It received an outstanding reception by its users. Several external evaluations and reports showed the high level of usage quality.

REORGANIZING THEIT DEPARTMENT OF ABANKINGSOFTWARE ANDSERVICECENTER

Motivated by the unexpected success of the workplace system project, the software and service center just mentioned decided to reorganize their IT department. Object-orientation was chosen as the main technology for application development. All other IT activities were to be grouped around this strategic concept. We consulted IT man-agement, trained and coached teams, and cooperated in major conceptual projects.

Over a period of six years, more than 150 developers and technical staff were trained in object- and application-oriented concepts and techniques. We coauthored the com-pany’s project strategy and handbook. Together with the comcom-pany’s architecture group, we designed the architecture of their banking framework, which was a major source for the T&M model architecture. The consistent conceptual view of the T&M approach and the concept of structural similarity proved to be the fertile basis for the growth of a common development culture in the company. The company played an outstanding technological and strategic role among the software and service centers of the banking group.

A FLEETMANAGEMENTSYSTEM FOR ACARRENTALCOMPANY

The German branch of a European car rental company needed a system for the strate-gic management of their vehicle fleet. They used to work with their company-wide central information system. This system, however, gave no proper support for ordering, buying, or selling vehicles, or for the bookkeeping related to them. First, we analyzed the business processes involved and cooperated with the technical departments in restructuring these processes on the basis of cooperation pictures and presentation pro-totypes. In subsequent project stages we developed an integrated fleet management sys-tem (plus a specialized bookkeeping module) with interfaces to the central information system. Both management and users were convinced by the combination of usability and complex domain logic of the system.

A GRAPHICWORKFLOWEDITOR FORE-COMMERCE

An Internet company had the idea of a new e-commerce application by which the business organization staff could design and model e-commerce business processes.

The application consisted of a graphic editor for designing workflow processes and a generator component that transformed the graphic models into Internet applications.

We contracted for the design and implementation of the graphic editor. As a promo-tion show at an internapromo-tional IT trade fair was already scheduled, we had roughly three months to analyze, design, and implement a fully functional prototype. We set up a programming team of eight people who used an agile process incorporating the princi-ples of eXtreme programming. The project was a complete success under all technical and domain aspects. We delivered the prototype with all requested features precisely on time and on budget. Unfortunately, the product never met a market as the Internet company became insolvent after the trade fair.

A CERTIFIEDAIRCRAFTENGINESOFTWARE

A German race car engine-tuning company had the idea of using an augmented stan-dard vehicle engine as the basis for an aircraft engine for sporting airplanes. A new electronic motor control unit had to be developed. This embedded software system had

to be certified by national and international avionic authorities. We contracted for elaborating a development and quality assurance process that could be certified. In order to meet the very high demands for software quality and for a clearly documented and reproducable development process, we combined the main features of our application-oriented development strategy, that is, Design by Contract, our interpretation of eXtreme programming (especially engineering cards and test first, of Sections 12.4.2 and 13.5.2) and the UML document types. Within six months, we designed a meta-model and a software development process according to the FAA’s (Federal Aviation Administration) RTCA (RTCA Inc is an association of aeronautical organizations of the U.S.A. from both government and industry) requirements, which was then certi-fied by all relevant avionic authorities. The IT department was happy about the devel-opment strategy and the quality assurance process, which on the one hand fulfilled all the formal requirements, and on the other hand fitted well into the actual teamwork and programming practices. The new aircraft engine went into production and was a major market success.

REDESIGNING AREVERSEAUCTIONSAPPLICATION

An Internet company successfully provides an application for reverse auctions, where buyers publish their tender offers and potential suppliers can place their bids. These suppliers then have the opportunity to undercut their competitors. The existing soft-ware for this application, however, had grown rather complex and was hard to under-stand and maintain. We analyzed the system, wrote a report, and proposed a complete redesign. The T&M conceptual patterns and the model architecture helped to clarify the pros and cons of the existing system and to highlight the improvements of the new design. Within several architecture workshops, the development team discussed our proposals and was able to work out a scheme for completely refactoring the reverse auction system.

ANEMBEDDEDMEDICALLABSYSTEM

A market leader for medical labs wanted to develop a new generation of medical lab systems with a higher throughput of samples and a more efficient control system. The task was demanding, as a smooth integration of low-level automation, interactive analysis workplaces, and high-level system calibration was required. Major parts of the lab’s hardware and basic software were custom-made. We redesigned the entire second-level automation software and the control system and added tailored integrated work-place systems. Starting with the core design metaphors of the T&M approach, we refined our tool construction and the workplace types. We were able to design a system with a clear technical and usage model that overcame a few severe shortcomings of the previous generation. While the prototypes of the system were very satisfactory, the first live tests unveiled major structural and performance problems in the database connec-tion. The database mapping and the access interface had to be redesigned. Then the system ran smoothly and went into production.

PRODUCTDESIGNSYSTEM ANDCONTRACTMANAGEMENT FOR ANINSURANCECOMPANY

A German insurance company, one of the middle-sized enterprises in this domain, wanted to redesign its host-based legacy system for contract management and at the

same time implement a new concept for designing insurance products. We worked as consultants and software architects with their software team. Introducing eXtreme pro-gramming, we used techniques like pair propro-gramming, story writing, and tracking to improve programming skills, product quality, and project management. The T&M design metaphors helped to create a common vision of the future workplace system.

The model service architecture was used as the basis for designing and implementing the new components and services for product design and contract management. The layer architecture provided the interface concepts for the connection to the host back-end and its stepwise displacement. The first desktop tools with related services are operative, as well as an Internet portal for insurance agents.

COOPERATIVEWORKPLACESYSTEM FORCORPORATEBANKING

A major Swiss bank had the need to redesign its workplace system in the corporate customer department due to poor acceptance and performance. The existing system was implemented with a 4 GL (i.e., a 4th generation database manipulation language) system on top of a complex host network. As the system had been installed just a year before with the goal of improving the rather poor user support, the banking staff was not amused by the idea of yet another software project. In addition, a new development team of twelve with many graduates was hired, who had few skills in object-oriented design and little project experience. We were contracted as consultants and software architects. In a pilot project we combined object-oriented training with team forma-tion and becoming acquainted with the banking domain. The T&M approach served both as a guideline to object-oriented development and as the overall view on appli-cation development. The actual project started after almost one year and ran for one and a half years. By the end the team size had doubled. An entirely new workplace sys-tem with different workplace types and several rather complex software tools was designed, implemented, and evaluated at some pilot banks. The different workplaces were linked with a clear cooperation model for the underlying flexible workflow man-agement system. A few weeks before the actual roll-out the bank merged with another company of equal size. The top management decided that for the new company’s corporate banking the business strategy of the other bank was to be used. Thanks to the layers of the T&M model architecture we had used, the team was able to substitute the entire business logic within three months, reusing most components for handling, interaction, and cooperation. The system successfully went operative.

REDESIGN OF AMANAGEMENTSYSTEM FORMUNICIPALDAY-CARECENTERS

The public administration of the municipal day-care centers of a major German city was developing a management system. The small development team had little background for developing a complex system of this size and had chosen to use Visual Basic. We worked as trainers and software architects. The T&M model architecture and the con-ceptual patterns were a substantial help in getting across the idea of designing and implementing a large and complex system. As the programming skills within the team varied considerably, the distinction between tools, materials, and services were essen-tial to establish a fitting division of work. The T&M design patterns proved to be on the right level of abstraction, as we could easily specialize them for a system imple-mented in Visual Basic. Most redesigned modules have seen integrated successfully and the project is in good progress.

A WORKPLACEFRONTEND FOR ATELEPHONYSYSTEM

A manufacturer was supplying server software for distributed telephony systems. They had a call-center application with a rather poor interface. We worked as software archi-tects and developers. The task was both to design a highly usable frontend for call-center applications and an architecture for this software components that would fit into the overall architecture of the telephony system. We introduced the concept of different workplace types and design metaphors. Although the general characteristics of tools, materials, and automata were applicable to this domain, we found it useful to refine some of these design metaphors. So we proposed the conceptual patterns of adjustment tool, probe, and technical automaton. This led to an improved usage model, as the users could understand potential delays and missing reactions when they tried to adjust the actual telephone switches encapsulated in a technical automaton with a tool. The new call-center software was implemented using these patterns and was a success from the very beginning, as a network of distributed call-centers managed the nationwide mar-keting campaign of one of the biggest German IPOs in years without major problems.

1 . 4 T H E E Q U I P M E N T M A N A G E M E N T S Y S T E M E X A M P L E

In this section we introduce the Equipment Management System (EMS). It is the main example we will be using throughout the book. This example is of small size and mod-erate complexity. It should meet the background of most software developers and shows a lot of characteristics of a domain, where interactive workplace solutions are useful.

Imagine that we are a small software company developing the JWAM framework as a platform for its project work. The JWAM team comprises approximately twenty people, with the usual fluctuation. Each developer has access to a networked work-station. In addition, there are the following devices: two servers, two printers, one integration computer, and one fax machine.

All developers have to rely intensively on their computers, so that the underlying infrastructure is a critical task. Our ficticious software company calls this task

“Equipment Management,” and an equipment manager is responsible for it. The equip-ment manager finds himself in a constant target conflict: members of the staff keep ask-ing for better-performask-ing computers, but the budget for device procurement is limited.

The central tasks of our equipment manager include:

Procurement of new devices: A device is normally procured upon the request of a member of the staff (see the scenario “Buying a new device” in Section 13.1). In such a case, the equipment manager has to carefully weigh the requirement against the budget. The employee’s old device is either disposed of or passed on to another employee (see the action study “Sorting out a device” in Section 13.1).

Minimizing costs in device procurements: To procure a device the equipment manager has to get several cost estimates from different vendors to ensure economic management (see the scenario “Buying a new device” in Section 13.1).

Upgrading existing devices: Existing devices are checked regularly as to their performance and upgraded, if necessary, for example, by adding main memory or hard disk capacity (see the system vision “Updating devices” in Section 13.5).

Updating the office plan: The team members are allocated to projects, and projects are located in adjacent rooms. Therefore, equipment and team members frequently have to change offices. An office plan showing a plan of all rooms with the team members and their equipment has to be updated with every change. A manual version of this office plan, that was used before the new system was developed, is shown in Figure 1.1.

The company estimates that the number of computers to be managed will double within the near future, because new members of the staff are going to join the JWAM team. This will, of course, increase the equipment manager’s workload.

1 . 5 R E F E R E N C E S

D. Bäumer, G. Gryczan, R. Knoll, C. Lilienthal, D. Riehle, H. Züllighoven: “Framework Development for Large Systems”. Communications of the ACM, October 1997, Vol. 40, No. 10, pp. 52–59.

This article describes the model architecture for large application frameworks based on the T&M approach.

3 SunSparc4, 32MB, 1995, 17"-Color, 1 Sun-IPX,16MB, 1991

4 Pentium 166 MMX-PCs, 1997

1 UltraII, 1996, 17"-Color, PC/Solaris-Server 1 UltraII, 1997, 20"-Color, PC/Solaris-Server Room D-212/213

Software Lab

1 Apple-Laserwriter IIg,1991 1 PC 486, 32MB, 1992, 17"-Color,

Room D-214

FIGURE 1.1 The EMS example’s room plan.

G. Booch, J. Rumbaugh, I. Jacobson: The Unified Modeling Language. Reading, Mass.: Addison-Wesley, 1999.

The current standard work on UML.

R. Budde, H. Züllighoven: “Software Tools in a Programming Workshop”. In C. Floyd, H. Züllighoven, R. Budde, R. Keil-Slawik (eds.): Software Development and Reality Construction.

Berlin, Heidelberg: Springer-Verlag, 1992.

This publication is a short version of the dissertation of both authors, discussing the concep-tual background of the T&M approach.

U. Bürkle, G. Gryczan, H. Züllighoven: “Object-Oriented System Development in a Banking Project: Methodology, Experience, and Conclusions”. In Human-Computer Interaction, Special Issue: Empirical Studies of Object-Oriented Design, Vol. 10, Nos. 2 & 3. Hillsdale, New Jersey, England: Lawrence Erlbaum Associates Publishers, 1995, pp. 293–336.

This is a detailed report about the approach and experiences gained in our first and largest application project based on the T&M approach.

C. Floyd: “Outline of a Paradigm Change in Software Engineering”. In G. Bjerknes, P. Ehn, M. Kyng (eds.): Computers and Democracy: A Scandinavian Challenge. Aldershot, Hampshire:

Dower Publishing Company, 1987; pp. 192–210.

The seminal work, where the author also describes our understanding of software engineering.

E. Gamma, R. Helm, R. Johnson, J. Vlissides: Design Patterns. Reading, Mass.: Addison-Wesley, 1995.

The seminal work on patterns, which formed the basis of our construction handbook.

T. Peters, R. H. Waterman: In Search of Excellence: Lessons from America’s Best-Run Companies.

New York: Harper & Row, 1982.

One of the best books (albeit criticized) that initiated the discussion about customer relations.

C. Szyperski: Component Software. Reading, Mass.: Addison-Wesley, 1997.

A popular and substantial book on software components.

17

The T&M Object

Dans le document Object-Oriented (Page 35-42)