How to Approach Designing Enterprise Software
What is Enterprise Software?
Enterprise software is applications whose main user will be a business, rather than an individual user. Enterprise software can be created to be used externally (B2B) or as an internal solution. Some companies will offer both B2B and B2C (business to consumer) software.
An example of this is Google mail, as an individual, you can use Gmail for day to day emailing (B2C), but it also offers a business account type that allows users to set up roles and permissions and manage multiple accounts from within an admin view (B2B).
There are individual and unique challenges that come with working in B2B and Enterprise software in general but there are always things you can do to help yourself out when working on these types of software.
Grappling With Complexity
A major part of working on Enterprise products is complexity. Don’t get me wrong, B2C software can be complex but generally speaking, B2B is where the mammoth complexities lay. An example of this is simply the need to have permissions and roles within a platform. With B2C it’s one user and that user may have different access depending on their subscription, with B2B you have different levels of access from subscriptions but you may also have different levels of permissions for admins and normal users, you may have multiple user types with multiple admin levels and you may even have internally customisable permissions. Permissions and roles can get out of hand very quickly and it’s simply one area to consider when working in Enterprise.
There are a few things you can do here to help yourself including getting to know the data; creating your own diagrams and spreadsheets will help you get to grips with the potentially complex data structures. Working closely with developers (as they will likely have experience implementing these things) will be invaluable when trying to understand new areas. And finally, try not to take on too much at once. There is only so much one person can keep in their head so don’t be too hard on yourself if you don’t know the whole platform inside out even after working on it for months.
Dealing With Legacy Systems
If you find yourself working with a long-standing company you may need to deal with their pre-existing legacy systems. This can throw a spanner in your brilliant ideas. Often these systems are so massive that any change within them is slow at best or non-existent at worst. You will need to find ways of working within and around these systems, the most important thing you can do here is understanding the constraints well so you can design with them in mind, rather than having to go back and adjust your designs after the fact.
Enterprise Is Slow To Change
Unless you have the good fortune of working on a B2B startup you might find that it takes a while to affect change. Enterprise companies are generally risk-averse, keeping the status quo is familiar and safe, change could mean something goes wrong which could affect profits. One thing you can do here is to engage with stakeholders at every level within the organisation. Learn who the people are that make decisions and get them on your side. They will be invaluable at arguing your cases for you and may be the deciding factor in some of your ideas.
Another thing you can do here is to make sure your suggestions and ideas are properly researched and backed up by empirical evidence before suggesting it. An idea can be brushed aside but a suggestion for change backed up by hard data is a lot harder to overlook.
Things That Can Help
Some things you may just have to accept when working within Enterprise software however here is a list of things you can do to help yourself and your team.
You Can’t Please Everyone
It may be the case that you have several different user types on your platform at varying levels of system and technical knowledge. You will have super users who know the product or sector inside out and want to do everything as quickly and efficiently as possible, but you will also have novice users who need a lot of handholding through the product. By designing specifically to meet the needs of one of these user types you may inadvertently alienate the other user type. So remember, you can’t please everyone but you can aim to strike a happy medium.
Ensure Styling Consistency
Working on larger B2B products often means you will work in a squad or team of developers and you might find yourself becoming siloed from the rest of the design team. This can lead to problems with consistency across the platform, this can be compounded by the fact enterprise design teams are often a lot larger than B2C or agency teams and with more designers comes more chances for inconsistencies to creep in. Consistency is one of the most important design rules and it can make or break a product. One thing you can do as a team to help with consistency is to create a design system from which you all work and pull components. You can read more about setting up a design system here.
Establish A Process
A major part of working in enterprise software will be working with a lot of other people. You will have to work with developers, designers, product managers, project managers, sales, QA, customer success and many more. To make your life and the lives of those you work with easier you should try to set up a process around design as early as possible. This should include:
- outlining how people should make product and feature suggestions
- how these suggestions are prioritised and ranked
- how you manage urgent requests and fit these into your design schedule
- how you handoff designs to developers
- how you get feedback on your designs
- how you test your designs
These are many different ways to go about this and many tools you can use during this process. You can read more about tools for collaborating with different types of stakeholders here. Establishing a process will help you manage your workload and help set expectations for others, reducing frustration and (hopefully) stress.
Set Aside Time For Testing
Part of this process should be to ensure you have ample time set aside at the beginning, during and at the end of a project for research and testing. Initial research can help guide your design, testing throughout can hone your design and ensure you’re going in the right direction and testing at the end can help uncover any final issues before it goes live. The earlier you can catch potential issues in your design the more money will be saved as a business. This research can also help uncover areas for additional work or features you may not otherwise have thought of!
Get To Know Your Users
An important part of research and testing is getting to understand your users. If you know their KPI’s, how and when they use the platform, their most performed tasks, their most frustrating tasks, you can design with a much better understanding of how your designs will be used. It’s important to observe people using your product as well as conducting research – simply sitting with them to understand their workday is a great relationship builder and having willing testers is always a great resource to have.
Think Big Picture
This theme ties in a lot of the above points. Being aware of your design and how it affects the rest of the page/flow/product is an important skill and one you may need to practice. A lot of designers are all about the details but working in enterprise software you have to be aware of how what you’re doing may affect other areas of the platform. Before starting into a design, ensure you know of every location your design may be used and also if there are other areas of the product that pull aspects of your design in. How will what you are designing affect these other areas and do you need to include these edge cases in your work?
Designing enterprise software is complex, and often fraught with internal politics and the challenges that come with having so many different stakeholders. But once you have worked in enterprise design, you will find it much easier to work or most other areas of design.
Sympli creates tools for design collaboration, handoff, and version control. For product teams whose work includes highly sensitive intellectual property and data we have built Sympli Enterprise - check it out, if you're looking for advanced security, control, and support.