adpa-enterprise-framework-automation
Version:
Modular, standards-compliant Node.js/TypeScript automation framework for enterprise requirements, project, and data management. Provides CLI and API for BABOK v3, PMBOK 7th Edition, and DMBOK 2.0 (in progress). Production-ready Express.js API with TypeSpe
140 lines • 4.44 kB
TypeScript
/**
* Adaptive Scope Control Service
* Implements intelligent scope monitoring and control mechanisms following PMBOK standards
*
* @class AdaptiveScopeControlService
* @description Provides adaptive scope control with real-time monitoring, scope creep detection,
* and automated control mechanisms aligned with PMBOK 7th Edition standards
*
* @version 1.0.0
* @since 3.2.0
*/
import { EventEmitter } from 'events';
import { IProject } from '../models/Project.js';
export interface ScopeChange {
id: string;
projectId: string;
changeType: 'addition' | 'reduction' | 'modification' | 'clarification';
description: string;
requestedBy: string;
requestDate: Date;
impact: ScopeImpact;
status: 'pending' | 'approved' | 'rejected' | 'implemented';
approvedBy?: string;
approvalDate?: Date;
implementationDate?: Date;
riskLevel: 'low' | 'medium' | 'high' | 'critical';
pmbokCompliance: boolean;
}
export interface ScopeImpact {
scheduleImpact: {
days: number;
percentage: number;
criticalPath: boolean;
};
costImpact: {
amount: number;
percentage: number;
budgetCategory: string;
};
resourceImpact: {
additionalResources: string[];
skillsRequired: string[];
availabilityImpact: boolean;
};
qualityImpact: {
riskToQuality: boolean;
testingImpact: boolean;
acceptanceCriteriaChanges: boolean;
};
stakeholderImpact: {
affectedStakeholders: string[];
communicationRequired: boolean;
approvalRequired: boolean;
};
}
export interface ScopeMetrics {
totalChanges: number;
approvedChanges: number;
rejectedChanges: number;
pendingChanges: number;
scopeCreepIndex: number;
changeVelocity: number;
impactScore: number;
pmbokComplianceScore: number;
riskScore: number;
}
export interface AdaptiveControlSettings {
autoApprovalThreshold: number;
escalationThreshold: number;
scopeCreepThreshold: number;
monitoringFrequency: number;
stakeholderNotificationEnabled: boolean;
pmbokValidationEnabled: boolean;
predictiveAnalyticsEnabled: boolean;
}
export interface ScopeAlert {
id: string;
projectId: string;
alertType: 'scope_creep' | 'threshold_breach' | 'compliance_violation' | 'risk_escalation';
severity: 'info' | 'warning' | 'critical';
message: string;
timestamp: Date;
actionRequired: boolean;
recommendedActions: string[];
}
export declare class AdaptiveScopeControlService extends EventEmitter {
private pmbokValidator;
private monitoringIntervals;
private scopeChanges;
private projectSettings;
constructor();
/**
* Initialize monitoring for a project
*/
initializeProjectMonitoring(project: IProject, settings?: Partial<AdaptiveControlSettings>): Promise<void>;
/**
* Submit a scope change request
*/
submitScopeChange(change: Omit<ScopeChange, 'id' | 'status' | 'riskLevel' | 'pmbokCompliance'>): Promise<ScopeChange>;
/**
* Approve a scope change
*/
approveScopeChange(changeId: string, approvedBy: string): Promise<ScopeChange>;
/**
* Detect scope creep using adaptive algorithms
*/
detectScopeCreep(projectId: string, newChange?: ScopeChange): Promise<boolean>;
/**
* Get comprehensive scope metrics for a project
*/
getScopeMetrics(projectId: string): Promise<ScopeMetrics>;
/**
* Get scope alerts for a project
*/
getScopeAlerts(projectId: string): Promise<ScopeAlert[]>;
/**
* Stop monitoring for a project
*/
stopProjectMonitoring(projectId: string): void;
private initializeDefaultSettings;
private mergeSettings;
private startMonitoring;
private performPeriodicCheck;
private performInitialComplianceCheck;
private assessRiskLevel;
private validatePMBOKCompliance;
private shouldAutoApprove;
private calculateChangeImpactScore;
private autoApproveChange;
private findScopeChange;
private updateProjectComplianceScore;
private generateImplementationPlan;
private calculateScopeMetrics;
private calculateAdaptiveThreshold;
private analyzeChangePatterns;
private handleScopeCreepDetection;
private generateChangeId;
private generateAlertId;
}
//# sourceMappingURL=AdaptiveScopeControlService.d.ts.map