Criticism of UML

I came across this interesting criticism of UML today: Why UML fails to add value to the design and development process.

I agree with the author that UML’s lack of integration into automated lifecycle process at both the domain end and the technology end tends to make the documentation a one time island of work.  However, I do not agree that domain specific products have to be developed.  We do not understand sytems well enough yet to make such a conclusion.

The criticism of UML’s lack of ability to generate code is one of the reasons I am in favor of the Associative Model of Data and the Sentences ADBMS at LazySoft.  The schema, form design, query design and results are all built into a single user interface that can be updated in real time and issues such as normalization and denormalization that plagues relational database integrity and performance do not exist.

Code Slobs

I have been having quite a time at work these days as I have been assigned the task of doing an impact analysis on the addition of a column into the database schema.  I have found myself without documentation and having to go into the source of hundreds of programs and scripts looking for the implications of the change.  The code is completely unformatted and trying to rectify the situation to save my bleeding eyes has been hell.

What obstacles do I face?  My Team Leader says she doesn’t look at code so she doesn’t care what format it is in.  My Senior Oracle Developer says he formats all his code, but he doesn’t consider code formatting important.   The remaining development team writes functioning code, but has no education in how to format PL/SQL so it’s readable.  In otherwords, I am surrounded by Code Slobs.

How do you deal with code slobs?  First, automation.  I have persuaded all of them to use the TOAD code formatter in the future so people without TOAD can make some sense of their product when doing maintenance.  Second, roll up your sleeves and clean up the legacy code.  I have to go through the code looking for the impact of a column change anyways, so along the way I am formatting all the code I read.  I know there will be more impact analysis tasks and code maintenance, so I am hoping to make it easier for future code readers and maintenance programmers.

So, look out code slobs, I am going into every nook and cranny and sorting out the detrius,  so someone, anyone can have a better chance of giving your work a longer life span, simply by making it readable.