Agile scripting: Bigger bang for app-dev bucks

Mashups and SOA are fueling a shift toward scripting and agility -- invest in skill sets accordingly

Enterprises will spend too much this year creating monolithic apps — the sort of server-side efforts that involve formal requirements and tie up dozens (or hundreds) of architects, coders, and testers. Most would be better off using scripting languages, Web services, and SOA to weave together browser-based apps that leverage existing assets.

Mashups and SOA are among the drivers of a development revolution, away from native coding in C++ — and from building millions of lines of managed C# and Java code as well. Companies will hire ASP.Net and JSP developers by the busload, but they will likely spend too little attaining JavaScript, Perl, PHP, and Ruby skill sets. When coupled with the right frameworks and component suites, new-fangled scripted apps will turn software development teams into a faster, less expensive, and more responsive part of enterprise IT.

On the front end, this means AJAX-based UIs, which help employees work more productively. Behind the scenes, SOA-based mashups will eliminate a lot of manual labor by enabling robust, non-brittle, many-to-many integrations that offer solid performance, security, and support for multistep transactions. Unfortunately, many enterprises will not spend enough to train and hire developers accordingly.

Any shift toward scripting should be accompanied by a shift away from formal requirements and toward agile processes. But companies saying goodbye to huge software rollouts and hello to permanent betas will likely spend too little ensuring a successful transition. It’s as much a matter of having strong project management skills on board as it is to have developers versed in agile techniques. After all, when requested features can no longer wait for next year’s “dot zero” release but are instead deployed companywide in “next Thursday’s build,” not having the right personnel in place can be costly.

Also out the window this year: traditional testing models, in which QA and security validation is performed after coding is complete. That said, companies will spend too much time and money on traditional testing and on patch-and-fix deployment of security updates because they won’t spend enough on integrating strict vulnerability and functional testing into every phase of development. Traditional post-development acceptance testing will still be necessary, but by integrating testing throughout the design and coding process, you will shorten test-and-fix cycles considerably, freeing your team up to deliver more apps faster.

More intriguing is where these shifts may lead. Expect 2007 to mark the beginning of the end of desktop software development, as anything you can do on the desktop, the SOA-based server will be able to do better, spelling bad news for those rolling out Windows Vista.