Chapter 10 Β· Concepts

Technical Change Management: Visual Maps

Allow/deny lists, restart types, downtime strategies, and dependency management.

Allow List vs. Deny List

PropertyAllow List (Whitelist)Deny List (Blacklist)
Default behaviorBlock everything not listedAllow everything not listed
What you configureApproved applicationsBlocked applications
Security levelVery high β€” unknown = blockedModerate β€” unknown = allowed
FlexibilityLow β€” every new app needs approvalHigh β€” no action needed for new apps
Common exampleEnterprise application control systemsAntivirus / anti-malware software
Best forHigh-security environments, kiosks, serversGeneral user workstations with varied needs

Restart Types β€” Comparison

⚑

Service Restart

Stop and restart a single service/daemon. Fastest option. Used when only a specific service needs to reload. Example: restarting the print spooler after a driver update.

πŸ”„

Application Restart

Close and relaunch a specific application (not the whole OS). Used when an application update requires the app to re-read its configuration.

πŸ–₯️

OS Reboot

Full operating system restart. Required for kernel-level changes, system DLL updates, or when the installer explicitly requires it. More disruptive β€” planned carefully.

πŸ”Œ

Power Cycle

Physical power off/on. For network devices (switches, firewalls), embedded systems, or when a software restart fails. Most disruptive β€” last resort.

Downtime Minimization Strategies

Off-Hours Maintenance Window
Schedule changes overnight or on weekends when production load is minimal. Standard approach for most environments.
↓ For 24/7 environments
Batched Deployment
Deploy to a subset (e.g., 50 of 400 workstations) first. Verify success. Proceed to remainder. Limits exposure if the first batch fails.
↓ For critical services
Primary/Secondary Failover
Switch users to secondary system β†’ upgrade primary β†’ switch back. Near-zero downtime. Often automated. Allows rollback by pointing users back to secondary.

Dependency Chain Example

A complex change may require multiple systems to be updated in order. Failing to identify dependencies causes incomplete or broken changes.

Goal: Upgrade Firewall Management Software v2 β†’ v3
↓ Dependency discovered
Step 1: Upgrade all physical firewalls to firmware v5.0
The new management software only supports firewall firmware v5.0+. Must be done first.
↓
Step 2: Update management software to v3
Now compatible with the upgraded firewalls. Can proceed.
↓
Step 3: Update policy templates
New software version uses an updated policy format. Templates must be migrated.
Key lesson: A "single" change to firewall management software actually required three coordinated changes across two different system types. Dependencies can span multiple systems and must be identified during planning β€” not discovered mid-window.

Legacy Application Challenges

ChallengeWhy It MattersHow to Handle
No developer supportNo vendor to call when it breaksDocument behavior thoroughly before touching
Undocumented dependenciesYou don't know what it needs until you break itSandbox test with complete environment clone
Old OS requirementsMay require outdated OS version to functionIsolate on dedicated VM; plan migration path
"Don't touch" cultureStaff afraid to document or modify itTreat as a project: document, test, gradually bring into support cycle
Unknown impactChanging something nearby breaks it silentlyMap all dependencies; keep as separate change scope