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
95 lines • 2.72 kB
TypeScript
/**
* Scope Change Model
* Database model for scope change requests and tracking
*
* @description Defines the data structure for scope changes with full
* impact analysis and PMBOK compliance tracking
*
* @version 1.0.0
* @since 3.2.0
*/
import mongoose, { Document } from 'mongoose';
export interface IScopeImpact {
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 IScopeChange extends Document {
_id: string;
projectId: string;
changeType: 'addition' | 'reduction' | 'modification' | 'clarification';
description: string;
requestedBy: string;
requestDate: Date;
impact: IScopeImpact;
status: 'pending' | 'approved' | 'rejected' | 'implemented' | 'cancelled';
approvedBy?: string;
approvalDate?: Date;
implementationDate?: Date;
riskLevel: 'low' | 'medium' | 'high' | 'critical';
pmbokCompliance: boolean;
priority: 'low' | 'medium' | 'high' | 'urgent';
estimatedEffort?: number;
actualEffort?: number;
businessJustification?: string;
alternativesConsidered?: string[];
rollbackPlan?: string;
approvalWorkflow?: {
level1Approver?: string;
level1ApprovalDate?: Date;
level2Approver?: string;
level2ApprovalDate?: Date;
finalApprover?: string;
finalApprovalDate?: Date;
};
implementationPlan?: {
steps: string[];
assignedTo?: string;
estimatedDuration?: number;
dependencies?: string[];
milestones?: {
name: string;
targetDate: Date;
completed: boolean;
completedDate?: Date;
}[];
};
impactScore: number;
complexityScore: number;
statusHistory: {
status: string;
changedBy: string;
changedDate: Date;
comments?: string;
}[];
createdAt: Date;
updatedAt: Date;
}
export declare const ScopeChange: mongoose.Model<IScopeChange, {}, {}, {}, mongoose.Document<unknown, {}, IScopeChange, {}, {}> & IScopeChange & Required<{
_id: string;
}> & {
__v: number;
}, any>;
//# sourceMappingURL=ScopeChange.d.ts.map