Figuring out Enterprise Design
The words “enterprise” and “software” were not something I had put together before joining Percolate.
I’ve written this post to share my learnings on what it means to design software for the enterprise. Let’s start with a definition:
“Enterprise software is computer software used to satisfy the needs of an organization rather than individual users.”
By definition, the very idea of enterprise software appears to be at odds with the idea of user-centered design — where we start problem-solving with the people we’re designing for. In my experience, this conflict has been illustrated by enterprise software solutions that are cluttered and hard to use in their efforts to display large amounts of complex data.
With conflict comes opportunity. Modern enterprise software companies like Slack and Intercom have established a competitive advantage through the design methodologies they have introduced to their software development practice, resulting in a great experience for their enterprise customers (executives, administrators) and end users (employees). Both of these things are vital in driving the long-term adoption and success of software.
Figuring out how best to do this has been our goal since we started Percolate in 2011. If you haven’t heard of us before, think of us as an operating system for marketing teams. Companies like MasterCard, Intuit, and Electronic Arts use Percolate to plan, execute, and learn about their marketing efforts.
Here are the tenets of our evolving enterprise-centered design practice:
- Partnerships for Co-Creation
- Workflows > Flows
- Configuration is King
- Backstage Activity
- Phased Testing
- Holistic Education
Partnerships for Co-Creation
Our research was sporadic to begin with. Too often we left it to the last minute, and as a result we didn’t capture a robust understanding of business and user needs. The challenge here was coordinating a broad range of customers.
We’ve taken our efforts up a notch since then. Central to this is the idea of Design Partnerships. This approach invites groups of customers to become engaged around strategic product initiatives. From discussing their ‘jobs to be done’, which helps inform our requirements, to exploring early stage prototypes which inform our solutions. By developing a more considered approach, we’ve created the space and time needed for co-creation, which in turn has created excitement for the products we’re working on.
Workflows > Flows
My early experiences as a web designer taught me to think in ‘flows’. This encouraged me to map out the paths users take through a site to accomplish a task. An example here is how we purchase a book on Amazon. We search for the book, read the blurb and reviews, add it to a shopping cart, and then complete the transaction.
When designing for the enterprise, we’ve had to be mindful of how people accomplish work together. One of the first workflows we built helped organizations review and approve the content their teams were creating. This required us to design a system that requested individuals to participate at different stages of the approval process. This workflow mindset helps us solve problems where multiple people need to take action towards a greater goal.
Configuration is King
Changing color themes and picking the background image of our profile pages are often the standard for how we customize the consumer applications we use. These light customizations create an emotional connection between us and the services.
When designing software for global marketing organizations, we’re asked to consider how our customers can configure the architecture of our product to meet their needs. From the data they want to associate with assets, the permissions they want to give their team members, to the color system they use to visualize categories of activity. Configuration is now a bias our team takes to the products we build, as we know providing this flexibility enables us to satisfy a diverse range of needs.
Before Percolate, I worked at agencies. Through the nature of our short-term client engagements, the approach we took to building digital services was fairly one-dimensional. We responded to a brief with solutions. If we were lucky, they would pick one, and from there, we went on a journey from development, to testing, to production.
The difference with designing enterprise software is the extra dimension of design data available in-house. Across our company there are teams working on making customers successful: our implementation team translate customer objectives to delivery, to our support team, who help users troubleshoot and get the most from our software. Gathering insights from these teams is a key part of a designer’s toolkit. The continuous activity and data generated in-house provides a solid foundation to learn about the companies we are designing for.
Friends working on consumer software have spoken to the A/B testing they’ve experimented with. The basic premise here is to segment users and expose different versions of UI to different user segments. The most successful version of the UI is then released.
We’ve developed an approach to enterprise usability testing that runs across different phases of our product development lifecycle. Depending on the phase, we may present polarizing prototypes during research, or we may give customers access to alpha or beta versions of our product to gather feedback before we make the product generally available. What drives our approach is the need to maintain software that our customers are ready to use day to day. When we do make significant updates to our software, we do so on a quarterly basis to enable our customers to co-ordinate training.
When we start using a new app, we often get onboarded with product education walkthroughs and videos that introduce us to what the software does and how we can benefit. These educational patterns are repeated as an application is updated over time.
Educating enterprise teams on how to use our software builds on these established patterns. There is also a physical element, when our services team first onboard and train teams. On the digital side, continued training occurs though webinar programs where customers are walked through new functionality. We’ve also integrated tools like Zendesk and Intercom to provide a knowledge base and in-app announcements to users. My takeaway is that to support a range of user roles who live in our software day-to-day, we need to provide a diverse set of education touchpoints.
You could argue there is one more tenet of enterprise-centered design that I’m not mentioning here: consumer grade. The continuous growth of personal and mobile computing inspires us to make a product that reaches the standards we have come to expect from consumer software. Today, we use software for virtually everything we do — banking, healthcare, groceries, travel, vacation, car rental, and of course, puppy cams. This proliferation asks the enterprise to invest in software that not only provides the raw functionality they require, but goes further, and makes their employee’s experience of work more enjoyable.
As we evolve our company and product to identify new opportunities to help our customers, the scale and complexity of the enterprise reminds me there is plenty we still need to figure out in our pursuit to shape the future of work. This is a challenge we gladly accept.