Harnessing End-user Computing within the Enterprise

The Achilles Heel of the Enterprise

by Bill Dodson a principal at William R. Dodson Associates, of the Boston, Massachusettes metropolitan area, a Joint Application Design (JAD) and Joint Implementation Process (JIP) group that facilitates communications and co-ordinates enterprise-project efforts between end-user communities and IS departments.
"By 1998 it is predicted that 80% of systems development will be carried out by the users themselves, or by programmers under their control, and using tailorable packages and 4GLs [4th-Generation (programming) Languages]," according to Kit Grindley, in his book Managing I.T. at Board Level (FT Pitman Publishing, 1995).

For the vast majority of business personnel, this prognostication would bring some cause for rejoicing. Finally, the proletariat have successfully revolted from the centralized computing autocracy of the Information Systems (IS) department. Now, they can be in charge of the constructing the databases that hold the information they are individually responsible for. If the department head or upper management requires a special report, business unit staff can quickly cull their own databases with end-user query tools and present the answers Management is looking for. No longer does department staff have to wait for weeks on end for a response from the IS department.

But there is also a dark side to the overwhelming trend toward end-user computing in corporations. Already, organizations that are either planning, designing or implementing enterprise-wide applications are skirmishing with department-level applications buttressed by stubborn sponsors and devoted users. Enterprise computer applications span departments in organizations; they can even bridge divisions and link subsidiaries to one another. End-user development efforts typically adhere to no standards at all. Usually, departments have their own staff develop these applications, or they hire outside consultants to build applications for them.

Sometimes, business unit managers are conscious of an enterprise development effort underway in their company. Sometimes, they are not. Still, the reasons for end-users taking the development of information systems into their own hands are the same: control.

With business climates changing as often as the weather and industry trends veritable tidal waves of novelty, corporate staff has had to take on more responsiblity for the quantity and quality of the work they produce. Now, when a department manager or division head requests subordinates for a specific report, it is simply unacceptable for the staff to say it will take several weeks for the IS department to turn the report around. In several weeks an opportunity the business could have taken advantage of could vanish; or potential partnering relationships or customer service strategies can disappear.

Or, more to the point, staff that are perceived as "not performing up to standard" can find their positions eliminated within the weeks they said it was not possible to generate the requested report. Micro-computer technology and the aura surrounding client-server architectures have empowered departments to "take matters into their own hands". Control of output produced by "off-the-shelf" software packages have encouraged departments to undertake their own development programs, so they can have more control over the fate of their work when managers and colleagues require input from them.

I call these department-level computer applications that have not been included in any enterprise-wide scheme "aggregate systems". Aggregate systems, when viewed as a single entity, can provide as much of a challenge in maintenance and upgrade as enterprise efforts that organizations plan and design from the ground up.

WHY IMPLEMENT STANDARDS?

The Tower of Babel
But this extreme sense of autonomy business units are demanding comes at a high price for the organization as a whole. When it comes time for departments to share their data at the file level, or for the IS department to connect their grand client-server architectures to departmental databases, all involved are finding the effort demanding in the least, very expensive at worst. One Executive Director of a university think tank confided that they have five similar databases in five different database environments, none of which can talk to one another.

"We have to select [vertical market software] products that best meet the need of each of the departments," says Curt Springer, Manager of Emerging Technologies at the Harvard Medical School. Once the product is selected, then the School deals with the support issues revolving around the database or programming language the product was built wth. Hence, for fund raising the school supports a product built in Access; for the Registrar's office there is a registration package and its upgrade -- the first version is in Paradox for DOS and the second is in Paradox for Windows; while the Division of Medical Sciences supports a FoxPro application, which is an application re-designed from its HP 3000 forebear. Meanwhile, the IS department's center-piece ISIS (Integrated Student Information System) project is a client-server application that supports a front-end written in Uniface version 5.2 with a Sybase back-end.

