I have enjoyed reading the “Object Oriented CASE Tools: Lost Opportunities and Future Directions” article at developer.*
I have spent more than 15 years designing and developing in-house case tools for our legacy systems (more than 1.000 developers). I have implemented almost all of the “Traditional CASE tools” features described in the article, and they have proved that they are necessary to archive a very productive development environment.
Now, we are focusing our efforts on distributed systems, and specifically, in OO environments. We have a current discussion about which is the best strategy towards our toolset in these environments. On one side, there is the opinion that we must use OO COTS tools; and on the other side, that we must developed our own tools following the guidelines of the traditional case tools. The absence of some of the features stated in the article is inclining the balance towards the second option (the traditional one). Some features, as the central repository relying on databases, are essentials in environments focused in the reusability of the artifacts, and with OO COTS tools you can’t implement them, with or without “frameworks”. They seem designed for individual developers or small teams and not for a big enterprise.