End-User Development


The term end-user development simply means that users do all of the development work themselves. In many ways, it resembles prototyping, except that users (instead of analysts from the MIS department) create and modify the prototypes. Clearly the main advantage is that users get what they want without waiting for an MIS team to finish its other work and without the difficulty of trying to describe the business problems to someone else.


Two basic reasons explain why end-user development is increasingly popular. First, most MIS organizations are facing a two- or three-year backlog of projects. This means that if you bring a new project to MIS, the designers will not even start on it for at least two years (unless you give up some other project). The second reason is that software tools are getting more powerful and easier to use at the same time. Today it is possible for users to create systems with a spreadsheet in a few hours that 10 years ago would have taken MIS programmers a month to build with third-generation languages.


As tools become more powerful and more integrated, it becomes possible to create even more complex systems. Think about some of the database and Web tools—such as PivotTables. Ten years ago, most users would not dream of being able to create these reports. Today, you can get reports and analyze data any way you want with a few clicks of the mouse. The advantages of end-user development are similar to those in prototyping. In particular, users get what they want, and they get working systems sooner.


The potential problems of end-user development are not always easy to see. Most of them arise from the fact that users generally lack the training and experience of MIS analysts and programmers. For instance, systems produced by end users tend to be written for only one person to use. They are oriented to working on stand-alone personal computers. The systems are often customized to fit the needs of the original users. Moreover, most users do not write documentation, so others will have difficulty using the products. Because of lack of training, users rarely perform as much testing as they should. The systems lack security controls and are hard to modify. Think about the problems you encounter when you are given a spreadsheet that was created by the person who held the job before you.

Other problems stem from the bottom-up approach inherent in end-user development. People in different areas of the company will wind up working on the same problem, when it could have been solved once by MIS. Data tends to be scattered throughout the company, making it hard to share and wasting space. Not following standards generates incompatibilities among systems, making it difficult to combine systems created by different departments or even by people within the same department.


End users are limited by the capabilities of commercial software. The initial systems may work fine, but as the company grows and changes, the commercial software might be unable to support the necessary changes. As a result, some users have created systems that produce incorrect answers, take too long to run, or lose data.


The last, and possibly most important, complication is that end-user development takes time away from the user’s job. Some users spend months creating and modifying systems that might have been created by MIS programmers in a fraction of the time. One of the reasons for creating an MIS department is to gain efficiency from using specialists. If users are spending too much time creating and revising their own applications, the company needs to consider hiring more MIS personnel.