The sheer multitude of affordable programming languages and database environments -- many of which are quite reasonably priced -- is at the base of this Tower of Babel. The marketing haze obscuring the complexity of many of these tools creates a pioneering spirit in Management that is all out of proportion to the actual effort required to build applications from the ground up. "The reality is that departments do not have the technical staff to develop and maintain systems," noted Springer.

Indeed, more often than not a department will have decided on the tool before it's fully elucidated the business problem it would like solved. This often is very much like the home owner who has committed a construction effort to the sole use of a screwdriver, without taking into account whether and under what circumstances the screwdriver might be appropriate.

Currently, the workgroup database development tool du jour is Access. When I've asked potential clients why they have committed a development project to Access, invariably the answer is two-fold: because it came with Microsoft Office and because the department already has its mailing list in Access. One of the most difficult aspects of beginning a development project is then having the department step back from its chosen weapon at least long enough to learn what the business problem at hand really is, and then finding the appropriate tool for the job.

RADical Departures

A variable in the composition of a systems integration effort that may compound the difficulty of integrating a department's systems with the enterprise is the outside contractor. Very often a department will go outside its organization to find development assistance because it has little faith its IS department will be able to meet its constraints for success. As a result, the precedent is set for the consultant to use a design and development approach that likely is not congruent with the standards used within IS.

And then further compounding development efforts are freely interpreted methodologies like Rapid Application Development (RAD) and Rapid Prototyping. At its most fundamental, RAD involves iterative design and construction of application deliverables consciously constrained by timetables (otherwise known as timeboxing). The pattern involves an initial design phase encompassing the needs of an entire application. Then, within a specific timeframe, evolving deliverables through iterative prototypes.

The approach works well when the developer and the customer are able to agree on when prototyping is complete and when the final version of a deliverable is to be constructed. However, the norm is more and more becoming that the prototype becomes the final deliverable. In terms of the integrity of the foundation of the code and even of the interfaces themselves this creates enough problems; in terms of future maintenance and upgrades this approach creates nightmares. More often than not, Rapid Prototyping seems to eschew documentation, relying instead on the lone-individual or small programming team recalling every business and technical detail involved in a project.

"Rapid prototyping, in particular, is susceptible to this short term view. While extremely effective when judiciously applied, it can, over time, encourage a viewpoint that requirements cannot be known at all in advance but, rather, must be discovered in a sort of catharsis of automation. The life cycle is reversed into automating in order to develop requirements, as a substitute for business insight and planning," wrote Arthur Moore in the Journal of Systems Management (Dec 1993).

The challenge arises for IS then: how can engineers incorporate department-level applications into the enterprise when there are no blueprints explicit about the inputs and outputs of the system? IS then has to either rely on the outside contractor for that information; or has to reverse-engineer the application, if possible; or has to wait for the systems investment the department has made to reach the point of diminishing returns,at which point a new system needs to be put in place.

Back to the Fold

A business unit investing in its own database system often overlooks the issue of maintenance. Traditionally, a department relied on IS for everything: interface design and development, report delivery, maintenance and upgrade. So now, without the input of IS during the Software Development Life Cycle (SDLC), who is responsible for the maintenance of the application when it goes down?

"We're not in the programming business. People [in the end-user departments] are clear on this," said Marcia Duvall, Manager of Application Development at the Kennedy School of Government, in Cambridge, Mass.

For IS, everything about a problem with an application IS did not develop is non-standard: the database tool is one they are unfamiliar with; there is no documentation for the application; the original developers might not even be around.

In some organizations, departments that have developed computer applications without the aegis of IS have had no option but to call on IS to resolve bugs ranging from fatal errors within custom applications through to the resolution of report-printing problems. "I often help end-users with the logic of writing queries with multiple tables or calculated fields or 'ands' and 'ors'", reports Duvall.

The Standards of Yore

