The 14th Annual Software Development Jolt and Productivity Awards

Recognizing innovation, effectiveness and quality: Open source and Web offerings come of age.


June 01, 2004
URL:http://www.drdobbs.com/joltawards/the-14th-annual-software-development-jol/184415149

PROJECT MANAGEMENT TOOLS

V1: XP 1.0
VersionOne

I really wish I’d written this little gem. Instead, we can thank Robert Holler of Alpharetta, Ga.-based VersionOne, who wished harder and then did it. He longed, like me, for an easy way to plan iterative software projects. And he wanted something that developers, project managers and the green-money buyers of a project could all use and understand. And finally, he wanted a planning tool with the ease of update and approachability of the plain, old-fashioned whiteboard.

Holler’s team has realized the whiteboard aspect in an appealing way. Each iteration is shown with the project features (stories in agile and Extreme Programming parlance) it implements listed along with the total units of work needed for that iteration. Also visible is your team’s speed of story delivery (velocity). To arrive at project loading, you just drag and drop a story title into your iteration of choice—voilà!—the plan updates before your eyes using your velocity data. Don’t like what you see? Well, just drag the story to some other iteration until you find the best fit. Reworking the plan later to respond to new features or delays is just as fast.

The interface has an individualized single place to go for each of the roles of developer, project manager and project buyer, thus making V1:XP a quick learn for all.

—Roland Racko


“This award offers tremendous validation to both the momentum and significance of agile development.”

—Robert Holler, CEO

Estimate Easy Use Case 1.1
Duvessa Software

Leesport, Pa.-based Duvessa Software’s Estimate Easy Use Case (EEUC) is a great tool to help with one of the hardest tasks: estimation. Moreover, it performs the estimates early in the project when only the use cases are known.

EEUC estimates a project based on use case points. Based on the actors, use cases and adjustment factors, it estimates the total project hours. Independent research indicates the algorithm works as well as or better than expert developer estimates. The algorithm and the methods can be learned in a day. Then, you’re ready to roll: EEUC is easy to use, adjust and experiment with.

At just $90 per user, there’s no reason not to get it!

—Hugh Bawtree

Microsoft Office Project Pro 2003
Microsoft

A typical day for a project manager means juggling many projects for many lines of business, each of which has many participants, tasks and complex interdependencies. What happens? Deadlines get missed, balls get dropped. You need a project management tool, my friend, and perhaps the most ubiquitous for Windows is Microsoft’s Project. What’s great about Project is that for smaller teams or casual management, it can behave as a simple timeline tracker; but it can scale up to handling all the tasks assigned to individual contributors. The new Pro version works with Microsoft’s Project Server 2003, extending the tool’s reach through the corporate network or across the Web. Plus, integration with Visio adds diagramming to project management, and the new XML file format enables better schema extensions and flexible reporting.

—Alan Zeichick

TestTrack Pro 6.1
Seapine Software

The choices for a bug-tracking system are plentiful, with a number of open source options that can be particularly appealing, at least initially, from a cost perspective. But when rolling your own or working without a solid support lifeline just isn’t an option, you can find a lot to like in Mason, Ohio-based Seapine Software’s reasonably priced TestTrack Pro. I found it easy to use and customize, with support for uniquely defining the terms that make sense for specific projects. There’s also built-in support for e-mail notifications for key events, integration with the big source-code repositories, a visual workflow designer and a redistributable tool for collecting bug data from customers in the field. While I’m not crazy about yet another proprietary database, I appreciated Seapine’s license, which allows user access to the bug base from either the Windows client or the product’s elegant Web interface.

—Robert A. DelRossi

SECURITY TOOLS

Network Probe 1.0
ObjectPlanet

While not a programmers’ tool, per se, Oslo, Norway-based ObjectPlanet’s Network Probe is nonetheless a very competent and intuitive way to see what’s going on across your network. First, you configure Network Probe’s server to collect the details. Then you can use its Java-based client application with any Java-enabled Web browser to view the results in real time. In our tests, Network Probe captured a tremendous amount of data and displayed it in what seemed like an endless variety of ways. Generating real-time views of protocols in use, Internet conversations and filtered traffic reports was easy. There are tables and graphs, and all the sorting and searching capabilities you would expect, as well as the ability to do simple exports. You can also automatically configure Network Probe to save its statistics daily so that reporting on a past period or comparing your metrics is straightforward. We were glad to see that the company thoughtfully includes an automatic (and configurable) cleanout tool, too, as this is the kind of data that can grow rapidly. For network monitoring or tracking down errant traffic, Network Probe is a winner.

