CHANNELS
 
 
 
 
 
 
 
 
ON THE WEB
 
 
 
 
PRINT EDITION
 
 
 
 
BZ MEDIA
 
 
 
 
ADVERTISER LINKS
 
 
 
 
 
 
 
AS OF 11/21/2008 4:54PM EST
Windows & .NET Watch: How does your garden grow?
Stories Columns Opinions Resources

By Larry O'Brien

September 1, 2008 — 

Application development is closer to gardening than carpentry. There may be a beginning, there may be times of dramatic upheaval and change, there may be times of relative stasis, but there is no completion. For many executives, this is a view of development that is at odds with the exposure to programming that they may have received in college or earlier in their careers.

No businessperson likes to accept a continuing expense, especially if their view of software was formed pre-Web, when retail applications were shrink-wrapped and business applications were discrete. These are often the same executives who will emphasize time-to-market, saying, “We don’t need perfection; we just need a system that works,” and then express dismay when they have to invest in refactoring rather than new features.

It is a straightforward exercise to come up with exceptions to the “more like gardening” premise. As I write this, I have a window streaming video from the Olympics (showcasing, incidentally, Silverlight’s strengths, although as I watch in the early days of the Olympics, the system hasn’t been stressed).

“Carpentry” isn’t a fair metaphor for this massive project, but it was a system that had to be in place, had to fulfill a certain set of requirements and probably won’t be reused. Similarly, I suppose there are small businesses that can call it a day after putting up a Web site with store hours, directions and a phone number.

But software development is going to be a continuing expense for any business whose Web site is involved in sales or customer service or lead generation, or whose profit depends on efficient use of communication and data, or whose business environment is changing, or that is experiencing growth. In other words, pretty much every business.

Many companies can summarize the problem they want to solve with a simple, “We need to sell our stuff on the Web. How hard can that be?” And it’s true that it can be pretty easy. There are many people making a living selling wares on eBay, boutique shops might have success buying a stand-alone application and using PayPal to process credit cards, and at the other extreme, the problem of selling millions of dollars worth of products has clearly been solved by all major retailers. So why is it so hard for mid-sized businesses?

The most typical answer is business rules. Executives understand that their domain has complexities, but they do not understand that in the world of software development, the translation of business rules into code is far from a solved problem. For decades, we’ve hoped for an environment that is something like a spreadsheet for business rules, something that might have an initial cost in terms of developing a model but that, once completed, can be maintained and expanded by a domain expert. This is still the ideal for many executives.

This is not entirely a pipe dream (Intentional Software’s products, which I’ve discussed, seem to be a route forward), but to say it’s uncommon is an understatement. For companies that have not invested in their development processes, it’s beyond rare.

Far more common with such companies is a mishmash of presentation, logic and storage code that is difficult to refactor; the irony is that they may experience the static situation they desire, but with a system that is clearly flawed, even before they experience growth or confront changing business rules.

The second answer is scale. To expand the metaphor from gardening to landscaping, you don’t use the same tool to place a 10-pound stone as you use for a 1,000-pound stone. It’s not generally that the system components such as the Web Server and database are overstressed, but that the administrative challenges become overwhelming. When the number of SKUs changes from dozens to thousands, you can no longer hand-edit a change that affects every SKU in a category. When transactions are happening 24 hours a day, bringing the system down for an hour to install new software is a big deal. Tracing system health on a console must give way to a reviewable event log, which must give way to a real-time dashboard.

Again, companies seeking a fixed-price, one-time investment often end up in a bad-case scenario when it comes to evolving their systems for scale. Instead of having code whose structure and interrelations are explicit and easy to reconfigure because the code was always conceived of as provisional and subject to change, they discover that addressing an order-of-magnitude growth change requires modifications everywhere.

Such companies might initially regard talk of “agile development” as a theory-driven nicety, but in fact agile development is not just for companies with huge investments in software development processes. Indeed, it could be argued that agile processes have more to contribute to smaller companies that are experiencing growth and changing business conditions more than to mature companies that have an infrastructure to support their elaborate, formal gardens.

If your team is struggling with the effects of a static strategy, it behooves you to reconsider your approach and look to agile techniques to get you going again. You’re in the software business whether you want to be or not. If you’re going to grow, you need to tend to your software garden.

Larry O’Brien is a technology consultant, analyst and writer. Read his blog at www.knowing.net.


Related Search Term(s): professional developmentsoftware development


Share this link: http://www.sdtimes.com/link/32733
 


 
 
 
 
 
 
 
 
 
 
SUBSCRIBE TODAY!
 E-Newsletters:
  News on Mon/Thurs.  More info
  Test & QA Report  More info
  EclipseNews  
  SPTech Report  More info
 
 
 
PDF & PRINT EDITION
* Requires Resource Account!  LOGIN or SIGN UP

Download Current Issue!
ISSUE 11/15/2008 PDF

Need Back Issues?
DOWNLOAD HERE

Receive The Print Edition?
SUBSCRIBE HERE
 
REGISTER
 
GET NOTIFIED!
About all of the latest Resources
 
 
SD TIMES 100
It's time once again to
recognize the organizations
or individuals that have
demonstrated leadership in
their markets.