8 Foundational Concepts you should know in the Digital World

We hear lots of concepts especially when you are dealing with transformation, business advisory, and the digital community in general. Lots of concepts from business scenarios, business cases, use cases, digital capabilities, business function, and lots of other words that sometimes people understand differently and find a bit confusing what are those concepts really mean, especially since there are no widely accepted definitions and you can have lots of perspective around that.

Today, I would like to go through some of them as I found that many people even professionals are struggling in finding the difference between many of those concepts. Count me one of them as well, especially when they are misplaced and people consider them like tacit known concepts.

I would love to hear your perspective of how do you perceive those terminologies as well, maybe we can set the ground definition 😉

My recommendation is if you feel there is confusion, try to agree on the definition with your working group, your customer, or your employees that will help a lot to make sure that you have a common understanding when mentioning a specific concept that this is what meant by it.

Let us explore those terminologies

1- Business

It is an organization that makes, buys, or sells products or services. Yes, simple like that.

The government, for example, is making and providing services for citizens, and banks are making services, such as loans, saving accounts, …etc. Those can be called out as the business side which defines the core of that organization is doing and performing every day. Its core can be policy-making, agriculture, manufacturing, retails, software development, …etc.

In the enterprise architecture world, Business is the enterprise, it can be the whole enterprise or a sub-unit or department as well. You can define the scope and its limitation.

Read more

How to visualize the software using effortless diagrams!

Software visualization is essential in the software development lifecycle to realize how the software will be conceptualized, visualized, structured, understood, and implemented. Software visualization can be defined as the art and science of generating visual representations for the various aspects of the software.

The purpose of the visualization is setting a common understanding of the system for all stakeholders, for example, business users, development team, architects, designers, …etc.

It is a part of Software architecture and design which usually needs problem-solving and planning. This may include both a low-level component, algorithm design, and a high-level architecture design. The image below can summarize the types of visualization in the software architecture, for example, if we would like to present a system of two components, it can be visualized by text visualization or graphical visualization. I think all of us can conclude that the software requirements specifications document can be a textual visualization of the system. I think yes but not only as part of this textual presentation should include the design decisions and may have pseudo code in some parts.

sample component

In this article, we will discuss different types of graphical visualization for the software that are commonly used in the software development lifecycle. Therefore, We will discuss the following diagrams and their usage:

  • Context Diagram
  • Use Case Diagram
  • Activity Diagram
  • Class Diagram
  • Entity-Relationship Model

However, this article will not discuss how to draw these diagrams and each diagram modeling language as there are a lot of resources available online for describing the modeling and notation standards.

Read more