—Robert A. DelRossi

Like the flashy city (Las Vegas) from which its maker hails, TestComplete is a relative newcomer in the field of automated testing, but it boasts features unavailable in other products. For instance, you’re not limited to one scripting language—TestComplete supports VBScript, JScript/JavaScript, DelphiScript and C++.

AutomatedQA’s tool can test applications written in Java and .NET. TestComplete is COM-based, and uses plug-ins for many of its features. New and updated plug-ins are available on their website, and it’s easy for users to write their own. One plug-in allows access to the Win32 API, while others let you use databases via XML, Microsoft’s ADO or Borland’s BDE. An HTTP Load Testing plug-in puts Web servers through the wringer.

One unique feature of TestComplete is its ability to let your application actually drive its own testing. By linking in one file, your application can replace the TestComplete user interface. You can also run tests on multiple remote computers.

TestComplete proves that what happens in Vegas needn’t always stay in Vegas.

—Dana Cline


“We’re very honored with this Jolt Award. It’s great to see that a development team of only two people can create something that 250,000 people have downloaded and found useful.”

—Bjorn Kvande, President


Reactivity 2300 Series XML Firewall
Reactivity

Who knows what evil lurks in your SOAP payload? Belmont, Calif.-based Reactivity’s firewall does. Use the hardware appliance as a front-end XML proxy, living in the “public” part of your network, and let it screen the SOAP calls, XML data and metadata before they hit your apps—or leave your secure network. While you’ll want to add authentication testing to your apps, the Reactivity box acts as a front line of defense. It also handles encryption and decryption of the payload, digital signature verification and other security checks. While you could add those functions to your own apps, it’s easier (and less computationally expensive) to outsource the crypto to a dedicated system. Full logging, traffic prioritization, fail-over and load balancing will help endear the firewall to sys admins, while the built-in crypto algorithms and support for .NET and J2EE will simplify your project requirements.

—Alan Zeichick

eSafe 4.0
Aladdin Knowledge Systems

Computers were promised to be labor-saving. Then came spam, viruses, spyware and blended threats of all three. Fortunately, Arlington Heights, Ill.-based Aladdin offers eSafe, a corporate gateway that filters out all these nuisances, restoring the promise of productivity. As well, it hunts for the demons of instant messages, peer-to-peer file transfer nets, HTTP tunneling, adware, malicious URLs and potentially unpatched Windows OS exploits.

While many competitive solutions rely on predefined “signatures” to detect malicious packet streams, eSafe has a heuristic mechanism that literally executes a suspicious object in a virtual machine and notes the effects. Should they be less than salubrious, eSafe sends the object to that great bit bucket in the sky. Handling up to 108,000 e-mails per hour per scalable box, that’s good riddance.

—Roland Racko

OrangeSpam 1.0.3
Cobion

OrangeSpam isn’t an application, but a sophisticated software development kit for adding spam detection to your programs. That assumes, of course, that you’re building things like antivirus software, firewalls or messaging systems.

OrangeSpam, which builds on Burlington, Mass.-based Cobion’s OrangeFilter technology, works to detect spam rather holistically; it’s not one test, but a battery of static and dynamic approaches that can incorporate the company’s extensive online database of known spam techniques and offenders. OrangeSpam can work at advanced levels, analyzing text in graphics, scanning for logos, and even performing what it calls “recognition of nakedness” in its search for spam. During my tests, I found that OrangeSpam did a very good job at content analysis, finding spam that other filters did not.

—Robert A. DelRossi

TESTING TOOLS

TestComplete 3.0
AutomatedQA



“Woohoo! This award acknowledges our efforts to provide affordable but feature-rich quality assurance tools; tools that can compete with the ‘market leaders’ at a fraction of the price.”