In design, construction and support PC-based development projects have adhered to few of the standards created in "big-iron" projects. Security is laxer in end-user computing systems, as well as maintaining data integrity through effective backup systems. Really, there are no design standards in end-user systems, if design is pursued at all. True, one of the complaints about IS over the years has been the amount of time and the complexity of the designs for systems and application enhancements. This was all compounded by the waterfall methodology, wherein documentation was "thrown over a wall" from one dissociated group to another during the development process, lengthening development time, complicating communications and generally mangling end-user requirements.

Though development cycles have decreased substantially over the years, the lack of consistency in development and documentation of desktop systems has created a barrier to speedy systems upgrade,enhancement and maintenance. In the highly probable event that the developer of a desktop system is no longer available to support a system, it can take another individual weeks to divine just what the originator had in mind. And in the event of a dramatic systems failure, where data is lost or screen code is corrupted, non-standard approaches can result in the complete loss of a system.

WHERE TO START?

If organizations want to begin coalescing their aggregate systems into an enterprise-wide construct, they need to focus on five particular areas of standardization:

Business Analysis and System Design Methodologies

The entire culture of desktop systems seems to eschew the very concept of approaching a business problem the same way over and over again; ie, adopting a methodology. Especially at the outset of a project, it is key that certain steps are followed in a particular way to ensure that a challenge to a business is finely understood and modeled. Relative to the cost of software construction and systems integration, analysis and design is inexpensive. It is far easier to change a model that exists only on paper or perhaps as a prototype than it is to change programming code mid-stream to address a gross conceptual oversight.

There is also the issue of software quality. To paraphrase Pareto's Law, which is often cited in quality circles: 80% of all problems in software can be attributed to the first 20% of the project. In software projects, the first 20% relates to the analysis and design phases of the project. If the problem to be solved is not well thought out and/or the subject of the problem -- the business itself -- is not well understood, the project is destined to be a liability when it comes to systems integration and maintenance. In projects where there is little or no analysis and design, integration into the target environment and maintenance can be up to 50% of the project: In this instance, the development team -- which includes business unit representatives -- is still working to understand the business problem and the appropriate solution.

IS's response to the design dilemma has been to create great, mega-designs of the enterprise. In starting design from "the top down", IS has hoped to be able to enforce design structure onto department-level applications. However, in moving from the top down, "there is too much of a time disconnect," says Stuart Scott, principal consultant at Proforma, a design consultancy in Iselin, New Jersey. "People must have a context to describe anything. The Enterprise is too complex as a context. So, you must create your designs from the ground up." Scott gave the example of a large managed healthcare provider in Michigan that attempted to solve a specific business problem through its enterprise model, which the business unit representatives could not relate to -- the super-context was meaningless to them. Eventually, Proforma modeled the issue from the perspective of the managed care programs in question, allowing the design to grow from the ground up. The business unit representatives and IS could then see the issues and develop an appropriate response.

Scott advocates aggregating business unit models, cataloging them, creating a library with them. Then, users can borrow from and build on the body of design knowledge the organization develops.

Communications Structures

End-users within an organization, independent of the department they work in, should come to expect that communications within a project should proceed the same way they did in previous projects. The same business terms and concepts end-users use as tools to accomplish their business apply from one project to the next; and the same analysis and design symbol-sets should apply, too. The same structures for communication should remain accessible as well: facilitated Joint Application Design (JAD) and the Joint Implementation Process (JIP) sessions and formal computer training should become cornerstones for the communications structure between business representatives and engineers.

These facilitated formats make for a viable means of resolving inevitable conflicts between business unit realities and IS expediencies. During the design and analysis stage of application development, JAD sessions help build consensus between different parties, as well as constructing living documents that reflect an integrated vision of what the system should be and how it should operate. "JAD is typically used in the early stages of a project life cycle: System Overview, Business Requirements Analysis, and Business Design. In these stages, it is critical that well thought out, complete and reliable information be gathered from the users," said Joy Matthews, Vice President of Marketing at Pierson Application Development in Stamford, Connecticuit.

Once into the programming, testing and systems integration stage of development, Joint Implementation Process (JIP) sessions ensure committment by the faction remains strong and focused and that the risk of failure due to a lack of communication is zero.

