Challenges of Enterprise App Development and How to Overcome Them
When building Enterprise software there are many considerations that need to be addressed by builders, coders, product managers, and designers. The first question which drives enterprise app development is who the end user will be?
Table of Contents
- Challenge #1: Can you clarify and define your business model?
- Challenge #2: How will you support and improve your software over time?
- Challenge #3: What does the future state of your software look like?
- Challenge #4: Who are the people supporting this software today…and tomorrow?
- Bringing It All Together: Build Enterprise apps is about technology and people
The reason this question is important to answer is because understanding the user persona within the Enterprise environment will help drive product decisions pertaining to cost and price.
Challenge #1: Can you clarify and define your business model?
The first challenge that app builders need to solve is how much their software solution will cost and who within the Enterprise will allocate funds to pay for it. Simply put, one must define the business model supporting this software, drilling down on basic principles such as who pays for it and how much. Additionally, business owners should do extensive research to decide if they should charge per user, per concurrent user, or per license. And if you have a salesforce that sells directly to businesses, a discount pricing model on bulk purchases should be thought of as well.
Many enterprise applications struggle to gain adoption because product and development teams are unsure of the business model supporting their software. When building tools for companies, ask yourself:
- What is included with the initial price?
- How much would it cost for on-site service?
- Do you help with deployment or white glove support?
By thinking through these questions, developers can build a matrix that solves the needs of companies. Too often the challenge that arises for developers is that they do not intimately understand the pain points that their corporate clients want solutions for.
Here is my advice: start with the customer and work backwards. You should work vigorously to earn and keep customers’ trust by understanding their pain points and working to solve them. By keeping a customer centric approach, it becomes much easier to prioritize everything else.
Challenge #2: How will you support and improve your software over time?
The second challenge that arises from building enterprise software is understanding how to improve and support the software over time, as many Enterprise contracts are multi-year contracts. While some SaaS tools are month to month, others such as corporate video production or copyright for podcasters are annual commitments. One must fully conceptualize these product and business decisions. For example, is it your policy to offer a full refund if the customer wants to cancel an annual contract? While this is a fantastic value prop to your sales department, it is an accountant’s worst nightmare. What will your SLA be on reported bugs? Will you have an on-call engineer who can resolve issues in real-time, or will your customers have to wait upwards of days to see a resolution.
In any application launch, these questions must be asked and answered to best suit your customer base and business goals. All too often developers struggle pushing and maintaining updates and that can hurt trust in Enterprise app development and procurement.
When building software for companies, you need to think like a leader. That is for the following two reasons:
- Enterprises are complex groups of people and business units and your tools will need to add value to different stakeholders and at different times.
- Enterprise software development is challenging, and a leader can think long term without sacrificing short term results.
Building corporate software will require innovation and invention. The builder will need to be externally aware, look for new ideas from everywhere, and not be limited by a mantra of “not invented here.”
Challenge #3: What does the future state of your software look like?
A large challenge of enterprise app development is ensuring that the deployment is sustained well over time. For instance, what is the error budget you are willing to live with? That is, how much downtime or latency are you willing to accept with your enterprise application? 100% uptime is simply unachievable in most cases – even world class applications such as Slack and Salesforce go down from time to time. Additionally, what level of support will be provided during a rollout? Is the software being rolled out used in any business-critical functions (i.e. risk compliance, supplier management, etc)?
To overcome these challenges, a builder needs to set expectations. The first three areas of challenges were tied to technology and economics – namely, how to build, charge for, and support products. The final challenge that developers of enterprise apps face is how to manage relationships during the sales cycle and beyond. Thus, you need to plan out strategies in advance such as who will train key stakeholders on how to use the product or how will your enterprise software be communicated to internal teams.
Challenge #4: Who are the people supporting this software today…and tomorrow?
Answering these questions can be managed by sales professionals, sales engineers, and deployment specialists. If you are not investing in these internal team members, you should. Many of the challenges of enterprise app development come down to people and processes. If you invest in good people that understand the value prop of your technology, many of the previously mentioned pain points can be avoided.
I once worked on a large Enterprise app rollout with a US financial institution. The firm has over 200,000 internal applications and a dashboard to manage these different pieces of software. I was helping them with a DCIM software solution. I remember this company telling me that the most challenging part of app development at their bank was understanding which person at the bank owned the tool and was responsible for its annual security compliance. In other words, the bank needed help communicating to different team and product leads whenever new compliance standards were required. As people entered and left the firm, or changed teams, the owners of internal apps would change too. This is a hugely important lesson for builders of enterprise apps to recognize. Your software is not just a tool. Rather, is a part of a larger corporate ecosystem. People make up this ecosystem and need to be trained, engaged, educated, certified, and coached through your app in order for your product to sustain its value today…and tomorrow.
Bringing It All Together: Build Enterprise apps is about technology and people
In this article I outlined the technological and human-centric challenges that enterprise app developers need to be aware of and proposed some strategic solutions to overcoming each issue.
To summarize, an app developer will face challenges with the following:
- Defining the business model
- Defining support and software improvements over time
- Thinking about how to make enhancements to the tools to better meet your client’s evolving needs.
- Lastly, thinking through the general education and communication strategy for rolling out technology and how to align your interests with the goals of an organization.
By placing each of these work-flows in the context of human centric design, an enterprise app developer can build better tools and better business models that lead to happier paying clients. One need not enroll in a fancy Ivy League college to learn these lessons. Practical hands-on experience can teach you these facets of development, whether you are learning online or learning new skills while working from home. By tackling the challenges of this space a developer of enterprise technology can give themselves new advantages in the marketplace and use customer centricity to build more useful and encompassing solutions. And that should always be an application developer’s North Star.