—Robert K. Leahey, Director of Developer Relations

QA Wizard 2.2
Seapine Software

In an era of Web-time and Extreme Programming, it’s astonishing how many multimillion-dollar projects still rely on error-prone manual testing. With QA Wizard, Seapine Software, in Mason, Ohio, offers an automated functional regression-testing tool for Web, Windows and Java applications. Its interface is intuitive, and you can learn it in a couple days. Run your application, and QA Wizard records each action, as well as the object receiving that action—for example, a Text Field receiving data entry or the Submit button being pressed. No pixel-location problems here. QA Wizard employs a visual point-and-click method for editing and customizing automated test scripts. Scripts’ steps include commands, comments, statements and database statements, and you can drive your test by data file content if desired. If defects are found, QA Wizard automates distribution of reports through Seapine’s TestTrack Pro.

—Gary Evans

Jtest 5.0
Parasoft

Monrovia, Calif.-based Parasoft’s Jtest Java testing tool keeps getting better at making unit testing and coding standard compliance quick and easy without requiring a single test case, harness or stub to be written.

Jtest analyzes Java classes, then generates and executes JUnit-format test cases —exposing uncaught runtime exceptions—and verifies requirements that were expressed using Design by Contract for both black- and white-box and automated regression testing. You can also add as many extra tests as you like, either by extending the generated test cases or using your own JUnit test cases.

The comprehensive coding-standards rules checker is a welcome bonus, and can be used to correct coding violations automatically in your code. Jtest integrates with IBM WebSphere Studio and Eclipse.

—Sue Spielman

Intel VTune Performance Analyzer 7.0
Intel

Santa Clara, Calif.-based Intel’s VTune does exactly what it sets out to do, extremely well: measuring the performance of your native-code applications. If you choose the noninvasive sampling approach, VTune collects information about your computer by periodically collecting samples of all active instruction addresses. This lets you monitor your application’s performance in relation to all other software running on your computer. If you choose the invasive instrumentation approach, VTune will inject instrumentation code into your application to collect timing and execution flow information. VTune can instrument both native x86 code as well as JIT-compiled code such as Java and .NET code.

This newer version (7.0) provides great support for managed code and integration with Visual Studio .NET 2003.

—John Lam

UTILITIES

PopChart, OptiMap and Builder 5.0
Corda


“This award is an extraordinary validation of our vision and commitment to providing fast, effective solutions to displaying and communicating critical information.”

—Neal Williams, President and CEO

If you build data-intensive websites, you know how hard it is to graphically display your data. That’s why this suite of utilities has jolted the judges, who realized how much effort the Corda folks in Lindon, Utah, could save them—while producing slick-looking websites in the process. The Java-based utilities run on any platform or server, and, in a world where accessibility is increasingly important, Corda’s products automatically generate all the alternative tags required to meet Federal accessibility and 508 requirements.

PopChart takes the data from your Excel tables or SQL databases and creates images in Flash, SVG, JPEG, PDF and four other graphics formats. It gets better: The images can not only be interactive but can change in real time as the underlying data changes. OptiMap generates maps using the same image formats; the ample

selection of available maps includes congressional districts, zip codes and GPS-coordinated maps. PopChart and OptiMap let you create pop-up text that appears when you mouse over images representing different data values.

To help you create these awesome visualizations, Corda provides Builder, a graphical design tool. Builder runs on both Windows and Mac OS X using Java VM 1.3.1. These tools are the ticket to making data meaningful to your users.

—Warren Keuffel

Visual Build Professional 5.0
Kinook Software

If your product involves a collection of things—some Visual Studio, some SQL, some Perl, some whatever—you’ll like Visual Build Professional. Building, testing and working with source repositories is a time-consuming task, and scripting approaches such as Ant are great—until you end up spending an entire day staring at XML. Colorado Springs, Colo.–based Kinook Software’s Visual Build gives you a great GUI front end for managing your Visual Studio project builds. Both build masters and developers will appreciate the breadth of features and task-based view of the workspace. The integration with Visual Studio is seamless, and all of the relevant project information is readily available in Visual Build. Integration with other tools ranging from Make to installers should also prove helpful in applying this tool to a heterogeneous build environment.

—Mik Kersten

Virtual PC 2004
Microsoft

With so many products in so many categories this year, the judging process would have required each judge to take a SETI@home-like clustering approach just to sample all the contenders. Thankfully, with Microsoft’s Virtual PC 2004, it was a snap to set up a virtual computer with whatever operating system, middleware and Jolt entrant we needed. Once created, virtual computers could be easily duplicated or even copied to another computer. The virtual computers ran comfortably fast enough, and any changes to that virtual image could be kept or discarded. In addition, Virtual PC’s ability to simulate a CD drive by using an ISO file of the CD’s contents made it easy to install software that would normally require you to burn to a CD first.

—Dana Cline

DevPartner Studio Professional Edition 7.1
Compuware

DevPartner Studio is the .NET world’s answer to any and everything that could go wrong. Some of the bugs that take such a long time to solve would be easier to identify with better tool support that is lacking in today’s IDEs. Detroit-headquartered Compuware’s DevPartner Studio addresses this by providing a suite of tools for static checking of errors, performance and memory profiling, code coverage and system testing. Well-designed, advanced tool features, such as call graph visualization, set this product apart from others in this space. What developers will appreciate most is the tight integration with the Visual Studio .NET IDE.

—Mik Kersten

WEB DEVELOPMENT TOOLS

Macromedia Studio MX 2004
Macromedia


“Macromedia thanks its loyal community of developers for creating great experiences and helping to drive the creative direction of the product.”

—Jennifer Taylor, Dreamweaver Product Manager

Macromedia’s Studio MX 2004 with Flash MX 2004 Professional is a winner! With improvements to three of its component parts, as well as better tool integration and support for team development, this bundle enables developers and Web designers to quickly create dynamic, standards-compliant websites.

The centerpiece of the suite, Dreamweaver MX 2004, solidified its hold on the GUI Web development tool market with improved support for CSS, and built-in support for popular languages and platforms such as XML, PHP, ASP.NET, ColdFusion and JSP.

Flash now includes features Actionscript 2.0, an object-oriented scripting language that’s compliant with ECMAScript (based on Netscape’s JavaScript). Flash also has a new “screens” interface, which lets developers work with a more familiar, and more appropriate, interface than the standard Flash timeline. You’ll also find better security, strict data-typing, Unicode support and a new generation of components.

Finally, Fireworks boasts better speed and UI, and now lets you create PNG graphics from HTML tables. All three tools have integrated help and a consistent look and feel.

—Chris Minnick

Adobe Creative Suite
Adobe

For years, Adobe’s Photoshop has set the standard for image manipulation software used by photographers and Web designers alike, and the firm’s Illustrator package was a favorite among graphic designers. Along the way, San Jose, Calif.-based Adobe acquired and built several other specialized packages, such as GoLive (website creation with workflow support), Acrobat (PDF management) and InDesign, the replacement for the venerable PageMaker page layout program. What makes Creative Suite (CS) so joltable is the way Adobe has not only tweaked each application to give it a common UI, but also included a brand-new application: Version Cue. Version Cue implements Adobe’s new Extensible Metadata Platform (XMP), offering the ability to store semantic information with any CS file—and put that data under the control of what amounts to a version control system: a huge advantage for a multi-application, multideveloper shop.

—Warren Keuffel

SOAPscope 2.0
Mindreef

Anyone dealing with Web services gets involved in complex situations with different parties and heterogeneous systems, leading to numerous uncertainties when problems occur. SOAPscope, from the Hollis, N.H.-based company Mindreef, is designed to remove this uncertainty.

Like its lab counterpart, the oscilloscope, SOAPscope allows you to monitor, test and analyze your Web services. Monitoring is done by either sniffing network traffic or using the integrated proxy or port forwarding services. Captured messages are logged into an embedded database, where they can be analyzed or re-sent. Testing includes a convenient pseudo-code rendering that makes SOAP human-readable and a view that reveals non-obvious arguments, like HTTP header fields. A WS-I compliance test completes the suite. And Mindreef’s not resting on its laurels: At press time, a 3.0 release was available.

