Kickstarting AI: The Essential Blend of Pro-Code and Low-Code
You may think my title is incorrect, that no one should WANT to use AI, but rather people should seek AI to solve real-world problems. I agree. But when do you get to know the tech and the problems it may solve? Where do you start if you do not know anything about low-code solutions? It's not just GitHub Copilot - AI is much more democratized than that, through other Microsoft Copilots.
So, here's where we begin: Start engaging with your colleagues, you may learn something from them.
Point-of-View (POV) 1: You are a low-code developer who takes pride in your quick apps, automation, and reporting. You are now learning to use Copilot, diligently complete your five prompts per day and are even a little smug that you are getting ahead. Great. Make friends with some pro code Azure devs, DevOps engineers, and cyber security, they've been creating systems from scratch for years. They know how things work, how an address lookup can communicate via an API call, and how to scale things up or down. They have tamed sophisticated methodology to perform testing; they can deploy entire environments and execute data scripts at the click of a button. Come on, you've got to be at least a little bit impressed by that.
Their craft is hard, it requires discipline. Nothing touches an environment higher than DEV without two peer reviewers casting their raw feedback. They could connect user stories to the actual line of code when you were still uploading unmanaged solutions in PROD.
However, it's not just low-code developers who gain from their peers, our pro-code friends have a lot to learn also in how enterprise-ready solutions do not need to be fully bespoke products but can instead be created as complex Power Platform solutions using Dataverse and model-driven apps. Engineered as scalable solutions, as opposed to the recipe for failure we've seen before with overengineered canvas apps on top of SharePoint...
Here are a few first steps to how we get closer to using AI effectively by knowing, using low code and pro coding in combination.
Dataverse
What do we mean when we say "it is a database on steroids"? What does the actual database structure look like? We need to be pretty good at defining a data model, because our apps depend on it, but also because you can't really delete fields. See the notional "Ecosystem Map" architecture below, how our apps rely on Dataverse, the low code data structure, which uses an integration neighborhood to communicate to other systems. Well, this means that we must think beyond the app and into the entire organism that solves your problem. Then, talk to the pro code folk who will create the other data sources, please.
Role Based Access Control (RBAC)
Yes, we have role-based access control (RBAC) for our Power Platform implementations. Love it and learn how it works in conjunction with the other Security tools in the Microsoft Ecosystem (Core Platform Services Neighborhood is here for a reason. I will elaborate on security in a future post).
Testing
Yes, testing, my friends is the link that makes sure we all dance together in perfect harmony and can always add another dancer that isn't our drunk uncle who will spoil the party. Sure, we know how to test features manually and we have methodology that makes sure we do it right. But we need to test 'automagically', reflecting our testing results in centralized areas, and cross our hearts that our apps will truly scale. Learn here.
POV 2: You are a pro code engineer and arrogantly declare you have no use for low code fools, for they should be busying themselves with personal productivity tools. You create enterprise solutions! I hate to break it to you, but low code is quite literally changing the world. Power Platform is being used in some of the biggest implementations on the planet, it impacts millions of people as it holds together government, defense, commercial, humanitarian projects and more! Also, fun fact, it accelerates the use of AI like nothing else.
So, if you work for a company that implements more and more Power Platform, a company who is looking to go into low code, or if you are on a project that needs to be delivered using Power Platform, don't quit your job yet. Not before looking into a few things. Have a few conversations with your Power Platform friends and investigate some of the functionality. Understand that the platform is here to accelerate our work. How easy is it to develop a form, view or a process flow in no code versus having to write it from scratch?
Here are a few things to consider looking at:
Dataverse: How it is structured and how it communicates via APIs. Surely this is your bread and butter and the gateway for you to continue creating amazing things, only faster. Look at the out-of-the box functionality first. Create a data model first that makes sense with the rest of the project. Don't deliver everything using Plugins, and stop complaining that you cannot see the actual database, instead try and understand why that is. Take a read of this excellent blog post on Dataverse which highlights how Microsoft Dataverse can help enterprises manage their data efficiently and securely. By using as much out-of-the-box as possible, you get to use even more of its capabilities with every release from Microsoft, leveraging ongoing improvements instead of manually changing a method where you invariably hardcoded a value....
Automation: Power Platform isn't built for bulk processing, so consultants should stop forcing these processes. It is within your gift to find the best way to filter through, update and migrate large amounts of data, but don't insist that ALL automation should be done in this way. There's huge value from the flexibility of flows, and you can create complex workloads using just that. Have a coffee date with your favorite Power Automate person for them to show you how. Learn here.
Testing and DevOps. I'm merging these as one point because they are the biggest myth/lie IT teams love to talk about. No friends, it is not true that Power Platform has no automation testing or CI/CD capabilities! Take a read here.
Summary
Though coding is an artform, please Don't forget that any line of code you write is a line of code that you must maintain. This becomes a labor-intensive and long road ahead, underpinned by the incredible minds of a small group of people who will forever be called upon to make updates, instead of making administration easier to perform by your broader team. Low code can enable more people to manage your solutions, securely, whilst still complimenting pro code developments and supporting the scale up of your platform.