A Better Model for Application Development in Government
Shadow systems are a reality in any IT organization, especially government. They pop up for various reasons including an unresponsive IT department, systems not meeting user needs, staff looking to analyze information in new ways, and changes in business practices to name a few. The government structure itself helps these systems exist, individual agencies / departments are are often so autonomous and they act like independent companies within a larger organization, having their own operating processes and procedures and want total control. With the rise of powerful desktop applications, savvy end-users got the tools to author sophisticated applications on their own, often times finding it more expedient than traditional development routes. They typically use Microsoft Excel and Access and build ad hoc systems that grow over time to mission critical. In fact, some organizations rely on spreadsheets as a key component in their financial reporting and operational processes. The problem is most of these systems are not tested, documented or secured with the same rigor as more formally developed solutions by centralized IT. Many even expose sensitive data to user not authorized to view it.
What governments need is a tool that allows those savvy end users to take their data, forms and process and create solutions to run their organizations. Something similar to creating a web Mashup. That is, use their business knowledge, understanding of the data, forms and processes to create business mashups that create value for their organization. Then share it out and allow others to take advantage of their expertise and solution. The tool also needs to be robust enough for government IT shops to use as it as their application development environment of choice. It also must help enforce data integrity and security. Instead of a mashups (a pure web play) governments really need a Software Plus Services approach so they can drive adoption by taking advantage of rich desktop products like MS Outlook for its user interface. Outlook being so intuitive that almost everyone knows how to use without any training.
If I were still a Government CIO, I would be taking a long hard look at Microsoft Dynamics CRM as application development environment that empowers savvy end users to configure robust applications without any programming. It is well suited for both ad hoc and full scale development in the following themes: relationship oriented, process driven, and collaboration driven The following white paper written by one of Microsoft's CRM partners does a good job of describing Dynamics' CRM history and many of the advantages of this approach.
The beauty is migrating those ad hoc Access and Excel applications is somewhat straightforward using Dynamics CRM. At the same time it provides a secure, scaleable architecture that uses both an Outlook and web user interface to leverage the full power of the Microsoft stack. Instead of hard core programming all of its power can be harnessed through configuration with the ability to jump into .Net or AJAX should the need arise. The multi-tendency feature allows IT to host individual departments in the same environment and securely isolate them from each other. In this manner, you could develop integrated justice, code compliance and grants management systems in the same environment you allow savvy end users to create business mashups to replace shadow systems. I believe it is a much better model for application development in government and maybe the only one really worth considering.