I've spent about 15 years trading methodologies and basically hanging out with the motley crew of folks who call themselves spreadsheet developers. I divide them into two primary groups:
♦ Insiders are developers who are intimately involved with the users and thoroughly understand their needs. In many cases, these developers are also users of the application. Often, they developed the application in response to a particular problem.
♦ Outsiders are developers who are hired to produce a solution to a problem. In most cases, developers in this category are familiar with the business in general but not with the specifics of the application they are developing. In other cases, these developers are employed by the company that requests the application (but they normally work in a different department).
Some developers devote full time to development efforts. These developers may be either insiders or outsiders. A fair number of consultants (outsiders) make a decent living developing spreadsheet applications on a freelance basis.
Other spreadsheet developers don't work full time at the task and may not even realize they are developing spreadsheet applications. These developers are often office computer gurus who seem to know everything about computers and software. These folks often create spreadsheet applications as a way to make their lives easier —the time spent developing a well-designed application for others can often save hours of training time and can greatly reduce the time spent answering others' questions.
Spreadsheet developers are typically involved in the following activities, often performing most or all of each task on their own:
♦ Determining the needs of the user
♦ Planning an application that meets these needs
♦ Determining the most appropriate user interface
♦ Creating the spreadsheet, formulas, macros, and user interface
♦ Testing the application under all reasonable sets of conditions
♦ Making the application relatively bulletproof (often based on results from the testing)
♦ Making the application aesthetically appealing and intuitive
♦ Documenting the development effort
♦ Distributing the application to users
♦ Updating the application if and when it's necessary
I discuss these developer activities in more detail in Chapter 6.
Developers must have a thorough understanding of their development environment (in this case, Excel). And there's certainly a lot to know when it comes to Excel. By any standard, Excel is easy to use, but defining what's easy to use depends on the user. Developing nontrivial spreadsheet applications with Excel requires an in-depth knowledge of formulas, functions, macros, custom dialog boxes, custom toolbars, menu modifications, and add-ins. Most Excel users, of course, don't meet these qualifications and have no intention of learning these details — which brings me to the next topic: classifying spreadsheet users.
Was this article helpful?