Wednesday, 6 March 2024

Low code CoE thoughts

Key areas to address for a Low Code CoE:

  1. Portfolio of Products
  2. People/Skills/Experts
  3. Process/ALM
  4. Platform/Governance/Cleanup/Architecture/NFR's (scalability, SLAs)
  5. Promotion/delivery/training

Consider putting the project through a Business case validation, particularly for larger projects.  The business case is how your business visualises and communicates a proposed project, which should continuously be refined.  Points to cover:

  1. Business Case (Idea)
  2. Customer Segment >
  3. Value Proposition (what do they get) > 
  4. Channels (API, website, AI Services, .. ) Customer Achievement (get and retain) >
  5. Revenue (how to make money)
  6. Key Resources (patches, maintenance) covers technology and data.  What tech, people need to build and continue delivering.  Data: where does it come from, quality, restrictions, relevancy.
  7. Partners (dependency e.g. AWS, Azure, Mendix, OutSystems, UiPath, Microsoft, and backup options)
  8. Cost breakdown
CoE needs to clearly understand its boundaries and responsibilities.  


I am a big fan of Total Ownership, clear requirements and goals, using RACI, and stand-ups. For the rest, I try to be agile and malleable. Big projects require more oversight and planning, so I allow teams to change and focus on delivery.  

Sunday, 11 February 2024

Basics to setting up an AI Transformation Program - High level

Overview: Many large organisations have begun their Artificial Intelligence (AI) journeys, but some have taken unusual directions, while others are adopting a wait-and-see approach.  As a general rule, I believe most organisations should attempt to identify the most important use cases for AI and, using a basic scoring system, prioritise the easy, high-value use cases first. 

A good option is to hire an AI-focused team to implement the AI program within your business.  Hire people from the company, as they possess key domain knowledge, and pair them with IT experts, preferably those with strong AI skills.  

Tip: All Digital Transformation Projects must cover People, Process and Technology in that order of importance.

Thought: The two biggest mistakes I have observed as of July 2025 in clients are a lack of clearly defined benefits of AI projects and poor-quality, insecure data.

1. AI Idea Generation: Collate a detailed list of possible ideas.  I like to use SharePoint, it's a good idea to open ideas up to the business or make gamification of idea generation to get a good set of ideas.  You'll get lots of overlap, distil it into unique ideas, and bring the team/stakeholders together.

Figure 1. AI idea filter funnel
2. Business Impact: How does this help our customers or generate revenue, or does this improve our operations?  Can this be quantified?

3. Technological Feasibility: Can technology meet the requirement, and at what cost?  A high-level technical design is strongly recommended, as illustrated in Figure 2 below.

4. Implement: If the idea holds up to Business impact, and is possible, select the highest value to lowest effort ideas.  It is a good idea to start with the simpler ideas to get the ball rolling.

Figure 2. HLD example

Note:  This post is looking at building AI to improve your business. AI also affects all internal staff, so train them.  Allow them to use AI tools like ChatGPT, and train them not to expose internal proprietary information.  Give your users the correct tools to be the most effective.

AI Digitalisation Transformation Checklist:

  1. Data Governance Framework: Do you know what data you have, can you access it, and is it secure?
  2. Enterprise Data Model: Define the rules for quality and integration between the EDM areas (these may be functional or geographic), ensuring we share data and make it available.
  3. Master Data Management: Ensure the data and applications are working off the same sheet of music.  
  4. AI Framework: What are the limitations on what you can do within business governance? How will you identify projects and prioritise them? How do you ensure alignment with the tools?  AI is expensive; don't just start picking our individual solutions.  I'd also call this 'measure twice, cut once.'
  5. Don't eat the whole Elephant: Pick small projects to start with, clearly defined goals that show the wins from AI.
  6. One Process: When the AI solution/project is built, will you still use the old way? It's expensive to create, document, and support multiple processes over the lifetime of solutions that have duplicate steps to accomplish the same task. Make your process simple and the preferred or only approach.
  7. People: Have they checked the process? Is it optimised and not merely converted from the old paper process to digital?  Have you engaged key stakeholders and experts?  We should have asked if this is the best process, but also verified it with non-technical stakeholders.
  8. Cost Optimisation and Value Realisation: AI-based transformations like Software development or engineering projects are about whole-life cost and value, ensure you are not just looking at building something.
  9. Measurements and KPI's: How do we measure value? Are you monitoring usage and costs? They tend to be the easier measurements.  Security is also essential to measure, as well as what constitutes success.  Many benefits are intangible, so list them out. Can a value be guesstimated for intangibles?
I'm sure there are plenty more items, but this would be a good check to run repeatedly.

Wednesday, 31 January 2024

Low code ROI/TCO and observability - Monitoring Low code Platforms

Overview: With Low code gaining tremendous traction, the rate at which apps are being built is increasing quickly.   More citizens can build and pro developers can build more.

