SelecTViews
With Stephen Wynkoop
Find out the latest news on Windows Phone 7 upgrades or some of the features slated for MySQL 5.6 and more. Also, MVP Stephen Wynkoop addresses some feedback on LINQ from our newsletter’s readers.
[Watch the Show]
Tools of the Software Development Trade
As we have been discussing MS Access the last little while, I was asking myself why I don’t use it much anymore? I have always enjoyed the product. My simple answer is that the kind of work I do changed considerably; and Access doesn’t lend itself to multiple developers working on a large code base.
Here is a scenario. Let’s say you have a big project requiring multiple developers to be working on different aspects of a program in Access, how do you merge the different changes into a central application? Microsoft addressed that with a tool in the Access SDK allowing you to integrate Access objects into Visual Source Safe…but I found that corrupted the ADP more often than not. This made merging changes together rather painful.
Ok, let’s say that the merge aspect worked well, how do you handle merging things at a more granular level? Or, for that matter, have the ability to see what the difference was from one version to the next. If you check in a form, and you can’t do a code diff to see what changed, the only thing you have to help you know what was modified is the check in comment.
Moreover, you are stuck with a single individual having the ability to modify an object at a time. There is no capability to merge changes performed on the same object by more than one user. This is a huge restriction.
I have been working more in agile software lifecycle projects the last few years, where the ability for multiple people to work on the same project and even the same class at the same time, and merge their changes into a single, cohesive application, is not only desirable but essential for success. For this reason, Access does not get used much except for quick utilities to help make other things easier, or for a demonstration prototype, etc.
Access hasn’t been or gotten bad. My Role and Requirements of software tools has changed; not matured; changed. What I do today is not superior. Agile techniques allow you to produce more code quickly because you are able to work as a team in an efficient manner, not an individual.
Lest it sound like Access bashing, I have the same problem with SSIS and any other MS product that hides definitions in XML documents. I have actually replaced SSIS packages, with all the awesome power and infrastructure wrapped around it, using custom code because we could not have multiple developers work on the same package at the same time, and merge changes easily. You also cannot do a diff against one version to the next without getting lost in a lot of XML that doesn’t look like what you coded. BTW, we did learn how to extract a lot of stuff from SSIS with the use of LINQ queries
Another tool that we evaluated heavily, and walked away from as well, was Windows Workflow. I love the product. But, it wouldn’t scale out to allow multiple developers work in a complicated workflow, and merge their changes together. Likewise, it stored the definitions in XML so that a diff was not understandable.
The skill to use version control effectively to track and merge is essential to any software developer. To me, this skill is just as important as the ability to write code.
On a side note, since Visual Fox Pro keeps coming up in this conversation, let me say that it works awesome in any size team. It integrates with just about any version control package, merges effectively, and provides a meaningful diff from one version to the next. It’s a shame that MS had to discontinue this product.
Those are my thoughts. Send a note to btaylor@sswug.org to include your thoughts too.
Cheers,
Ben
$$SWYNK$$
Featured Article(s)
Tools to Facilitate Efficient Data Management (Part 1)
Fortunately, many data management tools are available that enhance the functionality of the DBMS, ease the administrative burden and reduce the possibilities of database error. These tools are offered by the DBMS vendors themselves, as well as from multiple independent software vendors.
Featured White Paper(s)
Query Tuning Strategies for Microsoft SQL Server
Written by Quest Software
When you’re looking for a reliable tool to diagnose … (read more)