Low Code technology like the Power Platform has some cool features, the two biggest being, speed of development and ease of development.
This has lead to a primary use of citizen developers with little IT experience building powerful solutions. But one of the best use cases I have found is IT professionals leveraging it as a tactical solution.
A tactical solution adds value but only over a limited lifespan. They are for problems with solution already planned but in the future, so long/expensive development times don't make sense. Some examples are:
- Integrating 2 systems, one with a end of life planned
- Scaffolding integration (get a solution into prod quicker then replace bits over time)
- Legislature change with hard deadline (Brexit was great example)
- Event based solution (like a marketing event)
And this then gave me an idea.
After seeing a hacking incident bringing down a company in the news I thought how useful the Power Platform would be to bypass the hacked systems, a kind of internal FEMA.
My Power Platform emergency pack has 2 pieces:
- Prebuilt Backups
- Rapid Build Outs
1. Prebuilt Backups
Becuase development time is low and the Power Platform is very stable, it makes sense to build out some automations/applications ready for critical systems.
They don't have to be fully featured, kind of a MVP, and because of the low cost it doesn't matter if they are ever used.
2. Rapid Build Outs
This approach has nothing pre built but a team, infrastructure, and process setup up. When the event happens the development can be spun up rapidly and pushed into production.
Although this approach takes a little longer it has then benefits of lower up front costs and being more adaptive to the issue.
Generally I recommend Prebuilt for a small selection of critical systems, combined with a Rapid Build out for all other systems.
So how do we get our kit setup, well we need to:
- Identify Key Integrations/Systems
- Train Team
- Plan Rapid Development Process
- Pre Build Out Redundancy for Key Systems
- Setup Maintenance Schedule
- Spin Down Process
Identify Key Integrations/Systems
Most business have a catalogue of all systems they use and their support level (if you don't you should). The Service Level is a good place to start, if its got a high level (quick response time), then this is a key indicator it is busines critical.
Next you need to map out where the pain points would be if the system failed and how to build redundancies. The solution should not be a full like for like replacement, more a collection of small automations and apps. The requirements are targeted at maintian basic operations and nothing more.
Train Team
As I said the beauty of the Power Platform is that anyone can build on it, and thats great because the business experts are often not IT trained. But in this case they are, but just on a different tech, but the learning curve is still there and so is the expertise. So for each system that needs prebuilt the dev team needs to be trained. The team can then build out the solution ready, at this point the product team could (and should) leveage the new expertise and use the Power Platform for other opportunities, but worst case its only a small investment in training and build.
Plan Rapid Development Process
If the Prebuilt is the targeted support, the Rapid Development Process is the broadnet (so ideally should be done before targeted Prebuild).
If you walk through the lifecycle process you will identify bottle necks and non value added time. These are often there for a good reason, like efficiency, but we need to bypass/prepare as much as we can so that we can deliver even quicker (often in my experience the ALM process takes longer then Low Code development).
Things to consider:
Setup Environments
Have environments ready, access and roles setup and allocated. Ensure DLP is more flexible/open for potential needs. Have SPN's setup with any required access.
Robust Documentation
Make sure every system has not only upto date documentation, but also accessible, readable, and consitent. The following will cause untold issues:
- Out of date information
- Teams doing it their own way so others cant understand
- Other teams unable to find/access the information
Technology
The Power Platform covers multiple technologies, and knowing which one is right for which situation is key.
- External Interactions (Customers, Vendors, Partners) - Power Pages
- Internal Interactions (Support, HR, Payroll) - Canvas Power Apps
- Data Managemnt (Data Entry, Opertations, Logistics) - Model Driven Power Apps
- Integrations (Sales Data to Custome Service) - Power Automate Flows
- Data Modelling/Transformation (Hand processed data in Excel) - Power Automate Flows and Office Scripts
Templating
Have everything pre complete and ready that can cover change requests, access requests (although would be nice to give access in advanced, that is not good from a security side, always think Polp đ), UAT scripts, go live approvals, etc.
Agree 2 Way Door Steps
Jeff Bezos has some insightful ideas, and one of my favourites is the 2 way door approach.
In a nutshell when decision making if the decision can be rolled back (i.e. its a 2 way door), then do it, as often deciding takes more effort then doing and finding out. This approach should be used in situtions that may not be right in general, but ok in an emergency.
Things like fully completing UAT (I know that is a risky one, but think about it, time is critical and we can always rollback a deployment), change approvals done retrospectively, again if not happy the deployment can be rolled back.
If we did this with everything it would be chaos, and things would go horribly wrong, but when time is critical, its a very limited scope, and resources are prioratised, its the right risk to take.
Teams & Leadership
The team and who makes decisions should be prepared in advanced (even a on call rota is not a bad idea). The team needs to be a combination of the sytems SME's and Power Platform developers (ideally they could be the same person if you upskill you system devs). Architects and security should be included to ensure robust oversight, along with someone from the comms team.
Communications
A communication plan needs setting up for both internal and external of the team.
How the team is going to communicate and where is everything documented should be decided in advance. Having chaotic meetings and one to one calls drives inefficenvy and miscommunication. Have a team site ready is the easiest, with channels per system.
Likewise we need a smooth communication plan for outside the team, sharing when the back out systems go on line and how to access them if required.
Pre Build Out Redundancy for Key Systems
Flows and Apps for high criticality systems can be built in advanced, they should have more robust requirements and follow a normal delivery process, just without the need to go beyond UAT. These solutions should be ready to go into prod.
Spin Down Process
Just as important to the rapid deployment is a controlled spin down. Havign a process to turn off back out solutions is key to ensure that:
- Uptime is maintained when switching back
- Your environments are organised
- Unnecessary access removed
- Learnings are documented
Setup Maintaince Schedule
Last but not least once everything is setup there needs to be a maintainance/refresh schedule. Period checks that systems have not changed, process been updated, and the team still has the right knowledge.
Ideally you would setup a 'push' process for any updates to be notified, but this is never perfect so a maintainace check should always be planned.
And that's my emergency pack, it will take some effort, but not that much, and trust me if something bad did happen you would wish you had it.
Low Code technologies USP of rapid low cost development enables it to solve a broader range solutions, oftent ones that were dismissed in the past as not possible or viable.
If you would like to get notified every new blog (I also do a few in the Power Platform Community), subscribe below
Top comments (0)