Software Frameworks/Libraries

IS departments often mandate the wordprocessor and spreadsheet other departments within an organization should use. IS management in many companies has also taken to authorizing a specific personal database package, so end-users can build and keep their own mailing lists. But when it comes to recognizing and then standardizing end-user development activities that impact the enterprise, IS could also offer up some additional standards.

In particular, IS can mandate particular software frameworks and libraries. Frameworks are the skeletal relations between program files that serve as foundations for applications. Instead of writing an application from the ground up, software developers modify these frameworks, "snapping in" their own screens and reports and customizing the framework to support their own bells and whistles. Visual FoxPro's CodeBook, by Y. Alain Griver is such a framework.

Libraries extend the functionality of an application. Libraries can control communications, network protocols, add graphical user interface (GUI) controls. Visual Basic OCX's are modular controls that often belong to libraries. Libraries can be written in the langauge of the application at hand -- FoxPro, Visual Basic, PowerBuilder -- or they can be written in languages like C++ and Pascal.

The use of frameworks and libraries helps enforce continuity in the appearance and functionality of applications. If end-users see applications throughout their organization that look the same and act the same, management of their expectations is much easier. Indeed, the design work of developers is often much easier because users can see throughout the enterprise real examples of how their application will look and, to some extent, how it will function: their expectations will be more grounded than if they had conflicting models or no models to follow.

Indeed, through the use of frameworks and libraries an organization can create a consistent look and feel to applications that enables users to begin designing and prototyping what they need before the engineers get to them. This acknowledgement of a "corporate standard" saves departments some of the budget they would otherwise spend on this exercise. It also puts internal and external engineers on alert that their are guidelines that they need to observe and that complete anarchy has no place in the development effort.

Documentation

Every application should have well-organized documentation that describes an application like a biography describes the life of a person. The basic documents should be:

Systems Design

Systems design documents depend on the methodology a developer uses to analyze and record system needs. Structured analysis uses Data Flow Diagrams (DFD's), Entity-Relationship Diagrams (ERD's) and Structured English in mini-specifications to describe the place and characteristics of a system. There are many originators of symbol-sets for each diagram, including Yourdon, Coad, Martin and Chen.

Object-oriented Analysis (OOA)and Design (OOD) approaches also use a number of different diagramming techniques. OOA and OOD also mix and match methodologies to gain as complete a picture of a system and its context as possible without programming. The most popular mix is the Use Case approach of Jacobsen with the Static Object Models and Interation Diagrams of Rumbaugh.

Whatever approach is used, the systems documentation should stick with the same methodology. It would be difficult for anyone to decipher what was meant by documentation that began with an object approach and finished with Data Flow Diagrams.

End-user

User documentation is optimally written material that describes to someone with minimal exposure to the database what they need to do to access the database, get information into the application, and get reports out of the application. It should be generously illustrated, with lots of white space, to break up the visual density of the pages for the sake of greater readability. It should be written in such a way that you as the inheritor should not have to pester a user to learn how the system is supposed to work: you should be able to go to the user documentation to get a step-by-step description of how the application works.

Technical

Technical Documentation traces the changes to the system that occurred between the design phase and moment the application "goes live" for users. During that time, the transition from the logical data structures to the physical implementations can be a rude awakening for developers: the same as the difference between theory and reality. Often, issues that had fallen between the cracks in the design phase will need to addressed through change requests that erupt during programming and testing.

The spiral of software development is a real one that developers need to realize and adapt to as development times compress and more parties become involved in the mix. Here especially, the Implementation Coordinator is key in ensuring that the system transition to reality is well documented, but that the changes to the system stay within the guidelines established throughout the enterprise.

End-user Training

