A few years ago, self-proclaimed non-developer Kevin Smith worked for a software company that tried to build a project tracking tool using .Net. Some 15 developers spent a year with little success. "After burning though a million dollars and still without a product, the company called it quits," says Smith, who is now managing partner of NextWave Performance, a consultancy in Denver, Colorado.
NextWave took up the idea but ran into similar timetable and budgetary overruns. "I said, 'I'll learn to code and do it myself,'" a frustrated Smith recalls. His search eventually led him to Coghead, a web app for code-free development of Web apps — and Smith built key components of the tracking tool in less than 30 days.
"I was showing my business partner some of this stuff the other day and he turned to me and asked, 'How do traditional developers stay in business?'" Smith says. "It's such a game changer. I think it turns developers from wizards who read the magic book and know the syntax into business analysts who understand the processes and goals of what they're trying to achieve."
Such views may be a bit far-fetched, but it's true that do-it-yourself application development has never been more appealing. With IT budgets being squeezed, along with the growing dysfunctional relationship between IT staff and managers, it's no wonder the promise of cheap "codeless" development that sidesteps IT resonates loudly with businesspeople. "We also have a whole new wave of business users that are not intimidated by the notion of application development," says Mike Gualtieri, analyst at Forrester.
Coghead and others, such as Caspio, Zoho, and Wufoo, are just the latest attempt to bring application development to the masses. From Cobol to 4GL to scripting languages to, recently, Microsoft's Oslo for model-based software development, the Holy Grail is to make it easier for non-programmers to program. Now, Coghead CEO Paul McNamara believes cloud computing tools increase the number of potential software builders in the world ten-fold.
Whipping up a web app
There are areas where codeless software development makes sense, mostly with business apps that have multiple records, business logic, notifications, and other straightforward features. For instance, Jim Heagney, an accounting and systems consultant, tapped his experience with Great Plains and other ERP integration projects to develop a virtual-events scheduler called Inexpo.
Using Coghead, Heagney, another self-described non-developer, built Inexpo to manage all of the activities that go into producing a virtual, web-based event, including order entries, invoices, expenses, purchase-order requisitions, and other transactions. Inexpo even interfaces with an accounting system "in all the right spots", Heagney says. Working part time, he built the application in only six months.
Anyone who is comfortable writing macros or sophisticated Excel spreadsheets has what it takes to create apps with Coghead, says McNamara. A person needs a basic understanding of relational databases, such as an account record that has many invoices stored against it. Sounds easy enough, yet the problem is that even seasoned business executives who know how to operate intricate database applications have no idea what goes on in the background, says Heagney.
Moreover, Heagney acknowledges some of Coghead's limitations today. For instance, the tool lacks simple ways to make mass changes and to create complex fields, he says. As with all cloud systems, reporting is a drawback because there's limited access to the back end. "One part I couldn't write was the general ledger — the core piece of ERP — which is a challenge right now because of the way the tables work," he says.
InfoWorld Test Center analyst and software developer Peter Wayner, who authored the Coghead and Caspio reviews, takes it a step further: "In essence, [Coghead] is a fancy front end to a spreadsheet." Wayner, though, is quick to point out its potential, saying, "We're reaching a space where people can quickly build web applications on top of any kind of database tables."
Into a wall of disillusionment
But don't count your applications before they hatch. Codeless software development is not as easy as the examples of Heagney and NextWave's Smith suggest, contends Forrester's Gualtieri. Rather, non-programmers heading down the do-it-yourself route should expect to confront a number of trials.
Gualtieri believes many business users will get in over their heads and become frustrated, which will lead to disillusionment. That's because they'll have made mistakes along the well-trodden developer's path of identifying what they want to do, selecting the right tools, and architecting the project appropriately. Or, more simply, they'll pound their heads on the desk because they won't be able to insert a table with an image in one of the cells.
"It didn't take me long to generate an inscrutable error message, the kind that leads to panic in mere mortals but inspires real programmers to roll up their sleeves," Wayner writes in his Coghead review. "The drag-and-drop tool may look nice, but I think most serious Coghead programmers will need to learn BPEL syntax and then work backward to figure out why something isn't working." In other words, the Cogheads may eliminate the coding, but they still require you to think like a developer.
The average business executive will hit a wall trying to do this himself, agrees Heagney. For this reason, 60% of Coghead's sales flow through the channel where at least some level of technical expertise and guidance is available.
A simple web app can also grow into a monster, with more users and features added daily. It may become so large and so unwieldy that intervention by the IT department is needed to save it. Or a company may need to hire a Coghead programmer to support the app. "Somebody has to understand the internal architecture of applications in order to protect integrity," says Yefim Natis, distinguished analyst at Gartner.
Natis scoffs at the idea that codeless software threatens the livelihood of traditional developers. "When apps are designed with heavy use of metadata — it's highly productive and easy to use —then you're doing configuration, not programming," he says. "Programmers had to create the environment in which some of the parameters could be manipulated by the business users."
Everyone agrees that the gap between the business analyst and the software developer is closing, and thus developers should become more business-savvy. But programmers won't really be affected by business analysts who fool themselves into thinking they can write business applications without programmer know-how. "People still have to understand how to create algorithms to deal with data and process," says Natis. "The means of expressing the algorithms may change, but the algorithms themselves do not."
Even as business users become comfortable around technology and seize a greater role in application development managing their own PCs, the fact is programmers haven't been marginalised. In face, life may in fact get more interesting for programmers, says James Owen, an InfoWorld Test Centre reviewer and founder of Knowledge-Based Systems, a consultancy specialising in business rule management systems.
Codeless programming, which includes business rule-based systems, is sold on the idea that "business analysts will be able to insert their business logic without knowing the first thing about the underlying code," Owen explains. "When upper management realises they now can do more with the same personnel, they begin to dream" of software skyscrapers that reach infinitely upward.
But codeless programming can only do so much, and so IT programmers will be tasked with architecting and creating frameworks that support these lofty dreams. "And the dreams will lead to even more jobs for the IT programmers," Owen says. "Now the fun begins."