"Weve found the boundary of what we can do with faster, cheaper, better and now were stepping back from the boundary," says Dr. Edward Weiler, NASAs associate administrator for space science, discussing the dual Mars spacecraft debacles in 1999. Why did both the Mars Climate Orbiter and the Mars Polar Lander fail? The first loss, on September 23, 1999, was due to vestigial English measurements, left in the navigation software by Lockheed Martin scientists, that were interpreted as metric. The second loss, on December 3, was likely the result of false signals generated by extending the landing legs, which caused the onboard computer to cut off the engines slowing its descent to the surface too soon. Both errors could have been prevented by comprehensive testing, better project management and increased communication between the disparate engineering teams. To be sure, only 10 of the 146 payloads launched by NASA since 1992 have failed, but the recent problems were just the type of "Doh!" mistakes that software developers routinely encounter because of similar lapses in discipline.
Of the products honored in this years Software Development Jolt awards, perhaps ParaSofts Jtest was the tool that most caught our judges by surprise with its functionality. One judge, who writes test automation routines on a daily basis, raved about its ability to catch errors in his Java apps, while another crowed that automated unit testing was wonderful, now that hed had a chance to try it. And Software for Use, the user interface bible by Larry Constantine and Lucy Lockwood, promotes the creative practices that result in elegant programming rather than thoughtless automation. The leaders in modeling, open source software, Java development and network computing are all honorees this year, but I wont give away any more of the winnersyoull just have to read about them yourselves!
The Jolt Categories
Jolt Award and Productivity Awards
Readers, judges and vendors nominated 361 productsa record numberthis year. From this group, the judges selected 44 finalists in all product categories and evaluated these products to select our winners. The Jolt Award-winning products all made the difficult task of developing complex software easier, faster, more efficient or more precise. In other words, they infused technical team leaders and developers with a jolt of productivity.
Software Development evaluates six categories of products: languages and development environments, design and management tools, books and computer-based training, utilities, libraries, frameworks and components, and special/other. One product in each category receives the coveted Jolt award, while the three runners up are honored with our Productivity Award plaque.
The Jolt Hall of Fame
Products that, release after release, have shown serious content improvement are contenders for the Jolt Hall of Fame award. The Hall of Fame was inaugurated three years ago to honor development tools or companies that the judges felt deserve special recognition. The first Hall of Fame inductee was Boundschecker from Numega, the second was Visual Basic from Microsoft and the third was Visio from Visio Corp. This years winner, OReilly and Associates, has played an invaluable role in publishing books that helped bring about a revolution in development: the open source software movement.
The Jolt Awards couldnt take place without the help of a distinguished panel of judges made up of Software Developments editors, columnists and writers:
Scott Ambler, contributing editor
Andy Barnhart, contributing editor
Hugh Bawtree, contributing editor
Andrew Binstock, contributing editor
Dana Cline, contributing editor
Bob DelRossi, writer
Gary Evans, contributing editor
Stan Kelly-Bootle, writer
Orion Letizi, writer
Warren Keuffel, senior contributing editor
Chris Minnick, writer and Web site manager
Larry OBrien, contributing editor
Roland Racko, writer
Guy Scharf, writer
Roger Smith, technical editor
Alexandra Weber Morales, editor in chief
Karl Wiegers, writer
Alan Zeichick, writer
|LANGUAGES AND DEVELOPMENT ENVIRONMENTS:|
In a hotly contested market of worthy competitors, JBuilder 3 Enterprise has distinguished itself for complete support of Java 1.1 and Java 2 (Java Development Kit 1.2) platforms, innovative visual development features, and its ability to make distributed application development as effortless as producing stand-alone applications.
JBuilder Enterprise provides pure Java code generation and is itself 80 percent written on the Java 2 platform. Multi-Java Development Kit support and debugging offers developers support for existing applications and a path to migrate to Java 2 platform features. The Visual IDE tightly integrates Java 2 Swing user interface components and provides the Open Tools API to let developers integrate their own products into the JBuilder IDE. Standards supported include Java 2, Java Development Kit 1.1.x, JavaBeans, Enterprise JavaBeans, JDBC, Remote Method Invocation and Serialization.
JBuilder Enterprise provides a suite of database tools to ease interfacing to any RDBMS. Data Modeler allows developers to create data modules with sophisticated data definitions including SQL statements. Application Generator generates database applications from these data modules, and supports dbSwing or JBCL data-aware components. JdataStore is a pure Java embeddable database with a small footprint ideally adapted to mobile computing or other limited-resource contexts. JDBC-based tools allow developers to use any JDBC driver they require.
Development of distributed applications based on CORBA is the centerpiece of JBuilder Enterprise. Integration of the VisiBroker ORB, visual development tools for construction and the Remote Debugger brings multitier CORBA applications (including Java clients, Java servers and HTML clients using Servlets) within reach of every developer. JBuilders enhanced Servlet development lets you create HTML front-ends to CORBA servers and a Servlet Server for running and debugging servlets from within the JBuilder IDE.Gary K. Evans
Microsoft Office 2000 Developer
In the last few years, Microsoft has taken a commanding lead in the office suite race. In fact, theyre so far ahead that you often hear Microsoft Office referred to in terms that make it sound as much a platform as an application suite. The latest Office edition, at the developer level, makes this belief reality. VBA has a number of improvements and includes add-ins to make coding easier for the novice, yet more powerful for advanced users. Macros can be compiled to native code, and you can build universal add-ins that work in all Office products, all from within Office itself. Most notable is the office suites great support for creating workflow applications with Outlook and Exchange. The MSDN Library is also included. Microsoft has produced a serious development system.Andy Barnhart
VisualAge for Java
VisualAge for Java is a complete and powerful IDE for Java. It includes a nice GUI editor that embraces visual programming with gusto. Its also available for Linux, which is a plus. Indeed, VisualAge is one of the best IDEs available on the Linux platform. The Enterprise Edition, which isnt available on Linux, contains powerful features including a JDBC application builder, a set of remote-object development tools for both Remote Method Invocation and CORBA, and tools to allow Java to talk to C++ shared libraries. Unfortunately, VisualAge is a victim of its own comprehensiveness. It requires all source code to be kept inside its repository, not on the file system. This Borg-like aspect of the programming environment effectively locks the developer into using VisualAge for all aspects of the project; in short, it doesnt play nicely with other tools.Orion Letizi
Just when you decided there was no need for any new languages, along comes Python. Its object-oriented, interpreted and easily expandable using C. Its available for most platforms, is modular, and comes with modules that provide file input and output, system calls and even GUI toolkits like Tk. Unlike C or shell scripts, Python has high-level data types such as dictionaries, complex numbers and flexible arrays. You dont need to declare your variables in advance, and there are no messy begin or end constructs, as those are handled by the indent level. Python programs are compact, readable and easy to debug. Best of all, Pythons author, Guido van Rossum, has a sense of humorhe took the name from Monty Pythons Flying Circus. (It says so right in the documentation!)Dana Cline
|DESIGN AND MANAGEMENT TOOLS:|
Rational Suite Enterprise offers organizations a "one-stop shop" of best practices for their software teams. Providing end-to-end coverage of the software life cycle in a set of tightly integrated tools, Enterprise Suite 1.5 targets the major practices of software analysis, construction, test and configuration control. Rose 2000 Enterprise, SoDA, Rational Unified Process, RequisitePro, Purify, ClearQuest, PureCoverage, Quantify, TestFactory and Robot comprise the Enterprise Suite. All are fully integrated with Rationals software configuration management product, ClearCase.
Rational has initiated a new "e-development" emphasis for many of the products in Rational Suite. Rose 2000 and RequisitePro now support integrated use-case management, and ClearQuest allows problem reports and enhancement requests to be collected via the World Wide Web and then managed by RequisitePro. Development-support tools in Rational Suite are available for both Unix and Windows. Rational has tightened integration with Microsoft Visual Studio 6.0 and improved support for Java Development Kit 1.2 class libraries. Enhanced integration between Rational Purify and Rational PureCoverage enables developers to simultaneously identify untested code and run-time errors from a single executable.
The Suites performance and test tools support "IP aliasing" to allow test groups to simulate multiple IP addresses from a single load test agent. Support for both the standard and advanced editions of IBMs Websphere Application Server and IBM DB/2 Universal Database are provided. Rational Suite also supports testing IBM VisualAge for Java 3.0 applications and Web applications in Netscape Navigator. Rational TestFactory automates test-generation for Java and C++ applications.
With Rational Suite Enterprise, analysts, developers and testers can share a common big picture, as well as in-depth support for the needs of their specific roles in the organization. Gary K. Evans
Together has been popular with Jolt judges: Two years ago, the first incarnation of this useful CASE tool, Together/C++, won a Jolt; the follow-on Java tool, Together/J, was also top dog in this category last year. While the differences between the late 1998 release of Together/J and the late 1999 release of Together/Enterprise (which allows round-trip engineering of Java, Enterprise JavaBeans, C++ and IDL) may not have been to enough to make it a three-time Jolt winner, a majority of judges thought that it warranted a Productivity Award. A key reason for the acceptance of a CASE tool like Together among code-focused developers has been the hands-on role object guru Peter Coad has played in shepherding Togethers evolution.Roger Smith
ClearCase, ClearCase Multisite and ClearQuest
ClearCase has long been the best of the configuration management class. It overcomes the biggest obstacle to using configuration management practices, lack of developer support, by providing the simplest of developer interfaces: a directory file structure and the check-in and check-out commands. ClearCase also includes sophisticated features for the Configuration manager, which make it possible to manage multiple projects working in parallel on shared code. With the release of 4.0, ClearCase has been improved again. It now includes a much-needed Web interface, and Rationals Unified Change Management process is also implemented in this release. This should make it easier to track product features and fixes, along with the corresponding baselines that include them.Hugh Bawtree
Select Enterprise 6.1 provides object-oriented modelers and developers with both power and ease of use for an affordable price. Select supports a subset of UML 1.1 and distributed team development. It produces Java, C++, VB or Forté code from Select models, supports database schema generation, and is highly integrated with Platinums ERWin product.
The unique online Process Mentor facility offers a procedure guide for OO software development, guiding the user through the "why" and "how" of object and component modeling. Select supports built-in model versioning and provides an excellent report generation facility that other vendors should emulate.Gary K. Evans
|BOOKS AND COMPUTER-BASED TRAINING:|
to the Models and Methods of Usage Centered Design
by Larry Constantine and Lucy Lockwood
Published by Addison-Wesley
The user is king. Usability is all-important. Build what the customer wants. Yeah, yeah, yeah. We all want to create software that is loved by our users, but platitudes about focusing on what the user wants to see rather than what the programmer wants to implement too often pass for advice in this area. Readers of Software Development magazines Management Forum are familiar with Larry Constantine and Lucy Lockwoods talent with the written word, but the triumph of Software for Use lies not in the fact that it is eminently readable (though it is), but rather that it provides a series of techniques that are practical to implement, meaningful to the end users and productive for the developers. The hoped-for result is a user-interface design that fits naturally with the end-users model of the task at hand and their concept of how an automated tool to aid that task should work. What is not explicit in the book, but clearly emerges when Constantine and Lockwoods usage-centered design is put into practice, is that the resulting user interface tends to be quite innovative. At iMind, where we have had the pleasure of working directly with Constantine and Lockwood on an ongoing basis, the user-interface design of one of our major products regularly produces an actual gasp of excitement when we show it in use, despite the fact it is taught with a mere 100-word tutorial.Larry OBrien
Extreme Programming Explained
Taken as a whole, Kent Becks work describes his unique approach to small-team development in persuasive detail, including reasons why not to adopt it and an eclectic annotated bibliography. Perhaps the key to avoiding a half-baked Extreme Programming (XP) implementation is to limit project scope and shorten iterations to hours rather than weeks. Under these conditions, Beck promotes simple design: "If you believe that you can cheaply change your mind [the result of XPs small releases, constant testing and daily, single-threaded program integration], then putting in functionality on speculation is crazy." Becks focus on code as a communication medium and on pair programming promises to frighten off those developers who either believe they work better alone or have become too reliant on abstraction and documentation. Alexandra Weber Morales
Why does the Standish Groups Chaos Report reveal that 85 percent of all software projects are compromisedor fail completelydue to misunderstood requirements? Wiegers addresses these questions and dozens more in this remarkably clear and broad-reaching book. In the books three major sections, he discusses what a requirement is, how to capture and express project requirements, and finally how to manage these requirementsending with a valuable discussion of requirements management tools. Software Requirements is the most readableand pragmaticof the recent books on the subject.Gary K. Evans
After the Gold Rush: Creating a True Profession of Software Engineering
"Its time for software development to grow up," writes Steve McConnell, editor in chief of IEEE Software, as he eloquently argues for licensing and continuing education for software engineers and the renovation of the outmoded university computer science curriculum in this, his latest book. McConnell defines software development as a field similar to civil engineering: It applies scientific and mathematical knowledge to practical ends, and has the potential to affect the general public enormously. While the industry may only be 50 years old, the old saw that its technology is too fast-changing to apply the principles of other engineering professions to it doesnt stand up against the evidence McConnell provides.Alexandra Weber Morales
|LIBRARIES, FRAMEWORKS AND COMPONENTS:|
Shortly before he died in 1948 at the age of 76, airplane coinventor Orville Wright wrote a letter to the chairman of General Electric (GE), asking if the then-giant corporation was interested in buying back a used 10-hp GE electric motor that he had bought 30 years before to use in wind tunnel tests. At the turn of the previous century, it was common to buy a general-purpose motor, bring it home and hook it up to anything that needed turning. Today, people arent in the habit of purchasing general-purpose motors for the home or shop. Whether you purchase a lathe, washing machine or electric fan, the motor is an integral part of the apparatus. The embedded motors sole purpose is to do the task in question. As motors became smaller and cheaper over the years, the general-purpose motor, as Orville Wright knew it, disappeared into any number of motor-enhanced devices and machines focused on specific tasks.
If the vision of Jini, so well articulated by Jim Waldo, Suns chief Jini architect, is correct, the general-purpose computer, like the general-purpose motor, is likely to disappear from view over time. In the coming century, computers will increasingly surround us as embedded devices, and well begin to think of them as stand-alone computers less and less. Jinis computing model is based on allowing diskless, networked embedded devices to connect with each other and pass objects back and forth to create instant communities. Seen this way, Jini may be the vision at the core of Java and multiplatform Java Virtual Machines. "Jini is not an operating system," Waldo insists, however, "because nothing in Jini knows or controls everything. Jini defines a small set of rules that enable clients and services to interact. Jini defines the rules of federation."
By giving the Jolt Award to the Jini Technology Starter Kit, the Jolt judges were saying unequivocally that Jini is no longer a vaporware concept. The fact that there were 20,000 Jini Technology Licensees at the end of 1999 is another indicator that the intriguing Jini vision is finally starting to take flight.Roger Smith
ActiveReports makes creating a report as simple as creating a Visual Basic (VB) form. You can drop ActiveX controls into the report, write VB code to create the report and respond to events. Its even easier in many cases, as a wizard is included to help you create your reports; simple reports dont require any code at all.
All the popular database standards are supported for input as well as unbound data from grids or arrays. Reports can be viewed, printed or exported as RTF or PDF files. Also, a lightweight report viewer is included for use in Web pages. ActiveReports provides professional quality and flexible reporting with a minimum of effort.Andy Barnhart
JClass Enterprise Suite
The KL Groups reputation as the top-tier designer of UNIX widgets has been enhanced by the Java Beans they have developed during the last few years. The JClass product is an integrated collection of these beans. Many of them, such as the graphing JClass Chart are enhanced Java versions of the original UNIX widgets. Others, such as the PageLayout bean and the JarMaster packaging tool, are new and show the companys deep understanding of what Java programmers need. Add to this the robustness and flexibility of more than 20 other beans and you begin to see why KL has garnered another prize for its products. When the Java phenomenon began to unfold, doubtlessly many cowboy programmers aspired to take the lead in the Java components market. Today, that market struggles to catch up to the work put out by the master craftsmen at the KL Group.Andrew Binstock
Grids are the primary interface or data display of many applications; therefore, choosing one that meets or exceeds your needs is crucial. VSFlexGrid is one of the most feature-packed, extensible grids on the market today. Its database friendly; provides multicolumn, drop-down combos from the cells; supports Variant data types; imports and exports to and from tab- or comma-delimited files; has a masked-edit capability; searching, merging and the list goes on and on.
What I liked most about this control is that almost everything is available visually in design mode; the interface is quite intuitive, so you rarely have to delve into the very adequate help file.Andy Barnhart
Ive installed other versions of Linux, but Corels distribution was the only one that took the sting out of it. After the graphical install program worked its magic, I was able to boot directly into the KDE desktop environment with all of my existing partitions and CD-ROM drives already mounted and ready to go. The graphical Linux Loader (LILO) would also let me boot to a character-based Linux or any other operating system I may have already installed.
One thing Corel does to make Linux easier to use is to fill in a few of KDEs gaps. Theyve included their own file manager, written from scratch to be familiar to Windows users. An update program makes it easy to obtain updates from either the Internet or local DEB files (the Debian distribution equivalent of a ZIP file). The desktop includes a configuration program similar to the Window Control Panel where a user can set display parameters, make changes to the desktop, add printers or assign sounds to events. Additionally, the included OSS sound drivers work with most of the existent audio boards. Other programs allow easy configuration and tracking of tasks and users.
The desktop, as installed, contains enough programs to satisfy the average power user, including a stellar GIMP image processing program and a full version of Word Perfect 8. There are also plenty of games, ranging from the simple up through a challenging version of Civilization II.
Most distributions of Linux include all of the standard Unix tools, and Corel is no exception. There are languages ranging from C++ to Perl, editors such as Vi and Emacs, standard tools such as Awk and Tex, and plenty of utilities most of us will never need to know about.
Corel has parlayed their Windows graphic skills into a way to bring Linux to existing Windows users with less pain than most Windows installation programs.Dana Cline
MSDN Universal Subscription
When people describe the MSDN Universal Subscription from Microsoft, the first, if not only thing, they mention is product information. A subscription provides you with all the platforms, tools and applications necessary for developing, testing and deploying Windows applications, be they shrink-wrapped commercial products or Office macros. You also get the MSDN Library, a comprehensive help system supplied by virtually every Microsoft business product and technology. However, there is much more to the Universal Subscription. Often, you will receive at least one beta of every major product and the release version before the product is available through commercial channels. The three support incidents included each year are handled at a higher priority than calls from end users. MSDN Universal is not just a luxury for serious Windows developers; its a requirement.Andy Barnhart
As developers, our jobs change on a daily basis. There are new technologies, new tools, new paradigms and new corporate directions. Keeping up with it all can be daunting. IBM aims to make our jobs easier with their developerWorks Web site. It has zones for Java, Linux and XML, plus information on Open Source, security and architecture. There are also links to news items of interest, even if the news concerns companies that compete with IBM. There is even a job search engine available.
This Web site complements IBMs push into the worlds of Java, Linux and e-commerce. The information is platform-independent, timely and just plain useful.Dana Cline
Weblogic Application Server
BEA touts Weblogic as a pretty-much-everything server. Its most proven use is as a Java servlet engine and its quite good at that. Almost all of the "wouldnt it be nice if we could " features of a Web developers dreams are built-in and at the ready. It includes JDBC drivers, a JDBC connection pool, server clustering for easy scalability, and, perhaps most importantly, in-memory session management. This last feature greatly eases the burden of handling user sessions across multiple requests. Weblogic also includes a host of other nifty features that fit well inside the "pretty-much-everything" space.Orion Letizi
|UTILITIES AND DEPLOYMENT TOOLS:|
The biggest breakthrough in quality assurance since BoundsChecker came on the market, Jtest combines automation, thorough coverage and detailed error reporting with ease of use. Unlike many QA tools, which focus on the user interface, Jtest probes your Java source code on a line-by-line and method-by-method basis, generating lint-like diagnoses of style violations and thoroughly exercising your code using an instrumented Java Virtual Machine and user-provided parameters. Traditional software development shops will find it relieves the QA team of much of the tedious task of writing test scaffolding, and shops moving to Extreme Programming (XP) will find Jtest invaluable for creating the QA infrastructure that is central to XPs philosophy. One of the nicest aspects of Jtest is the ease with which it can be integrated into the development cycle; unlike QA tools that require a great deal of initial investment before paying for themselves, Jtest can generate an embarrassment of defects on its first run. However, the real payoff comes after the initial runs, when youve recorded method results as "Correct," "Incorrect" or "Unknown," and complete regression testing becomes subsequently feasible. Discovering, tracking down and retiring defects becomes positively painless. Larry OBrien
Programmers tend to be exceedingly picky about the tools they use for editing code, and when they find a good one, they want to use it across platforms and languages. Visual SlickEdit (VSE) arguably supports the widest range of platforms with a common "look"Windows, nine flavors of UNIX, OS/2, Linux and even IBM OS/390 mainframes. The range of languages is no less impressive, with over 20 supported. The latest version of VSE focuses on multiplatform development for the World Wide Web. Included is an FTP client to simplify updating Web sites with modified code, a killer DIFF utility and context tagging to analyze code as its written. If youre serious about coding, you need a serious editor: the VSE.Warren Keuffel
InstallShield Professional 2000
There are few requirements of the professional development process more universal than the need for rock-solid, good-looking installations. Just about all of us need them, and for years, weve turned to InstallShield to make it possible. InstallShield 2000 Second Edition is the latest incarnation of this ubiquitous and powerful tool. The new version combines in a single box both an upgrade to the base product and the newer InstallShield for Windows Installer. This latter tool has everything you need for Windows 2000 logo-compliant applications. Along with the improvements to the popular InstallScript language, InstallShield 2000 is a one-stop setup solution maker.Robert DelRossi
|THE JOLT HALL OF FAME:|
O'Reilly & Associates
Its fair to say that the Open Source Software (OSS) movement would not be where it is today if it were not for Tim OReilly, founder of publishing powerhouse OReilly & Associates (ORA). Recognizing Mr. OReillys contribution does not take anything away from Richard Stallman, Linus Torvalds, Larry Wall or any of the hundreds of individuals who collectively helped OSS reach the critical mass it now enjoys. The many sacrificed weekends and evenings by these programmers, who believed in OSS, resulted in the plethora of tools we now rely on, such as the GNU utilities, the Linux kernel, the Apache HTTP server, the Perl and Python languages, and the K and GNOME desktops. All of these would have likely remained obscure results of dedicated hackers if Tim OReilly had not provided the publishing power to put authoritative, timely, well-written and well-edited books about these OSS products on the worlds bookstore shelves.
OReilly is no Johnny-come-lately to OSS publishing. From (one is tempted to say "humble") beginnings in a converted house in the Boston suburbs where ORA started as a consultant in UNIX-based typesetting tools, ORA added the first of the now-famous "in a Nutshell" guides and other titles designed to make early versions of UNIX more accessible. Over the years, OReillys titles took on more of an OSS cast, and the company became more involved in promoting OSS as a movement. Perl creator Larry Wall came on board, and then ORA began sponsoring a number of conferences focusing on various aspects of the OSS movement. ORA also cofounded (with Hewlett-Packard) collab.net, a Web site intended to enhance the efficiency of the OSS bazaar model. More recently, Tim OReilly has taken on an activist role in the community: He hauled Amazon.com founder Jeff Bezos across the carpet for trying to patent one-click ordering, a concept rooted in the very foundations of the first Web browser.
World domination may be Linus Torvalds tongue-in-cheek goal for Linux, but there is no doubt that Tim OReillys involvement with OSS documentation publishing is a dominant reason for the extraordinary success of open source software.Warren Keuffel
Microsoft Office 2000 Developer
VisualAge Enterprise for Java
Rational Configuration Management (Tools)
Software for Use:
Extreme Programming Explained: Embrace Change
After the Gold Rush:
Jini Technology Starter Kit
JClass Enterprise Suite
WebLogic Application Server
InstallShield Professional 2000
OReilly & Associates