Typically, end-user training means transfering the knowledge to application users about the use of an application. This entails either bringing users into a classroom setting and offering the opportunity to make mistakes with the application in a "safe" environment; or, it could mean training a core group of users who then have the responsibility to train other users. However, application training should occur in a consistent manner throughout the organization. This enables users to leverage the knowledge gained in previous training sessions for use in later training sessions. It also helps users reduce their anxiety born of the "unknown enemy" -- the application -- so they can concentrate more on learning the new application than on being disoriented.

But there is also an opportunity to expand on just what sorts of things are communicated in training sessions. Organizations should invest in training end-users -- department managers and front-line staff -- in design, prototyping and testing techniques. In this way, IS can more easily transmit standards to departments that are likely to embark on their own development efforts. Whether the end-user department is going to hire an outside consultant or work with internal IS staff, it is only to the advantage of the department to have standards to which to cleave; standards against which they can measure the quality of the product they are working to create. The transmission of standards will also reduce development times and budgets because the high-tech bain of end-user ignorance will have been substantially reduced.

IMPLEMENTING THE STANDARDS

The Standards Task Force
Some organizations have created standing committees of business unit representatives who are given a mandate to examine and discuss every department-level development project proposed throughout the organization and to measure each against the current portfolio of applications. Eastern Utilities, an electricity provider in western Massachessets, has in place just such a task force.

The committee staff members measure development proposals against several issues, including:

One Stone at a Time

As Premier of the People's Republic of China, Deng Xiao Ping once described the pace at which China would undertake economic reforms as, "Feeling for one stone at a time while crossing the river". Organizations attempting to co-ordinate business unit development activities with the enterprise effort at large need to understand that implementing standards throughout the business will be a learning experience for all involved. It should be something gone at incrementally.

IS needs to communicate standards throughout the organization one end-user project at a time. Preferably, IS should start with a small department or small-scale project in presenting the standards. IS should also serve more as a consultant than as a dictator in presenting those standards: initial -- and natural -- responses to such proclamations is to ignore them and their criers. Instead, a more educational approach to introducing standards at the department level will meet with a more receptive response than would a proclamation, and will create a more enduring investment by those in the departments affected. By educating departments to the benefits of standardizing their efforts -- potentially lower development costs, more effective support by IS, etc -- IS can find departments and business managers becoming more their allies than their adversaries.

Appropriate Technologies

Certainly, one of the things a joint standards committee could assess in project proposals is the appropriateness of a technology and the appropriate use of a technology. Appropriateness refers to the department using the right tool for the right job. In assessing projects, groups need to be especially conscious of department managers who have want to use a product for which they received a flyer just a weeks before -- especially one with which no one else has any experience; or, for business unit managers who have a brother-in-law who programs in one of the database languages and can do the job for the department at a reduced rate.

Organizations must also be sure that the technologies are used appropriately. Not all databases are created equal; so, questions need to be asked and adequate answers found that reveal whether a particular database is up to the job, or is too much for the job. This is especially important in evaluating databases that have been customized into vertical market products. Some vendors cram so much functionality into these products that the cost of further customization and training may not reap the returns the organization was looking for.

Forced Obsolescence

As organizations decentralized their operations, cutting away levels of middle management and the ties that bound central command to the rest of the business, departments felt it appropriate to build their database applications in whatever the database du jour was at that moment.

So, the Kennedy School in particular standardized on Access for both end-user and customized database development. The Massachessets Water Resource Authority (MWRA), a regional water utility, did something similar: for end-user development they have standardized on Access, and for complex inter-departmental applications they have standardized on FoxPro.

One of the reasons for choosing the tool they did for standardization is the tool's interoperability with other computer applications in the Windows environment. Another is the expectation that because the database belongs to a suite it will not be made obsolete as quickly as it would be if it was a stand-alone product.

A Standards Document

IS should produce a living standards manual to distribute to all departments involved in development efforts. By "living", we mean something maintained in an electronic format that is easy for IS to maintain. It would be a prime candidate for inclusion on the corporate intranet. This document would contain an explanation of the Software Development Life Cycle (SDLC), which very few business managers have any knowledge of when they embark on database projects. The Standards Manual would also discuss how to design a database application, with illustrations highlighting the design symbol sets the organization has decided to use. Change procedures would also be presented, so departments would know first how to manage and prioritize expectations, then how to deal with the unexpected.

