Photo by Andrea Piacquadio from Pexels
When it comes to design, there are different ways that can be done. The purpose of design is to make sure the solution you are designing will be acceptable by users. Design has so many different perspectives, I personally think they have the following parts:
- Solution Design
- UI Design
- User Experience Design
First of all, you do need to understand what you are designing, and what it is for, who it is for. Then based on that, you can proceed with solutions, designs. I personally think, the design ties closely to solutions, solutions also means the front end design, in some solutions you can tell they designed the backend first, then move to front end design. A good solution, in my personal opinion, should have the front and back working together, utilize the middle ware to extract data and show the data to the front in an efficient way. A great database design is when it doesn’t matter how the frontend will be structured, and you will be able to extract data as needed. What kind of nonsense I just said, haha, you might be thinking, everyone knows that. This blogger just managed to point out the obvious without actually saying anything valuable. LOL. Let me get back on track.
Solution Design has different forms, some people like to do diagram flows, some people like to talk through a solution. I took solution design like telling a story, and that’s why in agile, we have “user story”, all of the stories form together became a big solution, while each story is small enough for each team member to pick up and working on them simultaneously, which would make the whole process even more efficient. Then when it comes to demo, you are retelling the whole story to your audience, present the solutions. Now user experience, UI design is one component of it. There are different tools to help visualize the end product. I love using Figma, I started out with Adobe XD, then I get to know about Figma, now I am in love with Figma, Figma allows team members to collaborate together on a design easily for free in an extend, and people can provide feedbacks right on your design, they can comment on the exact spot too. The drawing part of Figma making design a lot easier, especially when you are on a call with others, and need to draw something out on the spot. The beauty of those tools is you can make things interactive, so that when you present them to the end user, they can have a better idea on how everything is pulled together. Before I work on my side projects, I would draw out those flows in Figma, of course when I am lazy, I may just jump directly into code, then revise it while I am developing it. I have paid my price on those though, it is after everything is developed, then realize that the flow of process is not smooth enough, or the overall design is just trash, instead of revising it, I just kept procrastinating it, I know, I am not proud of that. I have to say though those side projects helped me learn a lot of different tools and concepts of all different kind of things. I extremely love it.
Depends on what you are developing, with web, I like to use html single pages to do a quick prove of concept, and have a quick click through to see if everything works well together, and sometimes I use Figma to just for myself. If it is api dev, then it is obvious, Postman!!! You can find the postman post here. Within my Figma, I created couple component, like buttons, table components, so that I can reuse them if I have some other projects going on. You just want to put something quick together. One thing you do want to avoid is to spend too much time on design stage, otherwise you will be in “design solution” phase forever, and by the end of design, maybe 6 months passed, a lot of things you designed needs to get changed, then what you do, you are stuck in design. Sometimes, you do meet people who likes to pay attention to tiny details, and refuse to go into development until those details are finalized, some of those people are use to waterfall method, they want to make sure that they can see the end product, what they look like; if that’s the case, then it is a matter of convince them to get a grasp of methodology, for those people, this is also a great use case to create a quick Figma to show them the idea of the end product. If the group of people you are working with probably don’t know what they really want, so this iteration will go really long. When you meet people who don’t know what they want, it is a good idea to start a list of functions they cannot live without, and start from there, that’s also a nice way to kick start a conversation, and encourage people to talk. I think during discovery, you should be the one that’s listening, and making sure that your client or group you are working with are the ones that’s talking. Maybe when you hear what they want, and in back of your mind you already have an idea on how to resolve that, I wouldn’t share it at that point; 1) depends on your audience, share the information as needed, so that they are not confused in general; 2) try not to disrupt the conversation, you in general want to encourage them talk as much as possible to get more details on what they want. Of course, this is my personal opinion.
Within salesforce, at least when it was in the old classic days, that’s when I just started working in Salesforce platform back in 2016, maybe I wasn’t aware of it, there wasn’t much of design going on. Now with LWC, SFDC introduced a concept of Lighting Design System, it is kinda of like bootstrap design, in the end, this is just a front end design, the meat is still in the middleware, how you feed the data. With Lightning Design System, SFDC (I think they did this) provided this package, Design System Starter Kit, you can make something to present to the end users so that before you start a project, and if someone wants you to do some demo, you can use this as an example, the beauty of this is you can create your own fake data to make the data show as if they are real, providing you the realistic perspective of the process. I created one here, and this took me about 2 hours to finish, including all of the page variances. I made it available through my Heroku app, which will be easily accessible for others. Along with the starter kit, SFDC provided a great Figma package, so that you don’t need to create your own button, fields, etc, and you remain the look and feel from the detail level, here is the package. When I work in Figma for Salesforce related items, I use screenshots and the components from this package provided by Salesforce, line them up based on layers. That saves time on my end, if your team has a dedicated designer, they can spend more time and making sure to use Figma in a right way.
For each project I am on, I treat it as if I am making a product, so that’s why all of the methods I mentioned above are like that. I think product design and solution design share a lot of similarities. As a product manager, you need to understand the needs from your end users; this is the discovery part as an SA in Salesforce. Product can be released in different phases, same as when you are an SA in Salesforce, some of the deliverables cannot be finished within phase 1, maybe because of timelines or budget or resources or function priorities, some of the functionalities of a product will need to be pushed to later releases, we are not in a perfect world, you just cannot always get what you want. Then is the people, in both work cases, you will need to know how to work with different people, be like water, be flexible. :)
That’s what I learned by far from my job, this is a quick summary for what I learned by far. There are so much more to learn!
Happy Learning!
