Hi Hilliert (is it Terry?),
What a hearfelt rant ;-)
The DFD v UML debate reminds me of the object oriented v client server / green screens war of the 90's. Object oriented was the new kid off the block with all the old coders (like me) ranting against the inevitable. Eventually I had to accept it or get out of coding. (I stayed in for a while to understand it, then converted to being a BA). DFD's are the Cobol of the BA world. UML is the industry standard whether you like it or not. I'm sure there'll be people who disagree but just look at the job adverts.
UML uses a behavioural approach, DFD uses a data driven approach. UML done badly is useless. DFD done badly is useless. Its just a different way of looking at the same thing.
In the UML I use the parts of it that I need to support my argument. For the past 18 months I've completed 7 consulting projects producing a mixture of "As-is" and "To-be" Business process models. Each node on the business process diagram is either a use case or another diagram. The use case is "manual" or "system". In this way the whole of the client's business process is mapped. The manual processes in the "To-be" model are opportunites in the future for more development work. The tool that I use can produce a website. Often the client will load this onto their own intranet as documentation and training of their internal processes.
The parts of UML I use are:
1. Activity diagrams - business process
2. Use cases - functional behaviour definition
3. Statechart - entity lifecycle (states and transitions), site maps
4. Class diagrams - business domain
Object diagrams and sequence diagrams and the like are far too techie for me. That is the realm of the solution architect and to be frank, I don't really care about them. I've been a full time BA since 2001 and have never written any of these. In fact I would refuse if asked because this is not what a BA does. I'd never show them to a business user.
Following this stage, if required I also do UI / report specs that realises the functional model i.e. the business process / functional model, plus a detailed business domain model and data dictionary. I don't use UML for this stage - apart from the class diagram. I have found prototyping to be most effective for screens / report modelling. I create a detailed spec for each screen / report in word. This engages the developers - they do the prototype - as well as the business. Prototypes should always be reusable during construction.
The idea of directly linking the activities on the activity diagram to a use case was somewhat of an epiphany for me. Its obvious when you think about it. I'm very happy with this approach and have proved it successfully (to myself) on those projects in the last 18 months.
So Hilliert mate, you don't want to be a dinosaur. Persist with the UML. How many jobs do you see for Cobol programmers around nowadays?
Kimbo
P.S. I just started a new contract last week. They use BPMN. Personally I hate it. Seems far too technical and needlessly hard to understand. But I'm determined to get on top of it. I'm sure its just because its new that I dislike it so much ;-)