Transforming DIY Projects from the Painful to the Productive
IT can get back in the driver's seat on DIY projects without slowing down business-user innovation by making tools and design advice available to users.Business knowledge lives close to business users and far from IT staff. Filling the gap between the two are professional developers who use a high-powered combination of technical skill and specialized tools to craft the applications that run most business functions. Sometimes business users who know what they want to accomplish can also fill this gap-often with the help of some quick-and-dirty macros. Business users have hacked together expedient and beneficial short-term solutions that often cause long-term problems by leaving out scalability, lifecycle management, adherence to security best practices and regulatory compliance.
IT can get back in the driver's seat on DIY (do-it-yourself) projects without slowing down business-user innovation by making tools and design advice available to users. Helping users help themselves in a supportable, enterprise-class manner can move user-developed tools from painful to productive without placing a further strain on stretched IT resources.
DIY TodayThere has been a pivotal change in the computing landscape since the wide-scale use of Excel and Lotus Notes. The Internet and in the last several years the emergence of cloud PAAS (Platform as a Service) offerings have developed tools that can support vast numbers of applications in a wide range of businesses on unified, proven computing platforms. Add to this a tectonic shift in users as new workers who have grown up using computers and social media bring a brash dose of "I can do that" to work. The rise of the mobile applications from their lowly beginnings on the Palm to the new gold standard minted on Apple's iPhone and iPad have raised user expectations for how applications should work. Facebook and Twitter have normalized rapid group communication while Wikipedia and Google make "I know it now" almost laughably simple. These common tools and applications only encourage users who want to smooth business applications by eliminating time-wasting, repetitive steps, mash-up game-winning information sources and socializing collaborative projects. Forrester's Gualtieri advises that IT managers empower business developers with tools so that they don't have to go to IT with every project. An example of just one such tool is the Force.com platform, which Salesforce.com released as a way to quickly develop business applications using the tools that were already developed for the company's CRM products. Microsoft Access has a feature that enables successful projects to be "upscaled" with just a few clicks to run on SQL Server. Development-platform maker OutSystems provides users with tools that enable both professional and business developers to develop and change enterprise Web applications on .Net or Java architecture. Using Outsystems Agile Platform can ease the development and fine-tuning of applications so that IT managers can stand aside as business users make iterative changes to improve product functionality without having to write code. These tools can be on-premise or cloud-based. Cloud tools make it even easier to provision business users with tools by speeding access. I took the Force.com platform for a spin to see how difficult it would be to build and run the warehouse application example included in the Winter 2011 release. Using a free starter account-a relatively common feature that encourages those with a DIY mentality-I was able to create a relatively sophisticated warehouse application in just a day. The availability of high power, relatively low-cost cloud infrastructure is another reason DIY application-development projects are more likely to spring up inside organizations. The Force.com application that I built ran in the cloud with no need for me to request any resource from central IT. And the monthly subscription costs for a modest-sized Force.com application-$50/month/user for the enterprise edition-means that it's a tempting alternative for business users who may be frustrated with the pace of IT application development. Even more sophisticated tools such as those from OutSystems come with user-interface enticements, including familiar workflow diagrams. By dragging and connecting objects in the OutSystems interface, business users can tweak the way applications run to match fast-changing business requirements.
Onboarding Shadow ITIT managers can take steps to raise the quality of user-developed applications, make it easier for IT professionals to take over successful DIY projects while still meeting the cost-control and "do it faster" requirements of the corporate suite. The first step is to bring business developers out of the shadows and into the limelight. This is a two-way street that should lessen the amount of heat professional IT developers may have expressed in the past toward business developers. And business managers should be encouraged to take a cue from IT by ensuring that every "urgent" request is actually urgent. Next, it's important for IT to take the lead in providing tools and guidelines that make it easy for business developers to start off on the right foot. Forrester's Gualtieri has a nine-point checklist to determine if a business developer should write an application. To even ask that question first means that these developers are recognized in the organization and that a project-evaluation process that is open to them is in place. Most user-developed projects will likely never spread beyond the department for which they were developed. But all these projects, especially those that have some chance of making it to the big time, should follow basic policies regarding data security, accountable access and strict management of any data that is subject to regulatory control. IT can take the lead in providing guidelines and even code snippets or basic scripts that work with platforms that are commonly used to create DIY projects in your organization. Ongoing education about application-design basics will help your business developers and reinforce good coding practices among your professional-development staff. Provide small doses of advice on how to design applications for scale and security that are led by your professional-development staff. Putting a few good application-design ideas in front of business developers will help ensure that projects that grow into corporate-wide applications will more likely have the basic underpinnings built in to make DIY applications into great business-critical programs.