—David Dossot

WebLogic Workshop 8.1
BEA

J2EE has a tendency for program structure to disappear into XML. San Jose, Calif.-based BEA’s WebLogic Workshop addresses this problem by making the relationships between the entities in your enterprise application visually explicit and editable.

The design views enable you to spend less time fiddling with sources and more solving your problems. For example, callbacks show up as arrows between classes. Database connectors and transactions have a similar graphical representation. Understanding XQuery mappings is as simple as following lines to the corresponding classes and members.

Workshop’s visual representations of J2EE APIs should help developers get up-to-speed without drowning in infrastructure.

—Mik Kersten

WEBSITES AND DEVELOPER NETWORKS

IBM developerWorks
IBM


“We’re honored by this award. We’re committed to providing developers with a wide array of resources for building and deploying applications across heterogeneous systems.”

—Marc Goubert, IBM alphaWorks Manager

IBM’s developerWorks website hits the sweet spot for enterprise developers, focusing on old favorites like Java and XML, current stalwarts like Linux and Web services, and up-and-comers like grid computing. You can find news, tutorials, forums, technical articles, software downloads and more here. If you want to know how to use AspectJ to ease the pain of maintaining legacy Java code, walk through the changes in Java 1.5, learn about the Linux 2.6 kernel, or explore the latest on the JXTA front, it’s all here, in authoritative depth. IBM has managed to find a decent balance between ease of learning—it takes perhaps 10 seconds to locate introductory XML materials, for example—and ease of use for the experienced developer.

There are no dancing graphics: The website wins no awards for flashiness, but won the judges over with its readability and sheer technical merit. Remarkably enough for a huge company, IBM doesn’t claim the entire universe of knowledge; offsite references to standards and documentation are common. Of course, you can also find product information for IBM’s own stable (Tivoli, Rational, DB2 and so on), and the site supports their paid-subscription developer network, too.

—Rick Wayne


JavaRanch.com

Two-time Productivity Award-winner JavaRanch.com is a friendly, diverse and intellectually stimulating place for beginners and pros alike. As the largest independent Java site, its biggest attraction is the “Big Moose Saloon,” which hosts some of the best and most active Java discussion forums on the Internet. In 2003, 12 new forums were added, ranging from the latest Sun Mobile Application Developer certification-exam discussion forum to a private forum for book authors.

JavaRanch doesn’t just support the community through forums—it hosts a Wiki, which lets users submit and manage FAQs and other tips. There’s also the JavaRanch Journal, a monthly e-mail featuring the latest tips and technical tutorials. JavaRanch Radio is a blog site that not only publishes the latest hot discussions and book reviews, but also hosts the personal blogs of volunteer moderators. JavaRanch has become one of the best resources around for Java developers.

—Michael Yuan

O’Reilly Network

Almost anyone who writes code has several titles from Sebastopol, Calif.-headquartered O’Reilly & Associates close at hand. And, increasingly, anyone who writes code—particularly for Unix, Mac or open source software—has a frequently used bookmark to www.oreillynet.com. Featuring a vast array of websites, blogs, conferences and other resources, O’Reilly Network provides resources on almost any kind of programming topic: From Perl to C++, networking to databases, digital media to bioinformatics, there’s a good chance that a visit to the free Oreillynet.com site will give you the answers you need. Also part of O’Reilly Network, the fee-based Safari Bookshelf gives programmers subscriber access to electronic versions of hundreds of books on software development from several publishers, including O’Reilly.

—Warren Keuffel

Tigris.org

If you’re trying to decide where to host your next open source project, consider Tigris.org. As with other solutions, it has all the right pieces: source repository, mailing lists, Web docs, issue tracking and donation support. All of these come with the high quality that you typically pay for with CollabNet, on which Tigris.org is hosted. Tigris.org has addressed the problems found in similar hosting solutions. For example, it presents a more unified view that makes it easier to browse project categories to find related tools. Another common gripe that it handles well is emphasizing active projects to keep the signal-to-noise ratio high, preventing dead projects from proliferating.

—Mik Kersten

HALL OF FAME

Dreamweaver
Macromedia

