Modeling Overview: Demonstrating and Adapting Design

Modeling Overview_ Demonstrating and Adapting Design.png

What is a Model (for)?

When someone talks about a model in a solution development context, those familiar with solutions think of a data model. Solution development typically starts with a data model, representing people, places, and things the solution will manage. It also shows their relationships with each other. For example, Salesforce’s data model includes accounts, contacts, and leads, with a relationship between accounts and contacts.

Solution development can include other models to demonstrate a solution’s behavior and the user experience.

A model shows aspects of design to an audience with the intent of getting feedback.

A model makes a design more real to users. Think about a house, first designed with a floor plan, elevation drawings, plumbing, and wiring plans. Those plans mean a lot to the architect and the builder, though not as much to the residents. A three-dimensional model makes visualizing the design much easier for the residents. Best of all, changing the model costs a lot less than altering construction.

Providing users with a solution model gives them insight into what it will look like and how it will behave. Users give feedback to the development team after trying the model. The team refines the solution design based on the responses.

Solution Model Types 

Business solutions have three common layers, shown below:

LayerResponsibility
PresentationUser experience
BusinessBusiness logic, data processing
DatabaseData organization, access, and changes

Architects, user experience designers, and developers can model a solution at each layer:

LayerModel
PresentationWireframes, screen mockups
BusinessUnified Modeling Language (UML) diagrams, flowcharts
DatabaseData or object model, entity-relationship diagrams

Data Models

Every business solution needs its data organized for fast, secure access and reliable updates. A data model shows how a solution organizes data.  

Creating a data model starts with stakeholders identifying people, places, and things of interest to a solution, generically known as entities. An entity-relationship diagram shows the entities in boxes, connected by lines showing their relationships. Users review the diagram to make sure it covers all entities of interest. They check entity relationships for completeness and accuracy.

Below is a Salesforce entity-relationship diagram for campaigns:

Campaign Data Model.png

The entity-relationship diagram serves as a plan for the data model. Salesforce models entities as objects, with fields for attributes. Relationship fields connect one object to another.  All together, this forms an object schema.

Process Models

In the 20th century, analysts and programmers created flowcharts to depict a computer program’s steps and logic. When software started to handle user interactions and external events, a need to model software behaviors arose. The Unified Modeling Language (UML) became widely accepted in the 1990s for modeling software behaviors and structures.

New forms of process diagramming have gained ground in the 21st century:

  • Business Process Model and Notation (BPMN) 

  • Universal Process Notation (UPN) 

  • SIPOC (Suppliers, Inputs, Process, Outputs, Customers)

These process models show additional details about how a solution works. See Mapping Out Complexity for process model examples using universal process notation.

When any doubt exists about the business logic or workflows in a solution, users should review process models.

User Experience Models

User experience (UX) models give users a preview of a solution’s look and feel. UX modeling starts with user interviews. A UX designer can capture what users believe about how a system looks and behaves - their mental models. A user experience matching a user’s mental model feels intuitive to the user, behaving as they anticipate.

Once UX designers understand a solution and its users, they typically create wireframes, rough sketches of a solution’s screens. Wireframes show users how a solution would display information. A UX designer may create simple flowcharts to show a solution’s decision-making process at presentation. For example, the content shown at the bottom of a screen may depend on a selection made at the top. Users review different models and provide detailed feedback with their preferences. The UX designer changes the screen layout and behavior accordingly.

Prototype: The Ultimate Model

The design firm IDEO famously says:

“If a picture is worth a thousand words, a prototype is worth a thousand meetings.”

A prototype is a minimal version of a solution for users to provide feedback before full development gets underway. It integrates a minimal data model and just enough business logic and user experience for users to evaluate. The architect and development team may change their approach to a solution’s development if users’ experience with the prototype fails to meet expectations.

Salesforce provides an easy way to create simple recordkeeping prototypes. Starting with an entity-relationship diagram, an architect, developer, or administrator creates an object schema by filling in forms or using a visual schema builder. They can define relationships between objects as they create them. Building an object schema also generates forms to create, read, update, and delete records in each object.

Businesses and nonprofits want to do more with Salesforce than recordkeeping and reporting.  They want to interact with information created from data in the business layer. Let’s say a business wants to enter leads into Salesforce, only creating a record for a new lead if it doesn’t match an existing contact or lead. An architect, developer, or admin can create a flow to check for duplicate records. A flow automates business processes, specified as a visual diagram instead of code. Once the users approve of the business logic, a developer can convert the flow to Apex, if needed, for performance or scalability.

User experience (UX) designers often create prototypes to elicit user feedback about a solution’s visual behavior. While wireframes show how a solution looks, a prototype best demonstrates the user experience. A Salesforce developer can create screen prototypes with Lightning pages in Salesforce. A UX designer can create screen prototypes with tools such as Adobe Experience Design.

Modeling for Completeness and Accuracy

Stakeholders, who have reviewed models, provide meaningful feedback. The development team incorporates the feedback into the solution to better fulfill their needs. A data model review can show missing attributes (fields), relationships, or even entities. A process model review can expose missed steps or incorrect decisions. A UX prototype test gives designers essential guidance for creating an intuitive user experience.

Users provide better feedback from trying a solution prototype. It can give an architect, developer, and business analyst ideas about what’s important to users in the context of a solution.

Models elicit high-quality user feedback to improve the design and development of a solution.

Previous
Previous

Modeling the Requirements Elicitation Process

Next
Next

Design Overview: Fitting a Solution to Requirements