Showing posts with label low-code. Show all posts
Showing posts with label low-code. Show all posts

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.  

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.

Thursday 7 December 2023

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).

Thoughts:

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

Tuesday 21 November 2023

Review of Browser Stacks Low Code Automated test tool

Overview: Low code testing relies heavily on complete UI end-to-end testing.  It needs to be fast, flexible, quick to correct, scale-able, highly configurable and BrowserStack's low code test tool is in beta and definitely on the right path - for me, it needs a few features.  I ran my testing against customised apps created on three platforms:

  1. Mendix low code,
  2. Microsoft's Blazer hosted on Azure Web App, and
  3. Canvas app within Power Platform. 

Tip: I've looked and use BrowserStack for many years and it has moved from being an device emulators infrastructure testing provider to a full ALM testing platform.  The low code Browser stack has a recorder to capture steps.

Where does Low Code fit into Browser Stack:

Image1. Low code automation works well as part of the full BrowserStack Platform or just using the product by itself.

Pros of the Low Code BrowserStack Product:

  • The local recording feature is easy to set up and use
  • Seamless integration with the cloud version running on BrowserStack's infrastructure
  • Logical layout of UI, little to no training required
  • UI validation using the DOM or, more importantly, screenshots using BrowserStack's AI verification (required further review) has the potential to self-heal as in the screen changes, but the validation can be smart enough to understand it is just an updated screen (example a single colour in the page and the position of the name is moved).
  • SDK is available to work with the full BrowserStack platform.
  • Not Low code specific but BrowserStack generally has the new phones included in their offering within days of being release.

Cons:

  • Provide a webhook or allow for a REST client call as a step (I'd want to log directly from the test run into Azure Monitor)
  • More run options, I'm sure it's already on the road map, but the ability to run every hour for continuous monitoring.
  • Refresh tokens on a schedule (allows you to not use MFA such as SMS codes or Authenticator).
  • Make it clear if the run is from the local or the browser, and keep the historical logs for both together.
  • Export results - I could not find this, but it would help compare step performance.
  • I use DevOps, I'm unlikely to take the whole BrowserStack platform unless i need the emulators which is what BrowserStack was originally famous for.

Summary: This is an excellent tool for testing; the low code product was still in beta when I reviewed it.  It is a nice tool and has the potential to disrupt the market.  I feel Playwright is a better point solution and integrates to CI/ALM platforms.

Referenceshttps://www.browserstack.com/low-code-automation/features?utm_source=google&utm_medium=cpc&utm_platform=paidads&utm_content=668760067900&utm_campaign=Search-Brand-EMEA-Navigational&utm_campaigncode=Core+9045914&utm_term=e+browserstack

Other

Image 2. Emulate a Samsung Galaxy phone on Android using the Chrome browser.

Thought: I like BrowserStack's reporting, clean and simple on tests and easy to get the history.

Sunday 29 October 2023

Mendix Overview

Overview:  Mendix is a low code app builder that is a leader in the market.  While I predominately use the Power Platform, I think Mendix can be a good option.  

The ALM has: Version Control: this is intuitive and follows a local checkout version and commit back to a main branch (simple version control) and allows to use branches so comprehensive and flexible.  It is a good idea to check in small and often or you run the risk of large complex competing merges.  I believe it is git but from the Mendix Studio IDE it is seamless.  

Build a local Version using the Mendix Studio Pro, and deploy to the cloud.  There are several options including on-prem. the free version is basic, and has limitations but has proven to be extremely powerful.

Mendix supports sprints, boards, so you can work with User Stories in the Developer Portal for ALM.

An App Package can be stored and it is a good idea to use this as the base for all projects in your company, so basic branding and naming conventions are consistent.

Deployment anywhere such as on-prem. via Kubernetes deployment, as well as the major cloud platforms i.e. AWS, Azure, GCP, Oracle.

Market Place - templates, connectors, components to reuse. 

Domain Modelling is excellent, can chose your database when creating app, modelling is easy and exposing via OpenAPI contract and generating CRUD screens is easy.

Publishing to cloud production versions is very easy and the local version as developing is seen on localhost.

Image 1, High level overview of the logical components making up Mendix.

Pros:

  1. Easy to use.
  2. Basics for Low code are all included such as version control, project management, deployment/publishing.
  3. Build native mobile apps.
  4. Improve business process easily.
  5. Supporting multiple languages is unbelievably simple and easy.

Image 2. Add multiple Languages to your app

Simple exercise: Call an key secured API and display on a Mendix page after watching this 7 minute video on API Calls.

The running example has:

  1. Various pages and forms for showing and persisting database information. 
  2. A REST Call to a 3rd party using OAuth key.  
  3. Publishing a REST API based on a table and an associated entity.
  4. Displays an Azure Chatbot

Me playing around with a Mendix App:

1. Get a REST endpoint and verify using postman (using a key for secure access)

Image3. Postman showing the REST call to be used

2. Create a new "microflow" as shown below:

3. Add a new "Action" of type "REST Call"
4. Add a JSON Structure file


5. Decide which attributes to pull out

6. Create an "Entity" in the Domain model to hold the retrieved data.
7. Map Model to the Import as shown below

...


Mendix Series

1.  Overview of Mendix (this post)

2. Mendix - Part 2 - Diving deeper

Monday 2 January 2023

Power Platform Competitors

Overview:  I like Power Platform, but there are other options out there.  Most products that are competitors cover a piece of what the Power Platform covers.

Mendix: A friend has used Mendix and they were not a fan.  I have played around and I like the product.  I certainly haven't found it's limitations but it feels straight forward and logical.  Easy to learn. 

Cons: 

  1. The publishing is very slow
  2. Free version you have to use Mendix subdomain.  Basic plan is $50/month, for my small demo, it a high price,


Outsystems:

Airtable:  Has lots of templates and easily connects to various data sources.  Easy to extend or build apps on the platform. Provides storage and low code apps.  It's like having Dataverse and Power Apps.  There are pre-built templates to get the team off to a start.

Nintex: Bought K2 and have a long history in workflows (workflows for SharePoint and O365), screen/form generation and form building.  If your company uses Nintex then worthwhile but I wouldn't use it for new projects or if the team does not have significant experience.

UiPath: RPA tool. A strong tool for automation, from a desktop automation and recording piece I feel UiPath is ahead of Power Automate Desktop (PAD).  Both UiPath and Power automate allow for attended and unattended runs.  PAD is part of Power Automation Premium or Power Automate Process licences. Automation Anywhere, and Blue Prism are other big players in the RPA space.

Postman Workflows: Bit of a dark horse but people love postman and i think this may become a interesting option for Rapid development.

Amazon:  AWS has various services that allow for Low Code solutions.  "Amazon Honeycode" is kind of like Model driven & Canvas apps, that can call Lambda's.  Lamda's are the same service as Azure Functions on AWS.  AWS Honeycode has predifined templates as staring points so I feel it is more like Salesforce's low code approach. This allows the developer to break out an write complex logic or persist the database in S3 storage.  "Amazon QuickSight" works like Power BI for reporting on solution data.

Salesforce Lightening: Allows for building custom apps and utilising Salesforce CRM and it's data. 

Retool: Good set of connectors to API's.


Appian: 

OutSystems: