As organizations automate business processes, the conversation of custom app development will inevitably come up. But with so many options, how do you go about making a decision?
Even though no-code and low-code platforms are more popular than ever, they are far from the “be-all-end-all” answer for organizational app development needs.
Skypoint CSG compared citizen developers, low-code developers, and pro-code developers—plus the pros and cons of each approach in this previous post—so be sure to check that out as well. Today we’re digging into our recommendations that will (hopefully!) make your app dev decision-making process run smoothly.
1. Identify the Business Problem
Understand what business problems the app needs to solve. For example, what’s the value of automating or digitizing specific processes? What are the potential risks and common mistakes?
Spend time on the discovery process and get all the business stakeholders on board to identify their pain points. Most importantly, develop a value statement for the app to demonstrate how it might generate income or improve efficiency to rally people around the initiative.
2. Consider Planning and Requirements
Conduct high-level budgeting to understand ongoing costs for each solution. Consider your cloud infrastructure, downstream licenses, and implementation timeline. Include all stakeholders in the conversations and get leadership support to achieve complete alignment.
- Which solution will help you save time and generate more revenue in a specific time frame?
- What resources do you need to meet the requirements?
- What’s the app’s long-term value…and is it worth the investment?
- Do you have the budget available to finish the project?
3. Evaluate the Complexity
Evaluate not only how complex a project is, but also where the complexity lives. For example, an app with an extensive user interface (UI) but relatively simple business rules or backend functionalities is a good candidate for no- or low-code solutions.
For example, you can use a low-code solution to create a prototype during the requirement phase to understand the complexities of the project to inform decision-making.
4. Understand Scalability and Licensing
Understand the cost and complexity of maintenance or downstream enhancements as the application grows.
For example, a low-code solution allows you to quickly scale up and accommodate thousands of users without worrying about infrastructure. But you may have to buy licenses for many users, which will drive up the total cost of ownership.
5. Figure Out Security Requirements
Access control and authentication are major concerns in today’s business environment. You can use various solutions—like Azure Active Directory (AD) for low-code platforms and Google or Facebook for a pro-code approach. Or, you may want to reuse a custom identity platform.
Pro-code typically works better for setting up different access levels, such as nested levels or hierarchical permissions. While low-code platforms may be able to handle some of these requirements, they’re not as efficient or effective as pro-code platforms.
6. Consider Data Source Connections
Low-code platforms offer many data connectors (i.e. SharePoint, Dataverse, Azure SQL, Hubspot, GitHub, Salesforce, Oracle). Some are out-of-the-box, while others are premium features, which could drive up licensing costs. Another option is to use a low-code solution but invest in developing a custom connector to meet your data requirements.
7. Prioritize App Performance Speed
Consider your data source and performance requirements because the nature of the queries you plan to perform may impact your decision. For example, you can’t expect a low-code solution to iterate over a million rows in a couple of seconds or even minutes.
You may use a hybrid solution with a low-code front-end and a pro-code backend to meet performance requirements while leveraging a low-code platform, such as Power Apps, for UIs and workflows.
8. Look at Automated Testing
Traditional developers write scripts to run hundreds of automated tests in seconds, covering every scenario and edge case. Citizen developers test their apps manually and often stay within the “happy path” of the most common use cases.
Low-code platforms are starting to add automated testing, but these new capabilities aren’t as mature as they’re in the pro-code arena. Manual testing is still the norm among low-code solutions, although professional low-coders test closer to edge cases.
9. Think About Rollout and Maintenance
Most citizen developers don’t have enough knowledge in development operations (DevOps) to handle app deployment. However, most professional low-coders have enough background knowledge to support the rollout.
Low-code developers also consider ease of maintenance in their development process, such as adding comments to their code. On the other hand, citizen developers often don’t have the tools or knowledge to do so, leading to maintenance challenges as an app scales.
For some app development inspiration, be sure to read this case study. It shows how the Go Ape team used Power Apps to create a robust patrol app that streamlines and automates ongoing daily tasks while ensuring data integrity for more accurate decision-making.
If you’re still unsure which way to go with app development platforms, the CSG team is here to help you make the right decision. We’ve helped tons of organizations with both low-code and pro-code development, so reach out and we’ll guide you through the process.