Home     Contact Us     SoftLanding     Deutsch     Español

The Software Management Experts

    December 2006  Volume 10, Number 4              

Make Vendor Upgrades a Cinch with Synchronizer

Joe Baumgarten, Sales Engineer

Once upon a time, a TurnOver user climbed Peterborough’s Mount Monadnock in search of truth and knowledge. Reaching the top, he encountered a very wise SoftLanding Engineer, and in a breathless voice, he asked him the following question: “What is the true measure of software purity?”

Eventually, deeming the prospect worthy of such great knowledge, the Engineer replied, “Simple things should be Simple. Complex things should be Possible.”

If you have ever been assigned the task of applying the next software release from the vendor, you know this certainly falls under the “complex things” category. Often, despite your best analysis and most thorough testing, your team spends the next days (or weeks!) putting out one fire after the next. How many times have you said, “Next time, I’ll do it better!”

What if I told you that all of you have the means to “do it better” in your hands right now? It’s Synchronizer -- and it's part of your TurnOver base package.

Let me say that again so it really “synchs” in: Synchronizer is part of TurnOver.

Actually, it’s been part of TurnOver for years, only now, it’s even better! It’s been incorporated into our Eclipse-based plug-in components, which run in our stand-alone TurnOver Client or in WDSC. Our TurnOver plug-ins, by the way, are also included in the TurnOver base. Can this get any better?

Let’s say that you’ve been running, and heavily customizing, the vendor’s Release 1 for a year now. The vendor has now come out with Release 2 and you are anxious to apply it.

Your first mission is to gain some insight about what you are up against. Present company excluded, software vendors aren’t always very forthcoming about what exactly has changed in the new release! To accomplish this, Synchronizer performs an Impact Analysis. As the diagram in Figure 1 illustrates, Synchronizer must compare three different versions of source code: Vendor Release 2, Vendor Release 1 and your custom modifications to Vendor Release 1.

figure1
Figure 1: Synchronizer compares three different versions
of source code.

figure2
Figure 2: Synchronizer's Impact Analysis Program

Synchronizer’s Impact Analysis program uses the source code shipped in Release 1 as the base for its comparisons. Release 1 is the base from which you made your custom mods, and the base that the vendor used to make their mods (that is, what became Release 2). Synchronizer will use the source from Release 2 as the driver for the analysis. In other words, only the new source shipped for this release appears in the Impact table.

As shown in Figure 2, for every member of the new release, the Impact Analysis will answer the following questions:

1. Does the member exist in Release 1 (Old Base)? If so, how many total lines of code are in the member?

2. Did you customize the Release 1 version of this member (User Modifications)? If so, Synchronizer compares Release 1 to your user mods. It shows the “blocks” of changes made compared to the new total lines of code. The more blocks of changes there are, the harder your synchronization work will be on this member!

3. What changes did the vendor make? Synchronizer compares Release 2 to Release 1 and shows this information in the New Base.

figure 3
Figure 3: Synchronizer's Filtering Tool

Imagine going into a complex project like this with your eyes open for a change! Of course, Synchronizer generates a very nice report detailing all of this information. Even more impressive, however, are the things you can do online.

First of all, how are you going to attack this complex job of folding in hundreds of changes? Creating the impact report was an important first step, but how to go from there to done? As another very wise SoftLanding Engineer once said “What is the best way to eat an elephant? One bite at a time.” In other words, use TurnOver’s project management! To do that, however, we need a way to subset this list into bite-sized chunks and get those chunks assigned as tasks.

Figure 3 (at left) shows Synchronizer’s powerful filtering tool that we can apply to our online impact file. For example, show me just the members that are new to this release. I’ll assign them to task SYNC0001, programmer Dracman, and also create the companion programmer’s worklist. And hey! Because I’m such a nice guy, I’ll even populate it with the list of objects from the filter!

Next let’s take a look at just the PF’s that were changed in Release 2, and were also custom-modified by us. I’ll assign them to... you get the idea. At the end of the day, you have taken a complex project and intelligently broken it down into possible tasks that will flow through manageable promotions.

So far, all of the good news has been for the project manager. Lest you think we at SoftLanding have forgotten our roots, Synchronizer brings to the table an equally powerful tool for the developer’s access: a three way source code merge! For more proof that good software makes complex things possible, read a how-to description written for the developers who will do the actual merging. Share it with your team and get everyone on board!

Free Synchronizer and Merge Webinar for TurnOver Users

For a live demonstration of the Synchronizer and Merge software products in action,
sign up now for our free Webinar, coming soon to a browser near you!

WHAT'S NEW
Sign Up Now to Receive The Landing Zone eNewsletter
| more