This article goes into my thought process when designing a Power Platform Solution. This is from my experience and the majority of the time this seems to work out well. If you think I’ve missed something get in touch.
This article assumes that you have already decided to go down the route of creating a Power Platform solution. If this is the case then the first element to understand is:
- Can we use premium features in this solution?
If the answer is no, well then the design of the solution is somewhat simplified as access to dataverse, premium connectors, model driven apps ect… become unattainable. Therefore, this results in solutions typically composing of Canvas Applications and Power Automate Cloud Flows. While these aren’t the only “things” available in a non-premium solution they are by far the most common. For the remainder of this article the assumption will be that premium licencing is available. If you’d like me to do something similar for non-premium solutions then get in touch on twitter (@jackbinnall).
In this article I try to describe the process that I go through when designing a solution
The ingredients that make up a a solution design
When undertaking a design for a Power Platform solution the first task is to break the solution down into bitesize chunks. This provides focus on key areas and can help draw out key areas for a solution.
- Personas
- What are the different user groups that will engage with elements of the solution?
- Are there any significant cross-overs or simplifications that can be made?
- Non-Functionals
- Have non-functionals been defined, if not why?
- Can the Power Platform meet the non-functional requirements for the project?
- Solutions
- Do you require multiple solutions?
- What does solution layering look like?
- Data
- Where is the data for this solution going to be stored?
- Are there any integrations that are required?
- What does this need to integrate into?
- Are there any operational costs that are unforeseen?
- How will the selected data storage scale?
- What is the security functionality like for the data storage facility?
- Is this the final resting place for the data or will it be moved into another location?
- What are the different user groups that will engage with elements of the solution?
- Are there any significant cross-overs or simplifications that can be made?
- Apps
- How many apps are required for this solution?
- What types of apps are required for this solution?
- Tip – My usual choice is to always start with a model driven app and understand why this isn’t a suitable choice. Especially with the release of custom pages, model driven apps are more flexible than ever.
- Automations
- What processes need to be automated?
- What is the best technology for the automation?
- Is that technology in scope or can it be brought into scope?
- How will security be managed for the automations?
- What dependencies exist outside of the project control?
- Integrations into other systems to interact with data
- Pro-Code
- Will pro-devs be required at any point to achieve business outcomes?
- Does using pro-devs increase the complexity beyond that of the support / maintenance of the solution going forward?
- IMO good solution development takes into account solutions running for a long period of time, with this in mind has the maintenance and management of this solution been considered in the design? If you integrate lots of azure service or professional dev and the on-going support team has no experience is it a good solution?
- Security / Licencing
- What security model is required?
- Any security considerations outside of the Power Platform (i.e 3rd Party Tools, SharePoint Online ect…)
- Have each of the identified personas got the appropriate licencing?
- Reporting
- What type of reporting is required?
- Is this a simple report that can be connected to dataverse or is it more complex where a data warehouse would be a better option?
- Does a isolated reporting solution need to be considered to manage snapshotting, integrations from other systems?
- What type of reporting is required?
- Migration
- Is data migration required?
- Can you access the systems where the migration needs to occur from?
- Release Planning
- How do you plan on releasing the application?
- Big bang
- Phased Release
- Parallel running
- How do you plan on releasing the application?
- User Adoption and Change Management
- Communication plans to user community
- Change analysis – how will this change effect users?
- Success Factors
- What defines success for this system?
- What time period should pass from release to offering ROI (ROI is not just the return on development cost)?
Conclusion
In conclusion there are many ways to go about designing a Power Platform solution. It may be that you aren’t best placed to answer the questions above but having forethought about them can offer maximum business value.
While each stage is important, for some solutions they may not be required. What other items do you consider when designing a solution?