• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

Learn Business Analysis

Sponsored by BABLOCKS.COM

Learn Business Analysis
  • COURSES
  • MEMBERSHIP
  • RESOURCES
  • ABOUT US
  • LOGIN

State Modeling for Business Analysts

August 10, 2017 By Emal Bariali 5 Comments

by Emal Bariali
August 10, 2017January 14, 2021Filed under:
  • Articles

Every one of us is born into infancy. We move through our childhood, into adolescence, and then we eventually graduate into adulthood.  This is part of our life-cycle.

Entities also have life-cycles, and the best way to express the business rules for the life-cycle of an entity is by drawing out a state model (a.k.a state machine model).

In the first part of this series,  I made my case for why you should learn business rules. I also introduced the Entity Relation Diagram (ERD) as an effective way of expressing the business rules that will tell the developer how the entities are related. Let’s look at another effective way of expressing business rules.

State Models Illustrate The Business Rules Related To The Life-Cycle Of An Entity

Like I said before, developers love precision, and state modeling is the most precise way of expressing the business rules related to the life-cycle of an entity.

Let’s look at an example.  The state model for our Order entity might look something like this.

This simple but powerful diagram has two basic elements.

  1. States – Boxes that represent the stage of a life-cycle (Opened, Payment, Submitted etc.)
  2. Transitions – The lines showing the permissible state changes.

How Many Business Rules Do You See?

This “bare bones” version of a state machine is already enough to communicate a wealth of business rules to your developers. For example, the developer can see the following rules when they take a quick glance at this model:

  1. An Order can be in one of the following stages of its life-cycle at any given time (Opened, Payment, Submitted, Completed, Abandoned, Cancelled)
  2. An Opened Order can move only to the Payment stage, or the Abandoned stage of its lifecycle (nowhere else).
  3. An Order at the Payment stage can move only to Submitted, Abandoned, or Cancelled.
  4. An Order at the Submitted stage can move only to Completed.
  5. An Order has reached its terminal state (i.e. it cannot go anywhere else) once it has reached Completed, Cancelled, or Abandoned.

And this is only the “bare bones” version of the model. We can dress up our state machine even further to start layering on additional business rules.  We can add Triggers, Pre-Conditions, Post-Conditions, to start capturing more details.

Do you see the value of this model yet?

Like I said,  a picture is worth a thousand business rules.

ERDs And State Models Are Based On Internationally Recognized Standards

There’s no doubt that these two entity modeling tools hold a lot of power because of how succinctly they can express business rules. Add to that the fact that both modeling techniques are promoted by OMG’s internationally recognized Unified Modeling Language (UML) standard, and you have an unbeatable combination of tools to get the job done.

I’ll admit that UML models can sometimes be overly cumbersome because they add on a lot of things the BA doesn’t actually need, but the rationale for why they use these two techniques is rock solid.

Post navigation

Previous Post What Is An Enterprise Software Solution?
Next Post Project Methodologies: Whats the difference between Waterfall vs. Agile? (video)

Reader Interactions

Comments

  1. Sushruti Kulkarni says

    September 10, 2017 at 11:30 pm

    What a brilliant article and explained in a very interesting way. How about using IBM Rational Rhapsody for creating state machines in an Automotive project?

    Reply
    • emal bariali says

      September 11, 2017 at 2:41 pm

      Thanks Sushruti,
      I learned and used Rational Rose many years ago before it was bought by IBM, but I come across very few clients actually use any of those tools. Many of companies who do have it don’t use it well or don’t use it at all.
      I find that formal UML is a little too heavy for what most business analysts need to do. I encourage BAs to learn the most important elements of UML and ignore the many of the formal rules to get the best value out of their time and analysis.

      Reply
  2. Laura Ferem says

    September 15, 2017 at 3:14 pm

    This is a great example of how something so simple can bring great clarity ! Thank you so much for sharing!

    Reply
    • emal bariali says

      September 16, 2017 at 8:51 am

      Thank you Laura. Let me know if there are any other BA related subjects you’d like me to cover.

      Reply
  3. Khalid Thaha says

    September 18, 2017 at 6:31 am

    Thanks for sharing this modeling techniques. Simple and great clarity of modelling any business processes.

    Reply

Leave a Reply Cancel reply

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

Primary Sidebar

BA Courses

Podcast Episodes

RSS BA BLOCKS for Business Analysts

  • 9: The 4 Ways ChatGPT and AI Will Change Business Analysis
  • 8: Customer Requirements for COTS vs. Custom Built Solutions
  • 7: How To Ace Your Next Business Analyst Interview (Part 1)
  • 6: Agile Myth vs. Agile Reality: An Interview With Dean Kulaweera
  • 5: What Do You Want From Your BA Career?
  • 4: The 3 Elements of Your BA Career Strategy
  • 3: Top 3 Sources of Skills for Business Analysts
  • 2: Top 3 Sources of Stress for Business Analysts
  • 1: How to Create a Fulfilling Business Analysis Career

Popular Articles

RSS Unknown Feed

Footer

FROM OUR COMMUNITY MEMBERS

RSS Members Only Simple Posts From BA BLOCKS

  • Hi Guys, Greetings! Please suggest me the best source to prepare for CBAP Exam. Your ...
  • Looking so forward to this! 😊...
  • Hi Emal Bariali, I have recently joined the community and looking forward to substant...
  • I am posting this inquiry regarding the BA course enrollment coming up on the 23rd. I...

PODCAST EPISODES

RSS BA BLOCKS for Business Analysts

  • 9: The 4 Ways ChatGPT and AI Will Change Business Analysis
  • 8: Customer Requirements for COTS vs. Custom Built Solutions
  • 7: How To Ace Your Next Business Analyst Interview (Part 1)
  • 6: Agile Myth vs. Agile Reality: An Interview With Dean Kulaweera
  • 5: What Do You Want From Your BA Career?
  • 4: The 3 Elements of Your BA Career Strategy
  • 3: Top 3 Sources of Skills for Business Analysts
  • 2: Top 3 Sources of Stress for Business Analysts
  • 1: How to Create a Fulfilling Business Analysis Career

THE BA DICTIONARY

RSS Business Analysis Terms and Definitions Archives – BABLOCKS.COM

  • Customer
  • Constraint
  • Agile
  • Technical Constraint
  • Business Constraint
  • Current State Analysis
  • Product Backlog
  • Minimum Viable Product
  • End-User
  • Business Analyst

Copyright © 2023 · Sponsored by