As someone who spent 1996-1999 as a de facto webmaster, writing HTML and JavaScript in Word files with my own macros for translating special characters and creating tables, I can attest to the power of WYSIWYG Web development. I still remember the day the new version of Microsoft Word, to my horror, began to attempt a mangled graphic representation of HTML, forcing me to take the extra step of converting all my HTML files to text in order to edit them. Then, in 1998, came Macromedia Dreamweaver, with its almost-perfect visualization of HTML. Older versions of Dreamweaver were a bit slow on the uptake, but today’s tool is not only powerful—turning scripting, GUI and site management tasks into click-driven wonders—but ubiquitous, achieving the same universality as that word-processing program we all use today. Highly usable, offering both intelligently displayed code editing and true HTML representation, Dreamweaver now supports cascading style sheets, XML, PHP, ASP.NET, ColdFusion and Java Server Pages. For its clearly dominating presence, Software Development inducts Macromedia Dreamweaver into the Jolt Hall of Fame.

—Alexandra Weber Morales


Dreamweaver Team. Top Row: David George, Sr. Principal Software Engineer; Mike Sundermeyer, Sr. VP of Product Design; Jorge Taylor, Director of Engineering; Narciso Jaramillo, User Experience Architect. Middle Row: Sho Kuwamoto, VP of Product Development; Jay London, Sr. Manager of Engineering; Heidi Bauer-Williams, Manager of Engineering. Seated: Venu Venugopal, Sr. VP of Engineering; Kevin Lynch, Chief Software Architect and General Manager (and Juggler)


The Jolt Hall of Fame


Eight outstanding products or companies have been inducted since 1996.

2003 Dreamweaver by Macromedia
2002 MSDN by Microsoft
2001 Borland
2000 Visual SlickEdit by MicroEdge
1999 O’Reilly and Associates
1998 Visio by Visio
1997 Visual Basic by Microsoft
1996 BoundsChecker by NuMega


BOOKS: GENERAL INTEREST

Waltzing with Bears
Tom DeMarco and Timothy Lister
(Dorset House, 2003)


“We hope that winning will help us get the buzz going about risk management at all those sleepy software organizations out there.”

—Tom DeMarco and Timothy Lister

If you’re the only person in the known universe working on a software project that has absolutely no risk, you don’t need this book. For the rest of us, Waltzing with Bears explains how to deal with risk and the mindset of risk management, detailing problems that are all too realistic and familiar. Waltzing with Bears will raise your awareness of possible project obstacles and pitfalls, and the need to plan for them up-front. Although developers often view technical obstacles as unexpected interruptions, they’re inherent in the nature of our work and should be anticipated as opportunities to evolve.

Waltzing with Bears will help even novices quantify uncertainty in their projects. Waltzing with Bears should be on the shelves of not only your project and program managers, but every member of your team.

—Sue Spielman

The Art of Unix Programming
Eric S. Raymond (Addison-Wesley, 2003)

GNU, famously, is Not Unix, and Linux isn’t, either (certain stock-inflating courtroom rants notwithstanding). Darwin evolved from FreeBSD. What these legendarily solid, adaptable and long-lived operating systems do share is a design philosophy dating back to 1969. Eric S. Raymond elucidates the implications of those simple yet profound design decisions for today’s programmers in a readable book that tells you a lot about how to program in Unix-like environments—but also explains the why. Yes, Raymond takes a few dutiful swipes at other operating systems, but it’s clear his heart isn’t in casting slings and arrows. Instead, he’s bursting to tell you why Unix programming is so great, exploring the ramifications of cheap process-spawning, the “everything’s-a-file” landscape and the rest of the Unix world. Along the way, Raymond gives plenty of good advice on programming itself—derived from the Unix philosophy, but applicable anywhere.

—Rick Wayne

Lean Software Development: An Agile Toolkit
Mary Poppendieck and Tom Poppendieck (Addison-Wesley, 2003)

Lean Software Development cuts to the chase: If it’s not about analysis and coding, and if it doesn’t matter to the client, it’s fat. Procedural fat clogs the arteries of otherwise productive development teams, leaving them panting beneath the excessive weight of obligatory documentation and approvals. Instead of spending their time jumping technical hurdles, developers slog through requirements collection while packing on the pounds. Excess weight translates into projects over budget and schedule while beet-faced staffers feel the burn.

