Quick viewing(Text Mode)

Rad Realities

Rad Realities

RAD REALITIES: BEYOND THE HYPE TO HOW RAD REALLY WORKS Building what the customer needs now and delivering it quickly is the new rallying cry for by Ellen Gottesdiener

The volatile nature of business in the requires a small team of highly skilled individuals (in 1990salong with (hi: emergence of cluding customers) to work together using tools ihat newer technologies such us client/serv accelerate the testing, prototyping and construction ar er, object-oriented (OOl technologies, tifacts of the software product. It should be noted, and ;tn ever growing list of application however, that there can be exeptions to the small team development tools has made rapid ap size, particularly when dramatically new technologies plication development (RAD] a buzzword that falls off the lips of almost every i/S manager and developer. RAD Incremental Delivery RAD has been described asa tool, a methodology and an attitude. It is associated with prototyping and tech

niques such as joint application (JAD), which Chunk 1 require customer involvement and commitment. It is also feared as potentially a source of - appli cations thai do noi scale up or that cannot sustain the Time; Tr.nlilinri.il Product Delivery demands of ongoing maintenance. The questions beg to be asked: "Is RAD just an other IAS fad'.' How might this approach to application Chunk I Chink 2 Chunk I Chunk 2 development change your life as a manager or developer? What can the roots of RAD reveal to us Chunk 2 Chunk 2 Chunk 3 about the essenceof this 10-year old approach? Can it live up to the pervasive marketing campaigns of tools vendors? Whal must be done to succeed with a RAD Time: RAD lncrenienf.il Product Delivery approach?" Source; E{tG CniiMilunj[ Fig. DEFINING RAD RAD products evolve based on continual customer feedback and RAD is an integrated set of techniques, guidelines .ire deployed in increments over lime. and tools that facilitate deploying a customer's soft ware needs within a short period of lime. Thisprede fined lime frame is called a "timebox." The software and techniques are employed. (See "Cigna Develops product does not "pop out" at the end of the develop One-Year Health Benefit ," page 35.) ment cycle,but instead evolves during the RAD devel opment process based on continued customer feed I'LATFORM INDEPENDENCE back. In addition,the whole software product is not RAD techniques and tools are platform indepen delivered at once, but is delivered in pieces by order of dent. RAD is not an excuse for "hacking" out software. business importance. In this way, the product is de For the PC developer applying RAD. more discipline ployed in increments over time. (See Fig. I.) is needed. For the mainframe developer applying Bach Increment, or "chunk" of the application RAD. more flexibility is needed. The key is striking typically lakes three to nine months. The RAD process the right balance. The software product development process is very different than traditional application development. [Hen Cotlesdicner ii president oi £HG Consulting, ln<., J Carmel, Ind.- Rather than focusing (in steps,tasks, and interim deliv- bMed facilitation, consulting and (rainingfirm specializing in helping organizations cri'ale maiile business .mil rechn« si models for information erables, RAD is oriented toward product delivery cycles . She canho reached via E-mail .u 71201. i I53@t ompuserve.com. defined by an end dale. Thus, the successful delivery ol

Application Development Trend\ ■ august 1995

a product is based on the skills and ability of the team lo cessiiy of focusing on the business problem first (See learn about customer as the software prod Fig. 2.1 Other RAD practitioners began by using tools uct is being built. In an evolutionary process, [earning in a mainframe environment while also changing the and adopting 10 the environment is key. By exposing the development methodology. Rob Dixon. a partner with software product lo the environment quickly and by let Tier Corp. of Walnut Creek. Calif., and author of Win ting customers critique, review, and provide feedback ning with CASE, used the IEI; CASE tool from Texas on a , the team can make changes to ibe soft Instruments. Piano, Texas, in a Cobol/DB2 project. Dr. ware to allow for belter adaptation to the future produc Sam Bayer, at Sapiens USA, Inc., Durham, tion environment. The product evolves within the time- N.C., used Sapien's own tools in mainframe RAD pro- box while the team learns. In addition. Hie quality of the jecis. — A detailed accounting of RAD in the main application is dependent upon maintaining a stable frame environment is told in Kerr and Hunter's book "memory" of the product . This is accom Inside RAD. a book that credits Shultz for his early plished through the use of models under work ;u DuPont. lying the interface design. Bull's-Eye for RAD Although tools are very critical to the RAD approach, RAD ROOTS the tools alone will not create a RAD emerged not from the PC or stable, scalable software prod client/server world but from the uct. "The tools have taken midrange Digital Equipment Corp. over the tSSfil," said Shultz. VAX environment in which Scott It is critical to look beyond ShllltZ, then a project marketing to the people, manager Bt DuPont, process, and organiza used Cortex's CorVi- tional issues to make sion code generator RAD what its inventor tool in conjunction envisioned it lobe. with new develop ment techniques. ShultZ called it STEPS IN RAD rapid iterative production prototyp The RAD process de ing (Kipp). Kipp involved uniquely fies a linear definition of combined tools, methods and people steps carried out in a se to deliver systems quickly to cus quence. RAD begins by defin tomers. His approach was later ing the desired product in an ini popularized by 's Source: ASAP Systems FifJ. 2 tial planning phase. During 1991 book. Rapid Application planning, a definition of 77je primary focus in RAD should he the Development. the project scope is com business problem, not the technology. Now a senior manager at Ernst pleted along with some &. Young LLP in Dallas and having preliminary data/process participated in over 100 RAD pro , assessment jects in his career, Schultz's approach was incorporated and estimating. A timebox is chosen — a fixed period into Ernst & Young LLP's Navigator methodology to for building a fragment, increment or chunk of the ap- form the Accelerated Systems Development (ASD) plicalion. Within lliis timebox, a spiral process occurs route map. ASD. says ShultZ, is essentially the "grand involving prototyping, modeling, architectural design, son of R1PP." Shultz's colleague during Rll'P's early construction and testing. (See Fig. 3.). Each cycle days at DuPont, Bucky Wallace, adapted similar tech within the timebox is completed "multiple times, each niques to the MVS mainframe environment. Working in time bringing the solution to higher levels of sophisti parallel with Sbultz. Wallace formed a technology cation and completion." said Shultz of Ernst & Young. group called Application Systems with Accelerated In some cases, a higher level of analysis may be need Productivity (ASAP) within DuPont. ASAP used main ed to insure proper prioiitizalion of RAD . An frame tools with a traditional waterfall methodology. -like analysis may then pro Starting with the goal of increasing productivity by ten ceed these steps. (See "USA Group Spices up .Scholar fold, Wallace discovered thai even if the code genera ships." page 32.| tion portion of the lifecycle was reduced lo 0%, overall Rob Dixon. Tier Corporation, described conduct savings in lime only came lo 3GS&. "I discovered that ing a one-month business area analysis (BAA) to de you have lo change the way you do things — the tools termine the subsets of application development needs were not enough." said Wallace, now President of AS in the whole business area and divide them into chunks AP Systems Inc., Landenberg. Pa. "Tools don't solve of requirements that can each be fulfilled in four to problems, people solve problems," he added. nine months of development. During this one month BAA, the team creates models to define the business BUSINESS PROBLEMS FIRST context, including data, functional decomposition, and Wallace emphasizes in his RAD approach the ne- perhaps object models with the aid of Case tools.

AUGUST Iff.1; ■ Application Development Trends Software Engineering

"We lake the most compelling ones customer priorities, assumes continual at a common goal, scope and si/.e. The and do them in the first chunk," said change will occur and imparts lo the development team and customers togeth Dixon. Burly and rapid definition of the team a sense of urgency. er determine the project's timeboxes. Ac project means understanding the busi A timebox is a mechanism to con cording to Highsmith, "The team has to ness problem, assessing the , priori trol resources and delivery scope: it pro be able lo juggle features lo meet the lime tizing ihe needs, and defining the incre vides a dramatically different way to that the customers help to decide. The ments in order of development. These manage a project. "The timebox is based customers know that any feature-set early activities have ilie affeel of team- on the belief thai we can do something of planned for the last cycle has the poten building us they focus sharply tial to be deleted if the overall on business needs and product timebox is in jeopardy. Time delivery. It also does much to Timebox for Each "Chunk" boxing doesn't work unless gain and maintain customer in both developers and customers volvement, a key aspect of the understand the need for trade RAD process. offs." Applying more discipline The focus group is facili and less an (and guesswork I to tated lo de-politicize and de- RAD planning has been suc Plan. emotionalize diverging views. cessful for RDI Software analyze, Il is called a focus group to un Technologies, Des Plaines, 111. size, chunk, derscore the intent and origins risk assess, ' RDI uses a well-defined pro of the concept. "Focus groups architei i cess for sizing and estimating work so well because cus projects, according to Todd tomers are given things to do Wyder. company methodolo- that they understand. They en gtst. RDI uses metrics, includ Source; EHCi Consulting Fig. 3 joy and understand and gel ing function points and quality positive feedback from criti forces llie project team to have a market function deploy IQI;D). a se cizing developers," said Bayer product orientation; each limehtn is <) release or version of the ries of customer-oriented of Sapiens. He recommends system. ranking techniques rating, that the first limebox should be software and risk. delivered in three or four After an initial J AH session to determine significance for the business within 90 to weeks of project initiation to validate the scope by defining inputs and output. I 20 days." said Bucky Wallace of ASAP. daia model. A menu structure is thus de RDI works with customers to determine "Multiple timeboxes can go on sequen livered that demonstrates the Cruding application chunks by defining "use cas tially, in parallel or staggered, and are (create, read, update and delete) of the es" — an event-driven analysis tech linked together by major entities. nique invented by Ivor Jacobson. Each and data management. In this way, wo According lo Bayer, "this first ver chunk is assigned a customer-risk-com develop systems the way they are sup sion also establishes a true partnership plexity factor, and the whole effort is es ported: each timebox is a release, or ver with the customer. The product is ugly, timated using function points. sion of the system." (See Fiy. -1.) but il is also kind of in their language. For RDI ibis technique is objective, Timeboxing forces the project team They are still skeptical because they repeatahle and understandable. Cu.s- lo have a market and product orientation. can't use il until oilier versions are deliv tonier.s "buy" project components based Planning product components by lime- ered thai capture and implement the on tlic cost of the function point. When box, rather than tasks and activities by business rules and their workflow. Hut at changes occur, as they will, function deadline, is an effective means of deliv each focus group, they are given the op points of the requested change arc deter ering real value. Jim Highsmith, princi portunity lo criticize the application mined to estimale the cost and lime pal of Knowledge Inc.. Salt without criticism of their criticism." needed lor the alteration. Customers can Lake City, Utah, collaborated with Sam Sliuli/ suggests such other options ihen decide if they want to buy the mod Bayer of Sapiens to devise a RAD ap as: put it on a wish list, add resources, ification, "We take nine months to one proach that they named Radical Soft substitute other items or just do not do il. year to get 12 to 15 deliverables in order ware Development, which includes the The limebox concept is thus a man of importance to the customer, so it's use of "customer focus groups." The agement control device, forcing the team very exciting to the customer," said customer focus group, a concept bor to maintain and manage scope. Wydcr of RDI. "The higher risk and rowed from consumer marketing, is a complexity components will be deliv team of knowledgeable customers thai TIMEBOX ITERATIONS ered carl; in the project." gather in JAD-like sessions to review an Release, version, feature set, incre implemented portion, or "feature set." of ment, cycle, fragmenl. phase, segment, TIMEBOXING the application. build, cluster, , chunk, all are Timeboxing is an essential project terms thai mean the same thing. They are management aspect of RAD. It forces }AD SESSIONS a subset of usable functional it)1 thai is the team to anticipate reducing the scale The Radical Software Development delivered to the customer ;it a predeter of product delivery, requires focus on cycle begins with a JAM session to arrive mined poini in lime. Chunks are created

Application Development trends ■ AUGUST Software Engineering

USA Group Spices Up Scholarships

RAD effort incorporated E&Y's Navigator, 's ADA/, CCI's tool, training

It could be likened lo a The delivery dates for each users, the seven loan analysts, tary processes, business trans tortilla chip whipping through timebox increment maiches were always available as ad action process descriptions .1 batch of spicy dip. Team the real world school year junct team members. and an entity relationship dia Salsa is the Fishers, Ind.- loan processing cycles. The The GUI developers had gram (ERD). based USA Group's application also supports USA previously been trained in Conceptual systems de client/server development Group's scholarship manage PowerBuilder and had used it sign entailed converting the jjroup for scholarship and ment business area strategy, to develop another single-user elementary processes into loan systems administration, which includes such goals as application. USA Group had business transactions and cre Team Salsa used a hot-pursuit compliance with internal audit Navigator Series from Ernst & ating process descriptions de methodology lo deliver the reporting, provision of en Young, Irving, Texas, as a scribing the triggers, logic first increment of a new appli hanced service options, and methodology, and the team flows, and inputs and outputs. cation in three and one-half increasing of USA Croup's had experience using the in This work was done wilh ex months. Informally known as market share. formation engineering path of tensive end-user involvement. Salsa, the completed applica The Salsa application is Navigator and the ADW CASE "The best user involvement tion will process loan and used by seven staff members tool from Atlanta-based I've ever had," said Denman. scholarship applications for in the scholarship manage KnowledgeWare Inc. (Now End users reviewed and cri private Institutions, clients ment group. It uses a two-tier owned by Sterling Software.) tiqued all the models generat and associations, client/server architecture, wilh So Denman decided to "pick a ed in ADW. The application is divided Windows-based clients run recipe" from the Navigator The physical design, Into phases and timed to cor ning PowerBuilder from Pow methodology for the Salsa completed In 10 days, con respond with the actual cycle ersoft, Concord, Mass., project. verted the logical design into of scholarship and loan against the server, which uses Beginning with a scholar the physical schema processing. the Sybase System 10 ship management business and the design for the stored The application's first database engine operating un area procedures. The ERD stored in phase processes client-sup der on an HP9000. The (BRA) activity that took three ADW was used to create the plied demographic data, cre- Sybase database is comprised weeks, the team conducted a physical schema. ation of the application pack of 22 tables with some 300 Salsa in Quantitative information, ages for potential applicants, attributes. three weeks, conceptual sys such as the number of transac application entry and edit, an Database connectivity is tems design in one week, tions and records expected, interface lo facilitate phone accomplished with Sybase's physical design in 10 days, it was used to decide if a pro customer assistance and call DISLib and CTLib erative prototyping in two cess should be allocated to the history tracking. running on TCP/IP. Prior to weeks, and development and server tto be executed as The second phase, deliv Salsa, the application consist deployment in six weeks. stored procedures) and not to ered in five months, processes ed of a combination of manu Denman set the timeline for the client (and run as Power- ranking and scoring the appli al processes, Lotus spread the phases herself to fit within Script code). cations and correspondence to sheets and Paradox . the overall ihree and one-half The Salsa team immedi all applicants — approved or The project began wilh a month timebox. ately followed these design ac not-approved. The final phase, small, well-trained team of As part of analysis and tivities with iterative prototyp to be delivered in three five: project leader Dawn design, the team created mod ing In PowerBuilder. In this months, will process funds Denman, two developers, a els of the structure and activi two-week period, the team management and lurid recon testing analyst and Jon lones, ties needed in the application. designed, constructed, and ciliation. Thus, each deploy- a technical consultant. Addi Models built during business tested the user interfaces. nieni of the system builds on a tional I/S resources, such as analysis included: a context This entailed two itera previous version, thereby database administration and thai had 27 data tions of the interface. After the forming an incremental soft security, assisted the team on flows, a process decomposi first version was reviewed by ware development process. an as-needed basis. The end tion diagram with 19 elemen the end users, changes and is- within a timehiiN and can be June se the RAD effort. functionality instead of trying to 1111 quentially, concurrently, or overlapped Anecdotal evidence supports the no up the water glass at once." with each other. (See I-'ig. 4.) A chunk tion that three iterations are needed to can be prioritized based on business complete a chunk, although variations ARCHITECTURE need, dependencies and/or risk. For ex can and do exist. An iteration can be Determining what is a chunk and ample, a risk-based approach involves measured in lime either by number of it the order of creating them occurs in the creating a wide navigational prototype erations or by more concrete metrics RAD planning step. Certain chunks de — us opposed to B deep prototype — to such as function points. The process is pend upon other chunks. For example, validate the , lo discover tbe likened to filling up a shot glass as op an order fulfillment chunk depends upon overall customer workflow or to test the posed to filling up a. water glass, said the order entry process to create the "or feasibility of new technologies before ISucky Wallace. "You pour water into the der" object and the order entry process proceeding with the other components of shot glass, implementing hunks of dis in turn depends on the pricing process to

Application Development Trends ■ AUGUST 1995 Software Engineering

sues were documented and A few of the technical commitment and involvement. Denman also commented thai the learn created another jjro- difficulties the team encoun In addition, it would not be some deliverable! "can't al toiype. In some instances, the tered are being addressed for possible to accomplish RAD ways be preity," because of team created two samples of the last increment of the ap for a business application ih.it the constraints of timehoxing. ■in interface so customers plication, according to Jones, is not well known and under A final piece of advice to could choose between them. who served as the technical stood. She noted thai manage RAD hopefuls: be sure your A total of 42 dialog report lead on the project. There ment buy-in to RAD goes be technical infrastructure is al and eighl paper reports were were problems getting some yond project approval. "It ready in place before the time- designed. of ihe PowerBuilder extended means removing obstacles," box begins. This includes es This phase was possible attributes in the physical said Denman. tablishing the workstations within two weeks because a schema generated by ADW, Although the team had and network, the database en sign if cant skills and knowl so )ones is looking at other concerns about the lime gine, GUI guidelines/style edge curve had already been tools such as ERWin from frame, it worked together with guides, and basic training. overcome. USA Croup had Logic Works Inc.. Princeton, the customers to meet ihe RAD is more of ,1 "mind previously purchased the GUI N.J., as the bridge between deadline. set," said Dcnman. It requires Guidelines product from Cor logical and physical database At the end of the project, using a flat organizational porate Internation design. Sharing a single user when a LAN crash disaster structure, using GUI develop al, Bannockbum, III., and the version of ADW also became caused five days of lost work, ment tools and streamlining designers had attended Corpo cumbersome at times. Al the team had to pull some sig the traditional application de rate Computing's effective GUI though team members had nificant overtime to meet the velopment methodology. design training. some basic SQL training, it date. Another significant as- With these ingredients on the Moreover, through work was noted thai extensive train peci of successful RAD is table, the Salsa learn has ing closely together on the ing on Transact SQL and keeping the team small. quickly created an applica business models earlier, a high Sybase stored procedures "There's been a lot of media tion, filling a real need for level of trust between the de would have helped. hype about flat team struc USA Group, like a chip velopers and the users had de Denman warned other tures," said Denman, who through dip. 3 veloped by this point in the project leaders not to attempt found thai team rapport is es project. RAD without absolute user sential in making RAD work. — Ellen Gottesdiencr

] 101VUT0R 0ACM1

Pmbictn Tracking Q4THACK™

Test Script Automation Stress Testing Q4R1 \ MSTRESS™

1-800 -486-7565

a I IT*M A TOR

i ml, ALJ|L.iTf.HnrQV ' \A> .m 'I ■"! ■>! I' !■■ . I [h"

Direct Technology Ltd. 10 East 21st Street, New York, NY 10010 {212)475-2747 Fax (212) 529-4941

0 ■ ■ ■ i 1 ■. R\- . ' . : I"- ■ Software Engineering

create the order. This implies that early The successful development of the appli edge Structures. "That is why we arc in the RAD cycle, architectural design cation used a combination of RAD tech seeing an increase in ihe number of data must be completed to discover these de niques and tlie design templates from the warehouse projects, namely to permit pendencies. "You need a good layered insurance architecture models. Having disparate databases and eliminate islands architecture and concurrent develop the application architecture of a RAD of automation," Similar danger may be ment techniques," said Chris lurking lor enterprises that en tine Comeford, whose compa gage in RAD efforts withoul ny, Corporate Computing Timebox Variations considering how and if the ap International, Bannockbura, Time plication architecture will fit 111., provides a process man with the resl of the technology. agement tool called RadPath. Corporate Computing recom Project Management ENABLEMENT TOOLS mends an architectural layer Tools are a critical part of ing made up of GUI, applica ihe RAD process. Beyond the tion logic, business rules and typical tools associated with Timebox a database access. RAD — those that build the GUI interface, for example — MODEL DESIGN arc tools that capture the appli A solid application archi Timebo* B cation models, document the tecture is based on well-de development process, create tesl signed models of the data, scripts enabling the whole test ing process, generate and build process or objects. Tradition Timebox D ally, these models are built in- code and assist in software con house from scratch by the ap figuration management. 1/S or plication team as they build Data M.iii.igemcnt ganizations may be misled or the software. Alternatively, misunderstand the role of tools. they may be part of the soft A good example of RAD ware modules when a third- Source: ASAP Syilems Fig. 4 practitioners who use a variety party software package is pur of power tools is RDI Software Multiple timeboxes c.ui go on sequentially in parallel or chased. Recent Technologies. The company staggered ,md are linked together by project and data .shows a growing trend in pur uses all of the following: chasing design templates —■ ■ Rational Rose from Ra workable software built from tional Software Corp.. Santa design models with a CASE tools that project lit into the overall, enterprise- Clara. Calif., for defining project object can be modified at the design level for wide technical architecture can be a chal models; the needs of the organization. This has lenge, however. In some cases, the enter ■ Lotus Notes from Revelation been explained by llofman and Rockari prise architecture needs lo be in place Technologies, Stamford, Conn., for all in the article "Application Templates: before any RAD efforts can begin. documentation, which also permits cus Faster, Better, and Cheaper Systems," in tomers to gel access to all project dala; the Fall 1994 issue of Sloan Manage ■ Interface development tools such ment Review. as FoxPro, C++ and Visual Basic from Microsoft. PowerBuilder from Power An existing design is thus cus .1 solid tomized, saving the RAD team from soft. Concord, Mass. reinventing the models from scratch. application ■ SourceSafe from Microsoft for Sam Bayer from Sapiens experienced architecture is configuration control; the combined speed of RAD and power ■ QAPartner from Segue Software, of a template style architecture in one based on well- Newton Cenire. Mass., for regression consulting engagement. He worked on designed models testing and automated script building; an insurance application with an archi ■ PC Lint from Gimpel Software. tectural template created by a consor ofthe data, Collegeville, Pa., for C++ error checking: tium of 40 insurance companies and process or objects. ■ BoundsChecker from Nu-Mega now marketed by IBM as Ihe Insurance Technologies, Nashua. N.H., for C++ Application Architecture (IAA). The memory leakage: and complete template contains some 170 ■ AppPolisii from Encore Compuiei- entities, their relationships, and pro Corp., Ft. Lauderdale, Fla.. for interface cesses to support some 500 business "Prior to building a significant num design spell, button and control key functions. ber of RAD projects, it is necessary to do checking. On the project Bayer was involved an architectural definition that includes in. the team used a subset of templates to tools, databases and implementation ar MEASURING RAD build a working software application. chitecture." said Highsmith of Knowl- There is no industry standard by

Application Development Trends ■ AUGUST Software Engineering

Cigna Develops One-Year Health Benefit System

RAD team delivered using Digitalk's Smalltalk, OTI's Envy, ObjectShare's GUI Tool

Imagine a group of high A learn of 12 to 5H team The method for building shared iheir plan and design level I/S managers attending a members built the system, and the system was very different before coding while others five-day course on Smalltalk during one two-month period, from any method previously waited until after it bad been as a means lo understanding the project team grew to as used. The team would coded. object technology ,ind tools. many as 35 members. The "chunk-up a development ef Smalltalk, as the develop That event marked the com consultant provided project fort and we would assign one ment tool, permitted rapid mitment by management of management and half of the or more analysis, developers, rewriting of all or subtle parts Cign.i Corp.'s Cigna Health- developers. Half of the total and users," according to Kirk, of the application. Developers Care division in Bloomfield, team were business analysts. who was the lead architect for can incrementally add func Conn., to commission a one- The effort continues with all the effort. tionality to Smalltalk objects year R&D effort to develop a Cigna employees located in For each chunk, the team lo make them richer in behav benefit information decision Bloomfield. tools a portion of the interface ior. The RAD approach goes system. The project beg,in in The application interface and returns it to the rest of the beyond mere prototyping, ac 1992, after having been at- and business logic was built development team to see how cording to Kirk. "You build to tempted several limes before using Smalltalk from Digitalk it Integrated with the rest of implement and show the inter within the division. Inc., Santa Ana, Calif. The the chunks. The team chose to face to the client. We typically In the latest attempt, ,ic- learn wrote routines lo store work with the users and show have to write things three cording lo Alan Kirk, lead ar persistent data in Sybase as them the interface and "let it limes before we get it right," chitect, Ciiin.i Healthcare, the binary large objects (Blobs) in settle for a while." he said. Kirk also noted (hat project took a completely dif image columns. Each object Different team members object development enables ferent form. The application has its own row. Envy from had different preferences tor modeling of the business with development effort in the lat Ottawa-based Object Tech when they would share their flexibility and "provides a est approach included a busi nology International Inc., also "chunk." Some, like Kirk, strong methodology to model ness process reengineering used by developers, permits (BPR) effort. Cigna developed partitioning an object's meth a system thai enabled it to ods to different application clearly define benefits pack components, thereby permit ages for any client purchasing ting their extension and £*r-COMIN<3 SOON ~ a Cign.i health care product. reuse. The team also used ^TO ENLIGHTENED ENTERPRISES EVERYWHERE! The benefit information Window Builder from Object- decision system application, share Systems Inc., Santa created within a one-year Clara, Calif., for building user limehox, was deployed in one interfaces. A two-tier archi of the six Cigna managed care tecture was used in the first service centers, each of which version wilh OS/2 clients run has 30 to 100 users. After the ning Smalltalk and the re one-year RAD effort, the RAD gional server running Sybase project was recommissioned. under OS/2. The team rethought the cycle The process model for de lime for delivery and derided livering benefit information

thai the focus should be on application was an evolution THE six-month deliverable*. ary one. The first release of MOST ROBUST This accelerated delivery the software product wits de AND ADAPTABLE schedule is now being used lo ployed in "the real world." CUENT7SERVER roll-out new and/or redesigned Improvements were needed APPLICATION-BUILDING functionality lo the applica and recognized, and subse STRONGWARE IN ALL GALAXY-DOM! A COMPUWARE PRODUCTION! tion. Currently, the third evo quent versions of the whole For a free color episode of Commander Uniface quelling an lution of the application is in application have been de outbreak of information stagnation on the Hamidic planet development by 14 project ployed. Each version has been of Drago, call 600 365 ■ 3S0& orcatch us on the "net" at team members. The applica reshaped in both form and uniface _ Info&compuware.com tion allows Cigna's service functionality from the prior centers to create, modify, version. Six months after the share and report on health first version was deployed, care product benefit informa 80% of the application had tion. The first application had been rewritten, and additional three business functions; prod functionality had been added. COMPCIWARE uct engineering, benefit plan The rewritten portion included Uncomplicaling Your Life

sculpting and inquiry, ll was redesigning objects, a step L jihI UN!i-.\( I-. in: rcfttKered fnUtinarfo ol Cmnpaware Cd built in collaboration with a that permitted the end users lo ©1995

consulting firm, Symetrix, of more efficiently and easily Chcle #35 on Reader Service Cafd Burlington, Mass. drill into benefit plans. Software Engineering

and build; it is a faster devel weeks we'd plan the nexi de "perhaps three months to be derstanding by the users that opment approach." liverable, always focusing on competent. But you're not an there will be sacrifices in the For the first effort, objects the most importanl pieces expert unlil you've had 18 name of speed; and time after were modeled with paper and within those two weeks." The months or maybe three years deployment to perform re pencil. The learn also used a team held daily morning of experience." work. bit of class/responsibiliiies/col- meetings to review issues, In addition to using the Kirk noted that al times laboratron (CRCI modeling , and it also held a object technology, the systems team members an object methodology de longer status meet analyzing and de would create "spaghetti" to signed by Rebecca Wirfs- ing on Monday signing business get something out quickly and Brock. Currently, Kirk is inves mornings. objects sometimes then il would be necessary to tigating object-modeling CASE The RAD effort brought interesting go back to the core technolo tools lo accelerate object anal required significant and unexpected gy to rework it with a better ysis and design and for storing education in both surprises. Subile, technical foundation. Howev models required to crass-train methods and tech hidden objects er, according to Kirk, the time new team members. nology. Skills, such emerged, which to perform that rework was The "peopleware" aspects as building an effec did not appear dur outweighed by the value of of ihe project were a signifi tive GUI, working ing initial analysis. speedy delivery — as long as cant factor for success. Team in a PC environ For example, said time was taken subsequently decision making wns collabo ment, and the Kirk, without real for technical cleanup. rative, not directive. No one biggest hurdle, understanding izing it, "clients make choices Reflecting on the first person was in charge, al objects, required learning. about the product thai were one-year RAD effort, Kirk said though there was a designated Among the greatest learning not verbally expressed during the team erred on the side of project manner. That manag challenges were such new objecl modeling," but were speed. If one were to imagine er let ihe team, as a whole, concepts as class hierarchies, caught once the client had its a continuum with analysis prioritize what would be de order collection, containers, hands on the application. paralysis at one end and livered and when it would be arrays and dictionaries. Kirk outlined critical suc hacking al the other, they delivered. The team set up "They use the term 'new cess factors for both the initial would have spent more time two-week delivery cycles, paradigm' and it's really true," and current benefit informa on analysis. □ "It ran like a Swiss said Kirk. "It lakes longer than tion decision system learn: watch," said Kirk. "Every two you want to admit," he added, good lools; user buy-in; un — Ellen Gottesdiener

which to measure .software, although shops are using RAD. Thai may change tion poini. The best prevention steps ;ire function points seems to be a de facto in lime. "When something becomes pop manual inspections and testing." standard or Foundation For capturing pro ular, it becomes explosively popular," Jones' research indicates that in- ductivity and delects in software. Some said Jones. speciion is more than 95% efficient in RAD metrics factor in other elements Another perspective is provided by defect removal. "The best prospeci for us such ;is skill levels of individuals, num RAD's originator. Scott ShultZ, who is the team that has built one client/serv ber of dialogs, events, risk factors, and points out thai function points are de er application and tested it manually." degrees of documentation. Metrics for ceiving, because the lools automatically said Eric Schurr, vice president of prod RAD are relatively new. generate some of ihe arlifacls that ate uct management and marketing for As a rule of thumb, according to counted in function point analysis. "If SQA, whose company offers a GUI Rob Dixon. Tier Corporation, seven- to we look past Ihe issue of productivity — client/ server testing tool and methodolo nine- month RAD efforts typically entail when we once looked to save a few gy called SQA TeamTest. "Now they 3D entity types. Highsmith of Knowl weeks lime — ihe critical palh is now know how important and difficult il is to edge Structures, says that each RAD users who have to iransfer information, test a client/server application. The only project lends to he less than 1.000 lo make decisions and prepare for and man way to test it properly is through 1.200 function points. Comaford of Cor age implementation of the software automation. In addition, you can't wait porate Computing, finds that m individ product. We have been measuring ilie to the end of the RAD project to do ;i ual with beginning skills can produce 20 wrong things in the RAD environment test." said Schurr. "work units" ii month — using a modi We should be focused on the productivi Teslirij: provides quality-related fied form of function points in die Rad- ty of the user's decision-making and metrics, such as defects by delivery cycle I'alh estimator tool — increasing to 50 change management." said .Shuli/. and priority of defect correciion. I'rojecl and then 80 works units for intermediate defect tracking "moves project man ;md advanced individuals. TESTING OS RAD agement oul of ihe re;ilm of feeling into Capers Jones, metrics guru and The benefil of applying RAD to the realm of fact" and can assist in mea president of Software Productivity Re client/server development is not yet suring application tjuality by identifying, search. Burlington. Muss., pointed out proven, according to C;ipers Jones. categorizing and planning how lo fix [hat RAO has declining value on large "Client/ server has its own set of prob bugs. In addition lo testing tools, (esiing projects, and thus it is best for efforts lems, such as horrendous quality," he as a Hfecycle process is built into RDI sized at up to 500 or even 1,000 function warned. "The industry standard is Iliree Software Technology's RAD approach. points. His research indicates that fewer defects per function point, while for This is accomplished by defining and in than 5'/i of all commercial software client/server il is four defects per func volving ii testing role from the beginning

Application Development Trends ■ AUGUST Software Engineering

of each project. RDI assigns a quality as ing, N.Y. process means continual feedback on the surance (QA) role to each project and an Benesh participated in a RAD pro RAD process itself. This self-examina additional technical QA person to larger ject last year. People on the RAD team, tion, pointed out by Todd Wyder at RDI, projects. These individuals are not devel typically four to seven people, must involves the ability to "kick back to think opers, because as Todd Wyder pointed learn to behave differently. Traditional about what you did; stop at regular out, "The tester is into breaking and the I/S roles must be played with great flexi points and see what we are doing well, developer is into making." bility. For example, a database adminis not so well, and what are we going to do trator may be asked to create and drop ta about it — how can we change that. That SKILLS/ROLES bles many times in a RAD project, to will help the incremental process im The RAD process requires skilled accommodate multiple iterations and provement all the time." individuals to play one or more roles and multiple increments of the software Even one-hour evaluations every requires increased knowledge of both product, instead of once or twice as in a other week can do much to help the pro business and technology. (See "Relearn- cess evolve, along with the product. RDI ing: The Keystone for I/S Technology also always conducts a "postpartem" Migration," A/D Trends, December check for everyone else in the firm to 1994.) "We need 'renaissance people'," learn from the project. All evaluation Tlw software said Shultz, "people who know a bit sessions are recorded in Lotus Notes about everything, but we also need spe product does not from which everyone in the firm can re cialists like database administrators." I/S view and learn. RAD uses tools and typically provides the people to perform techniques that are platform-indepen such roles as facilitator, applications ar dent. It requires striking a delicate bal chitect, GUI designers/developers, ap development ance between the hacking associated plication developers and QA testers. An with the PC development environment infrastructure group may dip in and out cycle, but instead and the analysis paralysis typically asso to assist the core project by providing evolves during ciated with waterfall methods. expertise in database administration, In addition to using such tech networking, prototype design and archi RAD development niques as timeboxing, chunking, cus tectural design. based on tomer-driven product delivery and high Whatever project organization is performance teams with high perfor continued used, it must facilitate RAD's need for mance tools, RAD is based on the high performance work teams. Not all customer premise that software development is a members can know all the tools, meth discovery process. Efficient discovery feedback. ods, standards, libraries and technolo is complex. It involves risk and uncer gies. That is why roles are necessary. tainty mitigated by team flexibility and Each individual would ideally play mul willing communication. ■ tiple roles, for example, application ar chitect and data administrator. Multiple traditional I/S project. References: roles played by several developers may The project manager must place less Bayer, S. and /. Highsmit. "Radical Software also be necessary, and roles should be as emphasis on plans, tasks and deliver- Development," American , /one 1994. signed to critical players and to cover ables and more on problem anticipation important bases. and immediate resolution of issues that Dixon, R. Winning with CASE. New York: Me- would traditionally take days, weeks, or Craw-Hill, 1992. CUSTOMER ROLES months to resolve. The project manager Most critically, customers must pro is a cheerleader, who excels in communi Holm.m, I. D. and I.F. Rockart. "Application Templates: Faster, Better, and Cheaper Sys vide several roles in a RAD project and cation skills, has a deep appreciation of tems," Sloan Management Review, Fall, 1994. be active team members. An executive the technical details and should not be, sponsor must be identified who approves as Sam Bayer said, "retentive about the lacobson, I. Object-Oriented Software Engi the project and permits the business ana plan." Finally, all team members must be neering: A Use Case Driven Approach. Read ing, Mass.: Addison-Wesley, 1992. lysts the authority to approve the deploy "comfortable with the ambiguity," point ment of a RAD increment. Business ana ed out Benesh. tones, C. Assessment and Control of Software lysts will be part of the project team Risks. Englewood Cliffs, N.I., Prentice-Hall defining data, business rules and work THE RAD ATTITUDE 1994. flow and also critiquing the interface "Evolution is chaos with feedback," Kerr, I. M. and R. Hunter. Inside RAD. New . In addition, the team needs said physicist Joseph Ford. A RAD ef York City: McGraw-Hill, 1994. to have the right kind of users — not just fort is chaos bounded by the timeboxes, business experts but also ones "who are and it is dependent upon the continual Martin, lames. Rapid Application Development. willing to not haggle over added func feedback of the team itself. Customer New York City: Macmillan, 1991. tionality within the context of that team members provide feedback on pro Zahniser, Rich, "Timeboxing for Top Team Per phase," pointed out Marie Benesh, divi totypes. Analysts provide feedback on formance," Software Development, March, sion I/S manager at Corning Inc., Corn the models. An even more evolved RAD 1994.

Application Development Trends ■ AUGUST 1995