By Jonathon Sapir
For years, corporate IT departments have held a monopoly on application development. Since computers were first introduced into the corporate world, creating new applications has been left in the hands of an anointed few. Speaking in the arcane languages of Java, C++, C#, etc., the IT department has controlled what gets developed, how it gets developed, and when. This control has been both a boon and an obstacle to improving the way organizations conduct business.
But there's radical change afoot in the world of application development that will benefit any CIO with the focus and flexibility to take advantage. The current focus on Web services and Service Oriented Architectures (SOAs) is the precursor to real change. We are on the threshold of the next wave of computing after the Internet—the IT-savvy organization. In this world, non-IT employees can take responsibility for computerizing their part of the business, ideally within the context of an enterprise platform that facilitates reuse and sharing.
Web services and SOA for the masses
In an IT-savvy organization, business managers of all types don't operate on the IT department's schedule. They no longer view computing as something mysterious that only experts should handle. They're already accustomed to performing a number of smaller tasks for themselves using tools and applications that don't require advanced certification or even a degree in computer science. As a result, in an IT-savvy organization, a traditional IT department will need to change its mission and role or risk becoming less and less relevant in solving the problems of its user base. Three catalysts for the IT-savvy organization are in place:
- The need is there.
- The ability (and desire) is there.
- The technology, in the form of Web services and SOAs, is now there.
What will finally tip the scale is something that ties together these forces and fully enables an IT-savvy organization. That something will make developing a small Web service as easy as designing a spreadsheet. But before delving into this point, let's examine the three catalysts in turn.
At first glance, some may see the dawning of the IT-savvy organization as a threat to the livelihoods of thousands of hard-working enterprise developers and other programmers. The reality is that those IT workers already are being victimized by a more immediate menace. So far in the 21st century, escalating economic pressures have exacerbated a vexing paradox of corporate technology: Do it better, faster, cheaper, and with fewer resources. Today's IT departments are facing enormous challenges and they are expected to develop, maintain, and upgrade increasingly complex applications. They are also being bombarded by more requests for new applications from business users.
Meanwhile, the number of IT jobs has dwindled with the size of IT budgets, a trend that has yet to show any signs of reversing. In July 2003, technology analyst Forrester Research revised its already anemic 2003 forecast for IT spending from 1.9 percent growth to 1.3 percent growth. "Today's IT decision makers are feeling the heat on several fronts to improve IT delivery performance under much tighter fiscal controls and business unit direction," said Tom Pohlmann, research director at Forrester.
Also, consider that in recent years, 75 percent of new application projects have come in over budget or later than projected, with many applications being scrapped before they're deployed. The problem isn't the programming. It's the basic concept of developing a whole application from start to finish and then deploying it. In today's dynamic business world, with business users changing requirements midstream and business processes and data sources in flux, this "one gulp" approach no longer works. The nature of business itself is simply a great deal more volatile than at any time in history, requiring constant changes to systems to respond to market pressures and factors such as globalization. Add the complexity of system interdependencies, requiring intense research before development can even start, and the crisis in application development becomes evident. Rather than run from a dramatically new approach, many developers and programmers will welcome it as a means of reestablishing their value and rescuing them from no-win situations.
The desire and the ability
The next catalyst is the rapid growth of IT-savvy people in the business world. Most business people have spent the last 20-plus years working with computer systems in some way. Since the introduction of e-mail and the advent of the Internet, most business workers spend the majority of their days on computers—and often their nights as well. As a result, computers, like the telephone and the fax machine, are no longer awe-inspiring devices. And after all these years of using computers in business, it has become natural for business people to include information technology in their everyday thinking and be quite comfortable with it.
Next, consider the large influx into the workforce of young people who have grown up with computers all their lives and are more comfortable manipulating technology than any generation before them. Many will have studied programming in junior high and high school. And after playing hours of computer games that allow them to easily reset parameters and scenarios using graphical interfaces, their tolerance for complicated development processes and procedures will likely be slim. They will have a sharp sense of what's possible, be impatient with the status quo, and be eager to take matters into their own hands.
Until now, one of the problems with letting IT-savvy users "do it themselves" was that the resulting applications typically were available only to the individual user who created them. For example, an accountant who creates macros in a spreadsheet application to simplify currency conversion has developed a service. Others in the organization may be able to use those conversions for various tasks. But if the spreadsheet is built in a silo for an individual user, the others will never know it's available, nor how they can make it available within their own services. If they want this same service, they either have to create it themselves or put in a request to the IT department. Either way, there is duplication of effort, a productivity drain most organizations aspire to avoid.
The ability to share that application with others is where Web services and SOAs come into play. With SOAs, business users develop applications as a series of smaller "services" that solve immediate problems. SOAs also make it possible to address needs that affect small groups within the organization that normally would be passed by in favor of economies of scale. From IT's point of view, developing an application that benefits five people out of 10,000 and saves the organization $10,000 a year is low on the priority scale, given the grandiose expectations piled upon their department. But if individuals are able to develop those services on their own, and 100 people out of 10,000 do so at a savings of $10,000 a year each, $1 million is saved without any increase in overhead and without sacrificing valuable IT resources.
Imposing a set of standards, procedures, and requirements (such as XML) for the construction of any services to assure they'll play nicely with all of the other services that are being developed is key to making this on the fly development process work. Once those standards are in use, organizations are in a position to become more agile. At that point, a cascade effect will begin to occur and groups of related services will be bound together into ever larger services. This is the new world of SOAs.
The final piece: Development for the masses
Reaching the tipping point requires a user-friendly rapid application development and deployment (RADD) type tool that enables business users to create services without coding or worrying about the underlying technical infrastructure. We have dubbed this type of tool the personal services builder (PSB). With a PSB, users may then easily apply their knowledge of the business to create solutions that become available to the entire organization.
Giving them this ability to increase productivity seems like a big leap for those comfortable in the world of today's enterprise applications. But recall how financial programs were built before spreadsheets or how queries against databases were made before reporting tools. Business users had to farm out their requests to an IT specialist or programmer and then wait for days or even weeks for a solution. Today, the thought of outsourcing a spreadsheet or query to IT is absurd. Clearly, users, given the right tools, are quite adept at increasing their own productivity, which can dramatically reduce the cycle time to build, change, and extend systems.
What happens next?
If any corporate worker can develop his or her application, what becomes of all those developers and programmers doing that work today? Look to history for the answer. What happened when client/server architecture replaced mainframes? Or when legacy systems needed to be Web-enabled? Some IT workers evolved with the transition and increased their value. Others made different choices. So, too, will the IT-savvy organization present thousands of developers and programmers with new opportunities to diversify, specialize, or retool their skills.
Some of today's developers will construct functional acumen on the foundation of their technical abilities and become business analysts. Some will sharpen their fundamental skills and specialize in improving information infrastructure. Some will adopt these new tools as a means to do their jobs more efficiently. And, of course, some will move into other careers. The bottom line is that any leap in productivity is a boon for those ready, willing, and able to take advantage.