Mary and Tom Poppendieck are master chefs offering a seven-ingredient slimming solution: Eliminate waste, amplify learning, decide as late as possible, deliver as quickly as possible, empower the team, build integrity in and see the whole. Lean Software Development may be the diet developers have been craving: It’s good for you and tastes great, too.

—Donna Davis

The Pragmatic Starter Kit
Dave Thomas and Andy Hunt
(The Pragmatic Programmers, 2003)

After giving us The Pragmatic Programmer: From Journeyman to Master (Addison-Wesley, 1999), those galloping gurus of pragmatism, David Thomas and Andrew Hunt, have pragmatically decided to not only write, but publish a three-volume series of best practices guides, The Pragmatic Starter Kit. The first two volumes are Pragmatic Version Control Using CVS and Pragmatic Unit Testing in Java with JUnit (the third volume will deal with automation). As one Jolt judge said, these lean and focused books get straight to the point, and hopefully represent a coming trend to save the forests required to print 400-plus-page tomes that throw in everything including the history of mankind. What Thomas and Hunt do throw in is an explanation of version control and unit testing, and how to utilize the headlined tools to achieve these best practices.

—Warren Keuffel


BOOKS: TECHNICAL

Test-Driven Development: A Practical Guide
David Astels (Prentice Hall PTR, 2003)


“This award isn’t just for me. It’s for all the people who have been talking about Test-Driven Development and its benefits, and mostly for those who contributed material to the book in areas where they’re the experts.”

—David Astels

This book describes in exquisite detail techniques and tools used in Test-Driven Development (TDD)—and it accomplishes the task in a friendly, readable style.

Test-Driven Development: A Practical Guide uses Java (and JUnit) for all the examples in the text. Appendices outline how to use TDD with Ruby, Smalltalk, C++, .NET, Python and Visual Basic.

Best of all, the book addresses two of the difficult areas of TDD. Testing one class often requires the services of another, but it can be tricky and time-consuming to set up the supporting class correctly. TDD advocates creating mock testing classes, which generate the expected return value for each expected set of input values. Further, Astels introduces us to the MockObjects Framework, the MockMaker and EasyMock tools.

Another difficult area is GUI testing. Here, Astels recommends the Jemmy tool or developing an Ultra-Thin GUI. Jemmy wraps an “operator” object around existing Swing components, allowing you to manipulate the GUI components through code, as if the code were a user. The Ultra-Thin GUI accomplishes almost the same thing. In this case, the GUI is so thin that the GUI is “tested” by testing the layer immediately below it.

The book ends with a detailed example of a project, demonstrating and explaining each incremental test and the code to go with it. Altogether, Test-Driven Development: A Practical Guide is thorough, clear and relevant to our main job: coding.

—Hugh Bawtree

About Face 2.0: The Essentials of Interaction Design
Alan Cooper and Robert Reimann (Wiley, 2003)

Offering advice on matters of posture, consideration, appearance and behavior, About Face 2.0 is to software developers what Emily Post’s Etiquette is to debutantes. Cooper and Reimann’s pragmatic bible is applicable no matter what technological fork you use, and should be required reading for any aspiring developer making his foray into polite software society.

The authors question interaction design practices that have become the de facto standard by virtue of ubiquity, and encourage developers to think outside the Microsoft box. Developers may be surprised to learn that getting their applications to work is only the beginning. About Face 2.0 provides developers with the techniques to give their applications a virtual makeover.

—Donna Davis

Agile Database Techniques: Effective Strategies for the Agile Software Developer
Scott W. Ambler (Wiley, 2003)

This isn’t some lofty tome about crafting perfect schema in idyllic academia; it’s about building quality, high-performance enterprise applications in the realm of troll-like data architects, verdigris-encrusted legacy databases and constantly changing requirements. Ambler provides hardnosed advice and specific guidelines drawn from his own experience, with a ruthless disregard for anything that doesn’t advance the task at hand. (Hear ye the man who championed 3x5 index cards for an honorary Jolt Award: “Models and documents don’t need to be perfect; they just need to be barely good enough.”)

