Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
315 lines
14 KiB
Markdown
315 lines
14 KiB
Markdown
# Asset Management System - Enterprise Roadmap
|
||
## Remediation-First Path to Enterprise Readiness
|
||
|
||
**Document Version**: 1.2
|
||
**Last Updated**: 2025-01-11
|
||
**Current Maturity**: 65% – Early Stage Internal Tool
|
||
**Target Maturity**: 95% – Enterprise-Grade MSP Solution
|
||
|
||
---
|
||
|
||
## Table of Contents
|
||
|
||
1. [Current State Assessment](#current-state-assessment)
|
||
2. [Immediate Remediation Priorities](#immediate-remediation-priorities)
|
||
3. [Strategic Vision](#strategic-vision)
|
||
4. [Phase Overview](#phase-overview)
|
||
5. [Detailed Phase Plans](#detailed-phase-plans)
|
||
1. [Phase 0: Interface Remediation](#phase-0-interface-remediation)
|
||
2. [Phase 1: Foundation & Stability](#phase-1-foundation--stability)
|
||
3. [Phase 2: Basic MSP Capabilities](#phase-2-basic-msp-capabilities)
|
||
4. [Phase 3: Mid-Market Expansion](#phase-3-mid-market-expansion)
|
||
5. [Phase 4: Advanced MSP Controls](#phase-4-advanced-msp-controls)
|
||
6. [Phase 5: Enterprise Experience](#phase-5-enterprise-experience)
|
||
7. [Phase 6: Market Leadership](#phase-6-market-leadership)
|
||
6. [Resource Requirements](#resource-requirements)
|
||
7. [Risk Management](#risk-management)
|
||
8. [Success Metrics](#success-metrics)
|
||
|
||
---
|
||
|
||
## Current State Assessment
|
||
|
||
### What We Have Today ✅
|
||
|
||
**Technical Foundation (Strong)**
|
||
- Solid PostgreSQL database with extension table architecture
|
||
- Comprehensive asset types (workstation, server, network device, mobile, printer)
|
||
- Multi-tenant isolation with RLS policies
|
||
- RESTful API with validation
|
||
- Modern React/Next.js UI shell with RBAC integration
|
||
- Maintenance scheduling system and change history/audit trail
|
||
|
||
**Business Capabilities (Limited)**
|
||
- Manual asset creation and editing
|
||
- Client-specific asset views
|
||
- Basic maintenance tracking and simple status management
|
||
- Export functionality and ticket associations
|
||
|
||
### What We Are Missing ❌
|
||
|
||
**Critical Gaps**
|
||
- No automated UI support for enterprise-scale workflows (search, bulk actions, job visibility)
|
||
- No testing infrastructure
|
||
- No bulk import/export
|
||
- No RMM integration or asset discovery
|
||
- No automated workflows/alerts
|
||
- Limited reporting
|
||
- No license or configuration management
|
||
- No client portal
|
||
|
||
**Market Fit Today**
|
||
- ✅ Small MSPs (1–50 clients): usable with workarounds
|
||
- ⚠️ Mid-Market MSPs (50–200 clients): marginal
|
||
- ❌ Enterprise MSPs (200+ clients): not viable
|
||
|
||
---
|
||
|
||
## Immediate Remediation Priorities
|
||
|
||
Before building additional capabilities, the interface must support enterprise operators. Priority problems and structural fixes:
|
||
|
||
- **Navigation Sprawl** → Introduce hierarchical navigation and asset-scoped action rail.
|
||
- **Dashboard-First Layout** → Replace landing dashboard with high-density workspace grid.
|
||
- **Lack of Command Layer** → Add global utility header with search, tenant selection, notifications, and background job indicator.
|
||
- **Shallow Asset Context** → Implement right-rail drawers/split panes showing lifecycle, tickets, maintenance, and configuration.
|
||
- **Invisible Operations** → Surface job history, progress, and audit context directly in the UI.
|
||
|
||
These remediation steps unlock the efficiency required for subsequent automation, integrations, and governance features.
|
||
|
||
---
|
||
|
||
## Strategic Vision
|
||
|
||
Deliver a unified asset management capability that connects with MSP tooling, automates lifecycle workflows, and exposes actionable insights across the PSA platform. The roadmap focuses on data fidelity, integration-first architecture, low-friction operations, and extensibility via APIs and configuration layers.
|
||
|
||
---
|
||
|
||
## Phase Overview
|
||
|
||
| Phase | Focus | Enterprise Outcomes |
|
||
|-------|-------|---------------------|
|
||
| **Phase 0** | Interface Remediation | Navigable workspace, actionable grid, contextual drawers, visible job center |
|
||
| **Phase 1** | Foundation & Stability | Testing, import pipeline, tech debt reduction |
|
||
| **Phase 2** | Basic MSP Capabilities | Automation engine, reporting, bulk ops |
|
||
| **Phase 3** | Mid-Market Expansion | RMM integration (N-able), workflows, lifecycle automation |
|
||
| **Phase 4** | Advanced MSP Controls | Multi-RMM connectors, configuration & license management |
|
||
| **Phase 5** | Enterprise Experience | Client portal, analytics, compliance tooling |
|
||
| **Phase 6** | Market Leadership | AI-driven optimisation, mobile experiences, advanced integrations |
|
||
|
||
Cumulative timeline remains 18–24 months, with Phase 0 executing immediately to unblock later work.
|
||
|
||
---
|
||
|
||
## Detailed Phase Plans
|
||
|
||
### Phase 0: Interface Remediation
|
||
**Timeline**: Months 0–2 (overlaps with Phase 1 setup)
|
||
**Team**: 1 product designer, 2 frontend engineers, 1 UX researcher
|
||
**Goal**: Deliver enterprise-ready workspace scaffolding.
|
||
|
||
**Objectives**
|
||
1. **Navigation Framework** – Hierarchical nav with asset module action rail; responsive behavior across viewports.
|
||
2. **Workspace Grid** – Server-backed data grid with column management, filters, sorting, pagination, multi-select, inline actions.
|
||
3. **Contextual Detail Drawer** – Right drawer/split-pane exposing lifecycle timeline, related tickets, maintenance, and configuration snapshots.
|
||
4. **Global Utility Header** – Tenant selector, quick create, notifications, background job indicator, command palette entry point.
|
||
5. **Job Visibility Layer** – Job center modal with progress, results, error surfacing, and audit links.
|
||
|
||
**Exit Criteria**
|
||
- New navigation and header live behind feature flag for pilot tenants.
|
||
- Data grid replaces dashboard for internal users with opt-in toggle.
|
||
- Detail drawer available for top asset types with shareable URLs.
|
||
- Job center accessible with live import/automation progress feeds.
|
||
|
||
---
|
||
|
||
### Phase 1: Foundation & Stability
|
||
**Timeline**: Months 1–2 (8 weeks)
|
||
**Team**: 2 engineers, 1 QA
|
||
**Goal**: Create a stable, testable foundation for rapid iteration.
|
||
|
||
**Deliverables**
|
||
- **Testing Infrastructure**
|
||
- Configure Jest/Vitest for server code and React Testing Library for components.
|
||
- Add CI pipelines and coverage reporting (target 40%).
|
||
- Publish testing guidelines and sample suites covering asset CRUD, extension helpers, API controllers, and UI flows.
|
||
- **Asset Import System**
|
||
- CSV/XLSX ingestion with mapping UI, preview, error reporting, duplicate detection (serial, asset tag, MAC, hostname, fuzzy options).
|
||
- Streaming processor handling 10K+ rows with transaction safety and rollback.
|
||
- Pre-built field mappings for RMM exports (N-able device inventory, ConnectWise RMM, Datto RMM) to support one-time bootstrap from existing deployments.
|
||
- Import templates for key asset categories with example data files.
|
||
- Provides foundation for Phase 3 connector framework by establishing standardized asset field pipelines.
|
||
- **Code Quality Improvements**
|
||
- Refactor monolithic files (`assetActions.ts`, `ApiAssetController.ts`) into modular services.
|
||
- Enable TypeScript strict mode; reduce `any` usage; add return types.
|
||
- Optimise DB queries via pagination, caching, improved joins.
|
||
- Generate API documentation (OpenAPI/Swagger) and architecture decision records.
|
||
- **UX Polish & Bug Fixes**
|
||
- Loading/error states, notifications, keyboard shortcuts, responsive fixes.
|
||
- Resolve pagination, sorting, filtering, and warranty calculation bugs.
|
||
- Implement quick filters, bulk select, column visibility toggles, and preference persistence.
|
||
|
||
**Exit Criteria**
|
||
- ≥50 automated tests; ≥40% coverage; CI green on every PR.
|
||
- Import 1,000 assets in <2 minutes with ≥95% duplicate detection accuracy.
|
||
- No file >500 lines post-refactor; TypeScript strict mode enabled.
|
||
- Zero critical bugs and consistent UX patterns in the workspace.
|
||
|
||
---
|
||
|
||
### Phase 2: Basic MSP Capabilities
|
||
**Timeline**: Months 2–4 (8 weeks)
|
||
**Team**: 2 engineers, 1 QA, 1 designer
|
||
**Goal**: Deliver proactive maintenance value and essential reporting.
|
||
|
||
**Deliverables**
|
||
- **Notification & Scheduling Engine**
|
||
- Database-backed notification service with email (SES/SendGrid), optional SMS, and in-app center.
|
||
- Maintenance, warranty, and asset status rules with escalation cadences.
|
||
- Notification preferences per user, digest options, and optional auto-ticket creation.
|
||
- **Reporting System**
|
||
- Report definitions, execution engine, scheduling, exports (PDF/Excel/CSV).
|
||
- Ten standard asset reports (inventory summary, aging, warranty, maintenance compliance, lifecycle, location, status distribution, etc.).
|
||
- UI catalog for selecting parameters, scheduling, and sharing.
|
||
- **Bulk Operations Enhancements**
|
||
- Multi-select queue with rollback, audit logging, and notifications.
|
||
- Templates for mass updates and policy assignments.
|
||
- Progress surfaced through job center introduced in Phase 0.
|
||
|
||
**Exit Criteria**
|
||
- Notifications delivered within 1 hour of trigger with ≥98% delivery rate.
|
||
- Reports schedulable and exportable with audit logging.
|
||
- Bulk operations executed safely with audit trails and user feedback.
|
||
|
||
---
|
||
|
||
### Phase 3: Mid-Market Expansion
|
||
**Timeline**: Months 4–8 (16 weeks)
|
||
**Team**: 3 engineers, 1 QA, 1 designer, 1 product manager
|
||
**Goal**: Integrate with first RMM platform and automate lifecycle workflows.
|
||
|
||
**Deliverables**
|
||
- **Connector Framework Foundations**
|
||
- Shared mapping layer, credential management, job orchestration, error handling.
|
||
- Tenant configuration UI integrated into workspace.
|
||
- Leverage Phase 1 field mapping infrastructure to enable bi-directional sync with RMM platforms.
|
||
- **N-able Integration**
|
||
- API-driven asset discovery sync (hardware, software, telemetry) with delta updates and scheduled reconciliation.
|
||
- Replaces Phase 1 manual CSV exports with real-time data pipelines while maintaining fallback import capability.
|
||
- Alert forwarding into lifecycle policies and ticket workflows.
|
||
- Device health surfacing in detail drawer.
|
||
- **Workflow Automation**
|
||
- Rules engine enhancements for assigning policies, creating tickets, escalating issues.
|
||
- Visual timeline of upcoming lifecycle events per asset.
|
||
|
||
**Exit Criteria**
|
||
- N-able connector live for pilot tenants with error recovery.
|
||
- Automation routes generating measurable time savings (target ≥30% reduction in manual escalations).
|
||
- Connector framework reusable for future adapters.
|
||
|
||
---
|
||
|
||
### Phase 4: Advanced MSP Controls
|
||
**Timeline**: Months 8–12 (16 weeks)
|
||
**Team**: 3 engineers, 1 QA, 1 designer, 1 architect
|
||
**Goal**: Expand governance and configuration capabilities for larger deployments.
|
||
|
||
**Deliverables**
|
||
- **Multi-RMM Coverage**
|
||
- Extend connectors to ConnectWise RMM and Datto RMM with unified schema adapters.
|
||
- Conflict handling when multiple sources manage same asset.
|
||
- **Configuration Management Backbone**
|
||
- Hierarchical relationships (device → component → dependency), baseline templates, drift detection alerts.
|
||
- Snapshot history and rollback within detail drawer.
|
||
- **License & Contract Management**
|
||
- Inventory module linking assets to agreements; renewal thresholds and compliance dashboards.
|
||
|
||
**Exit Criteria**
|
||
- Two additional RMM connectors live with shared framework.
|
||
- Configuration drift alerts operating in pilot environments.
|
||
- License management providing actionable renewal insights.
|
||
|
||
---
|
||
|
||
### Phase 5: Enterprise Experience
|
||
**Timeline**: Months 12–16 (16 weeks)
|
||
**Team**: Cross-functional squad (frontend, backend, QA, designer, PM)
|
||
**Goal**: Deliver client-facing experiences and deep analytics.
|
||
|
||
**Deliverables**
|
||
- **Client Workspace**
|
||
- Tenant-scoped portal with configurable views, secure sharing, and self-service exports.
|
||
- Collaboration features (notes, approvals) aligned with asset detail drawer.
|
||
- **Analytics & Reporting Enhancements**
|
||
- Metrics warehouse fed by asset events, lifecycle actions, and integrations.
|
||
- Pre-built dashboards for utilisation, risk, and operational KPIs.
|
||
- Query API for embedding analytics into other PSA modules.
|
||
- **Compliance Tooling**
|
||
- Policy dashboards, SLA tracking, certification workflows.
|
||
|
||
**Exit Criteria**
|
||
- Client workspace in production with governance controls.
|
||
- Analytics dashboards adopted by success metrics (e.g., ≥60% weekly active tenants).
|
||
- Compliance tooling reducing audit preparation time by ≥25%.
|
||
|
||
---
|
||
|
||
### Phase 6: Market Leadership
|
||
**Timeline**: Months 16–24 (24 weeks)
|
||
**Team**: Platform squad + ML specialists
|
||
**Goal**: Differentiate with intelligent automation and extended ecosystem.
|
||
|
||
**Deliverables**
|
||
- **Predictive Automation**
|
||
- ML models for maintenance optimisation, failure prediction, and asset lifecycle recommendations.
|
||
- Automated remediation playbooks integrated with automation hub.
|
||
- **Mobile & Field Experiences**
|
||
- Technician mobile app/experience for scans, quick updates, offline operations.
|
||
- **Extensibility & SDKs**
|
||
- Plugin interface for custom panels/workflows; public SDK for connectors and automation.
|
||
- Sandbox environment for partner validation.
|
||
|
||
**Exit Criteria**
|
||
- Predictive automation deployed with measurable accuracy improvements.
|
||
- Mobile field tooling adopted by technician cohort.
|
||
- Partner ecosystem onboarded via SDK and sandbox.
|
||
|
||
---
|
||
|
||
## Resource Requirements
|
||
|
||
| Phase | Team Composition | Notes |
|
||
|-------|------------------|-------|
|
||
| Phase 0 | 2 FE, 1 designer, 1 UX researcher | Heavy UX/design investment; feature flags required |
|
||
| Phase 1 | 2 full-stack, 1 QA | Testing and import infrastructure |
|
||
| Phase 2 | 2 backend, 1 FE, 1 QA, 1 designer | Automation + reporting |
|
||
| Phase 3 | 3 backend, 1 FE, 1 QA, 1 PM | Connector framework + N-able |
|
||
| Phase 4 | 3 backend, 1 FE, 1 QA, 1 architect | Multi-RMM, configuration, licensing |
|
||
| Phase 5 | 2 FE, 2 backend, 1 QA, 1 designer, 1 PM | Analytics + client portal |
|
||
| Phase 6 | Platform squad, ML engineer, mobile dev | Advanced automation + extensibility |
|
||
|
||
---
|
||
|
||
## Risk Management
|
||
|
||
| Risk | Impact | Mitigation |
|
||
|------|--------|------------|
|
||
| UI remediation delays block later phases | High | Deliver via feature flags; parallelise backend work where possible |
|
||
| Import pipeline complexity | Medium | MVP first, handle edge cases iteratively |
|
||
| Connector maintenance overhead | Medium | Invest in shared adapter SDK and monitoring early |
|
||
| Analytics adoption slower than expected | Medium | Co-design dashboards with design partners; provide training |
|
||
| ML accuracy insufficient for automation | Medium | Start with rules-based automation; run ML in shadow mode before GA |
|
||
|
||
---
|
||
|
||
## Success Metrics
|
||
|
||
- Workspace adoption: ≥80% weekly active users on new grid post roll-out.
|
||
- Testing coverage: ≥70% by Phase 3 with <1% escaped defects per release.
|
||
- Import throughput: 10K assets imported in <5 minutes with zero data loss.
|
||
- RMM integrations: 3 connectors live with <0.5% sync failure rate.
|
||
- Client portal usage: ≥60% of enterprise tenants active monthly.
|
||
- Automation impact: ≥40% reduction in manual maintenance tasks.
|
||
- Uptime SLA: ≥99.5% once enterprise features launch.
|
||
|