First, some history. In the late 80s end user computing was fairly popular, the idea being that the end users could in fact do their own development. Products such as DBASE and Lotus 123 reflected this sort of concept, and reporting packages such as FOCUS were very popular too. In fact, one of the marketing pitches for COBOL in the 60s and 70s was that business people could do their own programming.
In the early 90s user-centered design became popular within portions of the community, the idea being that stakeholders could be actively involved in the development process. Many techniques were explored, but it basically boiled down to using simple tools and techniques which were inclusive.
In
Agile Modeling, first published publicly in the Autumn of 2000, we included the practice of
Active Stakeholder Participation which expanded on the user-centered design concept. So, it does make sense to me that stakeholders can be involved with development.
As far as programming goes, why not? My sister is an accountant, and she writes data extract code in VB as well as fairly complex spreadsheets in Excel. This is often mission-critical software for a large, well known organization. He skills are mostly self taught, like many people in IT.
Is this ideal? No. In the ideal world she would partner with an IT person that has the skills to help mentor her in developing these things, who would help design it (most of her designs, from what I can tell, are the same thing -- grab the data, cleanse it where needed, then dump into Excel), and help
test it. Better yet, the IT person would also be on the ball enough to identify stuff that she's developed that would be needed by others, would clean it up, and then make it available to whoever needs it.
So, my advice is that
you should try to find ways to work closely with your business stakeholders. You should have them actively involved with the modeling effort, often all you need to do is adopt
inclusive modeling techniques, and you should try to mentor "power users" in more complicated development skills such as programming. It is possible, and in fact I bet if you were to go around and talk with some of your users you would discover that they in fact do develop programs on their own, usually in the form of spreadsheets or MS Access programs. Smart IT people try to streamline this sort of stuff, dumb IT people try to stop it (and they usually fail doing so).
As an aside, I got my writing career started by selling a collection of 5 articles on this very topic to Computing Canada in the Spring of 1992.
- Scott