Define the User Experience
Learning Objectives
After completing this unit, you’ll be able to:
- Explain why it’s important to plan with user experience in mind.
- Explain what the developer experience is.
Plan with User Experience in Mind
Planning a technical design with the right amount of user experience (UX) is a tough balance. You want to build the tool so it’s scalable in the future and easier to maintain throughout its lifecycle. The best plan aims for the right amount of user experience and technical designs for the project.
Understand the User Experience
You should start thinking about the end user long before you enter the design/build phase. In fact, the user experience should be the centerpiece of your planning stage so you can spot potential challenges and frustrations early on. You don’t want to build a new tool only to have a user say, “I couldn't figure out how this works.”
When planning your project, ask yourself these questions.
- What problem are you trying to solve?
- Who is the end user or audience?
- How will they interact with your solution?
While it’s important to address the needs and empathize with the end user early on in the planning phase, you don’t want to overlook the developer experience. Remember that your end users have different needs than you, but your experience matters too.
Don’t Forget About the Developer Experience
You might be wondering, “Developer experience, what’s that? Developers aren’t the end user for the solution. They build the solution.” Developers do build the solution; however, the developer experience covers the level of technical complexity it takes to build the solution. This requires the technical design to include the development, maintenance, and release activities developers will go through.
End user experience is a key part of the longevity of your software. But if you don’t include the developer experience, it could be harder to scale the project design. Designing with both types of user experience requires balance and careful planning.
Thought Exercise
Let’s practice planning with UX in mind by working through a thought exercise. Read through the following questions. As you think through each question, apply the question to each stage of the ALM process. The goal with this thought exercise is to help you discover other factors that are not yet considered. Your answers should help you determine which API resource is the most applicable to your project.
Define the end user experience.
- Who is the end user?
- What will be the primary use case in which the end user will utilize your solution?
- What service level agreements need to be met to enable a good experience?
- What channels will your end user need to access the solution?
Define the developer experience.
- Are there any technical dependencies to other tools?
- What kind of outcomes are you striving for with your solution?
- What are the other Salesforce solutions and systems that are in scope of your project?
- What format is the data in?
- Are you dealing with a client-side or server-side enabled experience?
Your answers help you identify the different user experiences and design the project with them in mind. In the next unit, we explore object relationships, data modeling, and database operations.
Resources