Governance helps maintain the quality of the apps and their code, but as an app needs to be updated, it becomes significantly expensive to maintain and update the low code solutions.  The P-F curve has been around for awhile for regular assets (I first saw this 20 years ago with Mining equipment in Southern Africa, Machine maintenance on the mines help significantly reduce the cost of the assets/equipment and reduce catastrophic outages, anyway I've digressed...).  

Microsoft Low Code/Power Platform:
All low-code platforms have the same issues, governance improves the situation but it does not address the P-F interval, and monitoring comes into play.  Microsoft's Canvas Apps has the ability to ship logs to Azure Monitor (App Insights) and there are internal analytics available on the platform.  These are great and should be implemented.  Now most enterprises have multiple environments and tenants in Power Platform, ALM is used to improve the quality of the application being  released.
Canvas apps has an internal testing tool called Test Studio which is fairly limited and yet still underused.  Tests can be recorded, on deployment releases the recorded rules can be run and reported on in ADO or any CI/CD pipeline.  

You can also make web calls from CI/CD or a dedicated service to continually run advanced availability tests, you should do this.  It ensure we pick up when part or all of the process changes.  And you can setup alerts and respond.

Tools:
You can also log to SIEM (enterprise logging tools) and use this for Monitoring.  For instance, you can ship you App Insights/Log Analytics/Azure Monitor logs to Dynatrace so it is part of your overall monitoring and response strategy.

You can continuously monitor API using CI/CD tools like ADO but I prefer to use Postman's Enterprise Infrastructure service (it's awesome).  Similarity, I am a full convert to Microsoft Playwright (I was a Selenium and Cypress fan, not i'm only Playwright).

Grafana, Power BI, Azure Dashboards all have different pros and cones for monitoring.  There is also some great AI stuff coming out at the moment around UI testing.  Specifically, I've seen Dynatrace, Playwright and BrowserStack use AI to compare screenshots for test validation.

I'll be expanding on automation, continuous testing in this series of posts.  These are my initial thoughts and there is a lot of good results coming out.

Friday, 5 January 2024

Unique solution to reduce licencing costs for Power Apps for Guest users when using SharePoint for storage

I have a fairly unique situation where I have a user base of a company employees using a Canvas App to work with SharePoint list data. This data is used to generate word documents. This 4 minute video provides the overview of the setup i used:





Thursday, 7 December 2023

Upgrading Two web applications and verifying using Playwright - super fast

Overview: A couple of my internal recent projects all clipped together to allow my to upgrade two websites to .NET 8. And verify the upgrade and commit to source control in a regulated controlled manor and it took less than 30 minutes.

I download the latest version of Visual Studio 2022 Enterprise edition and noticed an option to upgrade my .NET projects, so I clicked it. The .NET Upgrade Assistant downloaded and installed upgrade in Visual Studio.  The upgrade is done using a vsix template import: Microsoft.NET.UpgradeAssistant.vsix

I thought I may as well upgrade my two current .NET projects:

1. App Service on Azure running Blazor .NET 6, using TFS for source control and published using my Visual Studio profile.

Once the upgrade was applied took 10 seconds and i chose LTS  .net8, I published.  Code is still not checked in.  I has a quick look and the  app loos to be running correctly in a browser. 

2. Static Web App hosting a Blazor .NET 6 connected to Github and published as a gated checkin using git Actions. Upgrades, and when I checked into the main github branch, the action fired and upgraded the static web app.

Verify Build:

So I had checked both apps where running using the good old open in a browser and look around.  A few days ago I was playing with Playwright and my testing covered validating the App Service website can send email, is running and text is visible, it also checks a Mendix low code website and lastly it looks at the Static Web App to validate it is service pages.  I did this is Visual Studio Code. 

The tests tell me both applications are running, verifies WAG compliance on 1 app and also checks a Mendix website is running.

Summary:  By re-using the test project I could quickly verify the project upgrades and the first project still requires a commit to complete but it is way safer than my direct to production gated checking done on the static web app.


Mendix - Part 2 - Diving deeper (E2E automation testing of Mendix using Playwright)

Mendix Series

1.  Overview of Mendix 

2. Mendix - Part 2 - Diving deeper (this post)

AI with Mendix (current version Mendix 10.5.x):

  1. Logic bot - recommends what you are likely to do, like a copilot as you go along building the app
  2. Performance bot - shows redundancies, recommends performance improvements 
  3. Chatbot in beta

Playwright is a good UI testing tool for Mendix:

For more advanced applications, Playwright is a good testing framework that can help developers know their code is running end-to-end, useful for monitoring applications and behaviour, and also can be used as part of the CI process to validate Mendix end user accessibility as shown in this mp4 (7 minutes - good video).

mp4 walking thru testing a Mendix site, including WCAG accessibility

WCAG accessibility testing in Playwright starts at min 5:25. Build in WCAG testing to your playwright tests> npm install @axe-core/playwright

Thoughts:

Mendix Tip: I needed to change from US format to UK date time format:
The community has the answer: Mendix Forum - Question Details

Mendix Series

1.  Overview of Mendix 

2. Mendix - Part 2 - Diving deeper (this post)

3. Extensibility for Mendix Studio 

4. Building a Mendix Widget for the Mendix marketplace (Convert text to Audio using Azure AI)

5. Mendix Tips & Thoughts



Playwright Series