—Rick Wayne

Code Reading: The Open Source Perspective
Diomidis Spinellis
(Addison-Wesley, 2003)

Most programming books, says author Diomidis Spinellis, teach us how to program, but we actually spend more of our time reading code others have written so that we can understand and perhaps modify it. That insight led Spinellis to mine the NetBSD Unix distribution and other open source software (OSS) projects for real-world examples that illustrate techniques for identifying good—as well as bad—code. It’s one thing to learn from toy examples, and quite another to learn from OSS project code that has improved through multiple revisions. But to identify good code, first you have to read it, and Spinellis shows us how to—efficiently. Ultimately, from reading others’ code, we learn to write better code ourselves.

—Warren Keuffel

BUSINESS INTEGRATION AND DATA TOOLS

JRules 4.5
Ilog


“We set out to build and market products that would change the way software is developed and used in business. This award is a gratifying acknowledgment that we’ve succeeded.”

—Andrew Fox, Public Relations Manager; Kathleen Calderwood, Sr. Marketing Communications Manager

Can your company’s business rules, buried in the code of your applications, give you a competitive edge? They can if you’re able to update them quickly in response to market needs. JRules provides a quick response suite of tools to develop and manage business rules as a task separate from developing applications that might want to apply those rules. A rule, such as the complex pricing formula of something the enterprise offers for sale, can thus be specified and maintained separately from code that handles database, Web traffic, ordering screens formatting and so on.

Extracting the rules from the code offers only a theoretical advantage if manipulating the extracted rules is itself difficult, however. Easy manipulation is where JRules excels. Headquartered in Gentilly, France, Ilog understands that the business side of a company must be able to talk to the IT side. Thus, it has specialized the JRules interface to handle three roles: policy manager or business owner, business analyst and developer. This allows the businesspeople to manage the rules directly rather than having to translate them to the IT side—with the inherent loss of precision that dialogue historically produces. Another plus? Improved regulatory and international standards compliance.

—Roland Racko

Unify NXJ 10
Unify

The Unify NXJ 10 suite is undoubtedly the fastest way to develop Java business applications today. Its drag-and-drop tool suite enables developers to paint screens quickly, populate them with database fields, and specify the computation of calculated fields. NXJ 10 comfortably handles complex, multiscreen interfaces, multiple-database transactions and advanced user interactions with aplomb. The Sacramento, Calif.-based company’s product generates all the Java code, JSPs, JavaScript and HTML you need, as well as all deployment and configuration files. In addition to the basics of business programming, NXJ 10 offers advanced services to enable application integration, business process management and portals. With these high-level components, programmers can generate virtually any Java business application in record time—without writing a line of code.

—Andrew Binstock

Mapforce 2004
Altova

Headquartered in Vienna, Austria, Altova is no stranger to the Jolt Awards. The company’s Xmlspy development suite has long been a trusted asset in many developers’ tool chests, and has received two Productivity Awards. But Altova never rests on its laurels, now producing Mapforce, its maiden voyage into the XML mapping tool market. In addition to performing visual XML-to-XML mapping, Mapforce also includes an innovative database-to-XML mapping feature that can generate Java, C++ or C# code (complete with a Visual Studio solutions file). The generated code executes a database query and transforms the data into an XML document that matches the specified output schema. This feature comes in handy because the majority of such information resides in relational databases.

—Gregor Hohpe

DT/Studio 2.0
Embarcadero Technologies

When it comes to visual data modeling and handling integration chores, I was impressed with San Francisco–based Embarcadero’s DT/Studio. The studio comprises the Java-based DT/Engine, a Java-based DT/Console and a Windows-hosted DT/Designer. The engine handles the actual data transformations that you create visually using DT/ Designer. The designer deftly handles source and target mapping activities, and is also useful for reverse-engineering complex data warehouses. Support for a wide range of databases is included, as is an impressive array of extensible data transformations for handling type conversions, date and time math, and financial functions. DT/Studio’s considerable power is both accessible and customizable through a variety of wizards and a useful macro facility.

—Robert A. DelRossi

Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.