Is your software enterprise ready? Here are 8 must-haves before you can start selling to an enterprise customer.
Modern User Interface
Enterprise software has this notorious distinction of being difficult to use and is still stuck in the nineties. Employees are increasingly exposed to consumer-grade software and are demanding similar ease of use from software at work.
Over the years, designer to developer ratio has constantly improved. LinkedIn reports a ratio of 1 designer for every 8 developers; whereas Dropbox has 1 designer for every 6 developers.
Nobody likes remembering yet another username and password. There are several single-sign-on solutions, and which one you choose depends on the type of enterprise you target.
Most enterprises have an active directory to manage users, so the least you can do is integrate with LDAP / Active Directory. More savvy organizations have SAML. Java-based enterprises use JASIG CAS. Finally, more modern organizations use OAuth based solutions.
Enterprise-grade applications require strong audit controls. At a minimum, your software should be able to answer “Who did what and when”. Wherever possible, try to capture the intent behind the action – i.e. why did the user make this change.
A nice to have feature is an excel or CSV dump of all audit events.
Role Based Access Control
Enterprises have complex team structures and require fine-grained access control. Your software must allow them to create roles and control permissions at an individual feature level.
Multiple Deployment Options
Enterprises are slow to adopt the cloud and like to be in control of their data. Your software should work well in an on-premise environment, behind the corporate firewall.
This means that you cannot depend on third-party REST APIs. If you are using AWS S3, you would need an on-premise equivalent service, otherwise, it would be difficult to sell to an enterprise customer.
Docker-based solutions are increasingly gaining in adoption within the enterprise, and are a good solution to supporting both on-premise and cloud models.
Enterprises have dozens of existing applications, and your software application needs to play well with these applications. The key to this is a well-defined API. It should be possible to totally bypass your user interface and work with the application directly via your provided APIs.
Reporting and Analytics
Your application needs to make it simple to create reports and dashboards. There are several off the shelf tools available for business intelligence, so building a user interface isn’t a differentiator. Instead, concentrate on building a data warehouse, so that enterprise customers can plug in any business intelligence tool.
Feature gates allow you to turn on or off features without redeploying. This gives you the ability to roll out features to only certain customers. Enterprise customers don’t want to test out incomplete or buggy features, and feature gates let you turn off the features without resorting to complex branching strategies.