Elevate Your Power Platform Projects to Professional Development Standards

Best Practices Power Apps Requirements Engineering Development Governance Power Platform Software Engineering

When it comes to Power Platform app development, every company or organisation should have a process that defines guidelines and standards as well as a common understanding of “how” to build apps – whether for a “lone” developer or a development team! When we look at software development scenarios in the context of pro-code projects, this is an undisputed requirement – and at the same time it is crucial that each member of the development team commits to adhering to the defined standards and the associated processes. Why is this important? Because developing powerful and great software is always a team effort 😃.

Developing Power Platform Solutions in a Professional Context

Talking about developing Power Platform solutions in a professional context – for example as a developer in your company’s development team or as a consultant in a team working for your customers. In my opinion, pro-code software development scenarios should ALWAYS serve as “lighthouses” for any development processes on the Power Platform. Although the tools and the skills of the developers (may – but do not necessarily have to 😃) differ, the basic process to build a solution is absolutely the same (Note: depending on the underlying development methodology that a company follows, the following terms my differ slightly):

⓵ (Requirements) analysis → ⓶ specification →  ⓷ design & architecture → ⓸ implementation / development (& documentation) → ⓹ deployment (& release) → ⓺ maintenance

(Professional) Standards and Guidelines are Key

In my opinion, there is no reason why the steps in the process above should not be followed in the context of Power Platform development — on the contrary! All the standards and elements that exist in pro-code software development processes (such as development guidelines and contracts, development standards, coding standards, testing processes, manifestos, etc.) for professional software developers should also be elaborated for Low Code Developers, Power Platform Makers and / or Citizen Developers. You just have to adapt them to a standardised Power Platform app development process.

With this in mind, you should NEVER start a new app project — not even a personal one! — without having any dedicated guidelines, standards and processes in place.

Adapting Development Standards for Power Platform Projects

While another topic article focusses on the very first steps of a project by describing why requirements engineering in Power Apps (see Requirements in Power Platform solutions) is (still) very important, let’s now take the focus on the development and deployment parts of a Power Platform project.

In my opinion, depending on the size of the solution / app, all (common) development standards and guidelines should probably remain the same. But the process can be more or less extensive and should therefore be adopted accordingly, e.g. by using a “development standards package” tailored to following scopes:

  • Personal solutions: All common standards and guidelines, aligned with a simple development process; followed by a single developer (which is also the app user)
  • Team solutions: All common standards and guidelines, aligned with a development and simple testing process; followed by a single developer in a team that will use the app
  • Company-wide solutions: All common standards and guidelines, aligned with a development, testing, and deployment process; followed by a development team that will create the solution / app to be used by a larger group of users or the whole company

Regardless of the scope of the solution or app – there should always be corresponding “development standard packages” that will be used by every developer and development team.

Again: Standards and Guidelines

Let’s take another short detour to the “lighthouse”, the pro-code (or professional software development) context. In any pro-code scenario, these elements are critical to successful software development:

  1. Application lifecycle management (ALM)
  2. Quality Assurance (QA)
  3. Continuous Integration/Deployment (CI/CD)

To bring it “down to earth” now – these three exemplary standards refine the three elements above:

  1. ALM: Generator workflows to kickstart new projects, scaffolding your project along a standardized (folder) structure
    👉 Use a scaffolding engine (and wait for another article to come 😃)!
  2. QA: Testing frameworks to automatically process unit tests (development driven) and end-to-end testing (requirements driven)
    👉 Use Power Apps Test Studio
  3. CI/CD: Pipelines to automate a standardized test and build process as well as deploy the tested app as a new release
    👉 Use Azure DevOps

To conclude: talking about professional app development in Power Platform scenarios, at least these three standards have to be implemented in every company-owned Power Platform development governance.

#BishopTells