BYTE.com > Mr. Computer Language Person > 2005
Collaboration and SOA
By Martin Heller
December 12, 2005
(Collaboration and SOA
: Page 1 of 1 )
The issue of collaboration in software seems to be up this year, even more than it has been in the past. It's been an issue since the second programmer starting working, of course.
When I was growing up as a software developer, the only practices to promote collaboration that I picked up were commenting FORTRAN code copiously; using mnemonic variable names rather than AAAA through ZZZZ; and labeling card decks well enough that others could find them in the drawer.
Much later on, we got source code control systems for our C code, which meant that anyone with a hard-wired terminal and an account could check code in and out of the minicomputer. Somewhat after that, standards were promulgated for variable naming (for example, Hungarian notation for Windows programs). Tools appeared for auditing various code complexity measures, so that you could back up the "I can't follow your code" complaint with the more objective "the McCabe complexity of your code is way over our guideline," and avoid the typical defensive rejoinder of the author accusing the complainer of incompetence for being unable to follow the golden sunlit logic of switch statements nested five layers deep in a single function.
(You think I'm exaggerating? That was typical of the message-processing loop in early Windows programs.)
In the last half-dozen years, I've seen enterprises adopt software lifecycle management tools and code repositories that go way beyond simple source code control. In addition, free code control systems have been hosted on the Internet, enabling the entire Open Source movement to function. And even Microsoft has finally jumped on the collaboration bandwagon in a serious way with its Visual Studio Team System.
Service Oriented Architecture
Service Oriented Architecture (SOA) has made collaboration even more of an issue than it is in normal software development. Imagine that youre a Windows developer, creating a useful Web service for your enterprise using C#. Your first consumer of the Web service might be your own Windows desktop application, which doesn't require you to talk to anyone but yourself.
Page 1 of 1
BYTE.com > Mr. Computer Language Person > 2005
|