Skip to main content

Product Requirements Document

Mission​

We want to integrate Empower platform-related Power BI reports into the UI, providing users with quicker visibility into their Empower system. This includes reports for:

  • Cost Management
  • System Health and Monitoring
  • Custom reports that can be built out FASTER than the UI can be developed

Background​

Developing and integrating UI assets takes a fair amount of time and effort - and Empower users need information about their system via the UI a lot faster than we can deliver it. Thus, it would be much faster to get them this info through creation of an easily scalable PowerBI report with State System info which is also accessible and viewable from the Empower UI.

Targeted Personas​

  • Dario Data Professional: who can use the report to gain insight into data movement/success/failure/load size until we develop a UI that can provide that as well, on an environment by environment basis.
  • Barry BI Director: who can also use the report for similar reasons, if only to report to Sandra CSuite that "all is well"

Current Behavior​

We currently have a very manual deployment process for PowerBI embedded reports. It is neither scalable nor dependable.

StateDB's interface (as an example) does not have any built-in reporting or data visualization features. Users have to export data to external tools for analysis, which is time-consuming and inefficient, if access is even given to do so (it's not!)

Outcomes / Goals​

  1. Embed PowerBI Reports into Empower's user interface.
  2. Provide users with customizable, interactive data visualization and reporting tools.
  3. Improve overall user experience and satisfaction with their data estate by providing them visibility.

This will be completed within a singular release.

User Stories​

Viewing System Health Report​

  • As a data professional, I want to view the status of my data estate by looking at the System Health Report.

Use cases​

Viewing Reports​

  1. Viewing the System Health Report
    1. Primary Actor: Data professional
    2. Description: From the UI, a user can go to the Reports page to view a preconfigured PowerBI report on their current environment's stateDB.
    3. Preconditions: User is authenticated and has access to this environment.
    4. Postconditions: User is able to view a BI report about this environment's StateDB.
    5. Flow:
      1. User navigates to System Reporting tab from the navigation menu.
      2. From the tabs at the top of the page, user selects "System Health"
      3. UI displays the report. User can drill into specific metrics as they wish.
      4. Outcome: User can view the stateDB report from the UI without navigating to the PowerBI Workspace.

Requirements​

Functional​

  • List of functional description of the feature

Non-functional requirements​

  • Easy-deployment. When a new client comes on board, they should immediately and automatically get access to relevant reports.
  • Scalability: in the future we will want to add more than just stateDB reports! Azure Cost, and eventually Bring-Your-Own-BI

Out of Scope​

  • Developing the actual PowerBI reports - we just want to be able to connect them via the UI

Dependencies & Constraints​

  • WHERE (repository, URL, etc.) will these reports 'live'? Service-based approach? or something else?
    • Deployment: Empower Central -> This is a central PBI embed.
  • How to handle access credentials (token) for the report? Expiration date? Refresh?
    • App owns data in the UX?
  • If we do app-owns-data (see PBI docs) what do we need to pass into the PBI model? Will the model be per client env? Per organization?
    • Suggest we focus on simple and put the report on the replica db for v1
  • Passing report information to the frontend via API?
    • No -- direct database access for the report on the database REPLICA (already exists)
  • How to handle reports with Multiple pages?
    • Out of the box.
  • How to handle multiple client versions of the same report in conjunction with discovery service hierarchy - Enterprise Level vs. Org vs. Env.?
    • We will need to embed the report (for state system) per environment. This should be relatively easy for the main state report.
  • What SKU of PBI embedded do we need to start? Easy to change?
  • How do we deploy this report to the PBI embedded service? Do we need to loop through all the customers?

Assumptions​

  • Need the PowerBI reports created
  • Need an existing report to work with to PoC
    • This is not a fully-fledged UX feature, just a quick win to facilitate more visibility on data platform metrics from the Empower UI
  • Reports would be read only from frontend
  • API will be the gatekeeper for Access
  • PowerBI integration libraries using Angular

Risks​

  • Integration challenges due to unforeseen technical limitations.
  • Insufficient user adoption or satisfaction with embedded PowerBI Reports.
  • Potential impact on StateDB's performance and stability.

Timeline and Milestones​

Phase I​

  • Release 1.21
  • Full generalizable functionality to link a PowerBI workspace(s) to your deployment and reports.

Questions?​