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.
The problem has been a long time brewing. Since the advent of
Lotus 1-2-3 and Microsoft Excel spreadsheets, and later with the release of Lotus
Notes and the widespread adoption of PCs, business users have created
application-like developments in the form of macros, scripts and simple
building blocks that were often included with these mainstream applications.
“Business developers”—knowledge workers with a facility for using relatively
simple software tools to speed up the work process—have been churning out DIY
applications ever since.
In a just-published report entitled “Empowering the Business
Developer,” Mike Gualtieri, senior analyst at Forrester Research explained,
“These businesspeople don’t want to become developers; they just need to get
things done.” And the way they “get things done” has become a widespread phenomenon. Business people have gone
off on their own to build application-like functionality, often using Microsoft
Access, Excel, SharePoint and IBM Lotus Notes. These applications can usually
be built quickly, and almost always without the assistance of professional IT
developers.
But a range of problems then begins to emerge when informal
applications succeed. Useful, user-developed applications often run without
regard to corporate-governance policies, a lifecycle plan or any support mechanism.
While similar criticism is also commonly leveled at professionally developed
applications, there is no question that informal applications that grow beyond
use in a small department exhibit these problems almost at once and with almost
no recourse for correction once they spread.
Successful DIY application-development projects usually get
thrown over the wall to professional developers in the IT department.
Translating these applications into enterprise-class business tools can be
nearly impossible if IT hasn’t provided some guidance for creating these DIY
applications in the first place. As Gualtieri pointed out in his research,
business developers can be harnessed more effectively if the organization
formalizes a business-developer strategy, bringing this shadow IT organization
of front-line coders into the open.
There is good reason for IT managers to embrace—rather than
harass—business developers. An August 2010 Gartner report titled, “Measure and
Manage Your IT Debt,” said: “After a decade of tight budgets, the scale of the
maintenance backlog has created a systemic risk, particularly for large
organizations.”
Andy Kyte, vice president and Gartner fellow further
explained that the deferred maintenance of critical business applications has
created an “IT debt” that many organizations will have to pay. That payment, in
many cases, will come in the form of assigning the professional IT development
staff to fixing these tools, leaving even less room for creating new
applications that business users need.
DIY Today
There 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 IT
IT 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.