Tyranny of UML for Business Analysts

Man crying
Man crying

Let me narrate a very interesting discussion on UML I had with a good friend of mine. I have been part of software industry for close to 20 years and he is about 5 years to senior to me. Both of us worked in 2 of the largest IT companies in the companies in the world.

My simple question to Sesha was “Have you really felt the need for UML during business analysis?” His answer was “No”.

Very similar was my experience. I also really did not feel the need for all aspects of UML for business analysis.

My next question was, “Then why do organizations spend tons of money in teaching UML?”

His answer was superb. He said, “LN, have you seen tuskers?”

“Of course, Sesha.”

“Does the tusker use the two front teeth to eat?”

“No. It has inner teeth to eat food. This is possible for showing off his majestic nature.”

“Exactly, you do not possibly need UML for your real work but you can always charge clients more when your BAs can throw UML jargons to clients”.

Now do not jump up and shoot your gun, we MUST NOT be following right practices to develop softwares.

In my interactions with 1000+ business analysts, I am yet to get convinced that Sequence diagram or deployment diagram is something that most Business Analysts can really make sense of or they need. UML was possibly developed for technical analysts and we have adopted the same without much thinking (possibly herd mentality).

To me, only part of UML that made sense as a BA was use case diagram, activity diagram and state chart diagram.

I seek opinion of all seasoned BAs to provide their inputs and let us make BA curriculum such a way that it is more appropriate to what we are expected to do.

 

About Adaptive Processes

 

Adaptive Processes provides CBAPCCBAECBACPRE, Agile BA and other business analysis certification training online and consulting needs for Individual or Corporate either online or offline. Adaptive Processes is an endorsed education provider of IIBA®, Canada and IREB®, Germany.

Learn more on this training here: http://www.adaptiveprocesses.com . For more updates on courses & tips follow us on: Facebook | Twitter | LinkedIn | Google+

LN
Follow LN

LN

COO at Adaptive Processes
Author Mentor Consultant

24+ years of professional experience inbusiness analysis, software product development, business analysis, ERP implementations, software processes , strategic Change Management Consultancy.

Author of 12 books on Business Analysis and Requirements Engineering
LN
Follow LN

Comments

  • LN, I have worked with BAs in front-ranking Corporates. I have come across BAs in Customer organizations who are good at Class diagrams, and I had to whiteboard the relationship between the domain classes and get it approved by them. UML diagramming is definitely needed in requirement analysis process, for ex: to get the relations right, when defining the domain model. To give a simple example: a insurance policy can have multiple Claims, but one Claim is related to one and only one Insurance policy. I can write such a big sentence or draw the relation in a simple UML diagram, I am sure the latter will be more readable. So, as you mentioned not all aspects of UML are needed, but surely diagrams (stricly UML or of any other kind) are much better way of communication during requirement analysis, rather than long verbose sentences.

    • Hi Anirban,

      BAs (more specifically IT BAs) are comfortable with creating design models as well because of their IT backgrounds.

      What about BAs who come from non-IT background?

      Is it really needed for BAs to develop class models?

      LN

    • Hello Matthew,

      I fully agree with use cases.

      I believe sequence diagrams are quite useful to technical architect, no so much for business analyst.

      Business analysts should of course be able to understand class diagrams.

      LN

  • I am not a BA but a product architect. So I can’t speak as a BA. But I have worked closely with BAs. So I can speak from my experience. Let me agree with some of your statements. Some of the UML diagrams are useful. I have seen some of my colleague BAs using flow chart instead of use-case diagram and others using use case diagrams with equally effectiveness. Activity diagram and state diagram are important for BA. I haven’t seen any usage of class diagram or component diagram by BAs.What I see might not be everything.

    I disagree with you on sequence diagram. BAs I have interacted used it extensively and effectively. The way flow chart can be used as an alternative to use case diagram, sequence diagram can be used as an alternative to activity diagram. I fail to understand how one diagram will be useful where as other isn’t.

    I have seen BAs to consume deployment diagram. They don’t won the diagram, architects own it but BAs consume it to understand the message flow and other details that starts from there. So it is important that BAs understand deployment diagram.

  • UML diagrams are developed at 2 levels – analysis level and design level. The analysis-level diagrams need absolutely no technical knowhow to develop. Similarly, Class Diagrams are developed at 3 levels – conceptual, logical and physical. The conceptual class diagrams are an analysis artifact and must be developed by a BA because they are not technical and represent business rules. I see absolutely nothing about conceptual class diagrams that BAs without IT knowhow will not be able to understand.

    Even State Machine Diagrams (SMD) can be developed at the analysis as well as design levels. Once the BA develops the analysis-level SMD, the System Analyst typically elaborates it into a design-level SMD.

Leave a Reply

Your email address will not be published. Required fields are marked *