When the Kennedy School distributed a standards manual to department heads around the School, "people took it seriously", Marcia Duvall explained. "[External] database developers were making things worse than they had to be," she says of development projects. "Departments filled out the last page of the Standards Document, which was a preliminary proposal, which helped them get their ducks in a row". The number of department-level projects that became out of control decreased dramatically.

The Implementation Coordinator

An Implementation Coordinator (IC) can use the standards IS advocates to work with various departments as a consultant to, at first, introduce the standards in a working environment. Then, with subsequent projects, the IC can facilitate efforts by ensuring that both the business unit representatives and the engineers are all speaking the same language and adhering to the protocols.

"As an IC I've got my own web server that I can populate with any and all information relevant to my project's successfully implementation," said Howard Fallon, author of the book "How to Implement Information Systems and Live to Tell About It. "Status charts, project plans, contact lists, graphics of the operational environments, the object model, how to build a client application, how to build a server method, frequently asked questions, etc. are all on my web site. Plus I have a search engine so people can find the area of their particular interest without having to wandering those endless menu structures. With this web technology I'm promoting the development and support structures for my project within the organization. The real power of this technology is people I've never met who are located hundreds of miles away can log into my web site and get the information they require."

JAD versus JIP
Facilitated work sessions that bring together into one room representatives of disparate interests are a must in coordinating enterprise efforts with end-user needs. Joint Application Design (JAD) has been around for about the past fifteen years. The Joint Implementation Process (JIP) is relatively new, developed to meet the co-ordination needs of increasingly complex system implementations.

On the face of it, there is not much difference between Joint Application Design (JAD) and the Joint Implementation Process (JIP). As Joyce Matthews of Pierson Application Development in Stamford, Connecticuit explains, JAD has three phases:

Preparation

  • Conduct executive sponsor and participant interviews and orientations
  • Identify the management perspective and workshop deliverables
  • Participant selection process
  • Uncover potential problems or issues in the project
Workshop
  • The facilitator guides the participants through structured techniques
  • The documentors capture information
Follow-up
  • Documentation preparation and delivery
  • Prepare workshop evaluation reports
  • Open issues are identified for resolution
  • Next steps are identified

JIP has very much the same steps. However, JAD tends to be focused on resolving project design issues that happen at the front-end of a project. Howard Fallon, in his book How to Implement Information Systems and Live to Tell About It writes, "JIP Sessions are conducted in the later stages of the SDLC [Software Development Life Cycle] to address the issues and problems of implementing that information system into the operational environment. JIP Sessions are an outgrowth of the JAD workshops. JIP, like every other innovation, stands on the shoulders of its forebears."

Here are some resources about JAD and JIP:

Seminars:
  • The Boston Facilitators Roundtable, c/o Joy Mathews, President, 203-322-1606.
  • Seminar: JAD Facilitation & Methodology; call Pierson Application Development, 203-322-1606.
Books:
  • Fusion: Integrating IE, CASE and JAD by Dorine Andrews & Naomi Leventhal
  • Joint Application Design by Denise Silver and Jane Wood
  • Inside RAD by James Kerr and Richard Hunter
  • Joint Application Design by Judy August
  • How to Implement Information Systems and Live to Tell About It by Howard Fallon

Continuous Improvement

Departments could help one another through their own development challenges by posting their development experiences in the Standards Manual. If departments so preferred, they could remain anonymous. The point of sharing project summaries with other departments would be to contribute to the efficiency of other efforts, so the organization as a whole could avoid the same snags.

The Enterprise becomes more stable, more flexible then, not only when IS harnesses and coordinates end-user development efforts, but when departments themselves can further enhance and extend standards in communications and protocol back to IS itself.

Copyright © 1995 by Bill Dodson Associates

Return to theIC home page.