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 project thru a Business case validation particularly over a larger projects.  Business case is how your business visualises and communicates a proposed project, 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 & data.  What tech, people needed to build and continue delivering.  Data where does it come from, quality, restrictions, relevancy.
  7. Partners (dependency e.g. AWS, Azure, Mendix, Outsytems, UiPath, Microsoft, and backup options)
  8. Cost breakdown
CoE needs to clearly understand is 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 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 started on their Artificial Intelligence (AI) journeys, many have started in weird directions and some are taking the wait and see approach.  As a general rule, I feel most organisations should try identify the most important use cases for AI and using a basic scoring system take the easy high values use cases first. 

A good option is to get a AI focused team to put the AI program into your business.  Get people seconded as they have key domain knowledge and couple with IT experts pref with strong AI skills.  

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, distill into unique ideas, and get the team/stakeholders together.

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?  High level technical design is strongly advised as show below in figure 2.

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 propitiatory information.  Give your users the correct tools to be the most effective.

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: