“UX should be transparent and not opaque”.
Before crafting the user flows of any product certain goals are defined. User goals may include exporting file in a specific format, posting content over web, watching a video on a certain platform etc. There can be multiple goals for a user in a single product too. In our case user could achieve multiple goals. When it comes to a complex data driven software product one has to make sure the user journey is flawless and fluent.
Talking of transparent UX and User Goals. User interface should never come in the way of user and its objective.
Let’s talk about the product I worked on recently.
Developer specific product can have a lot of complex user goals which could result in even more entangled user flows.
To gather requirements one needs to talk to the product owners and the potential users. In my case, since I worked at the same company and product being developed for the developers I had the future users all around me. All I had to do was like talk to them and understand their needs. This introduces another problem on the way. Dev guys start giving you irrelevant input and start taking interest in the design itself, which can have fatal results.
Once the requirements were gathered, wire-framing took place. Personally I recommend paper pencil as the best wire-framing tools of all time. The freedom and flow that you get using paper as a medium is out of this world.
Converting those rough ideas into proper design is the part where you need to be very careful. Best practices include creation of the design conventions and defining some rules and boundaries. From border width to color codes every thing should be defined to sustain throughout the product since consistency is the key.