In every D365 CE and Power Platform project, one question eventually sparks debate:
“Should we use managed or unmanaged solutions?”
It seems simple on the surface. After all:
- unmanaged solutions = easy to develop
- managed
solutions = controlled for production
But in enterprise projects, this decision becomes a major
risk factor—if approached casually.
The Unmanaged Comfort Zone
Many teams start with unmanaged solutions everywhere.
Why? Because:
- Developers like the flexibility
- It’s easier to experiment
- No deployment headaches
- Instant
changes in Dev/UAT
At first, it works beautifully.
Then you move to production.
And suddenly:
- edits happen directly in Prod
- deployments overwrite each other
- dependency errors appear
- hotfixes bypass pipelines
- rollback
becomes nearly impossible
Unmanaged is comfortable—but invisible debt builds silently.
The Managed Misconception
Teams think managed solutions are “too restrictive” for Dev.
They fear:
- losing flexibility
- slow iteration
- complex
rollback
But here’s the truth:
- Managed solutions provide layered control
- They allow clean upgrades
- They prevent accidental changes in Prod
- They
enable versioned releases
Enterprise systems are not about comfort. They are about predictable
behavior at scale.
The Most Common Enterprise Trap
The trap is mixing unmanaged and managed solutions
incorrectly.
Typical scenario:
- Core entities and processes in managed solution
- Extensions and integrations in unmanaged solutions
- Hotfixes
applied directly in Prod
The result:
- Dependency hell
- Upgrade failures
- Solution layering problems
- Lost
governance
This happens because unmanaged and managed solutions behave
differently in layering and ownership.
Architect’s Recommended Strategy
A robust enterprise solution uses both but
purposefully.
1. Development (Dev)
- Use unmanaged solutions
- Iterate freely
- Experiment
without restrictions
2. UAT / Test
- Use managed solutions for stability
- Validate deployments
- Control
versions
3. Production
- Only managed solutions
- Layered properly
- Hotfixes via managed patch solutions
- No
direct edits in Prod
This creates:
- controlled deployments
- predictable upgrades
- rollback capability
- auditability
Hot Tips for Managed Solutions
- Patch vs Full Version: Use patch versions
for minor updates; full version for major changes.
- Layering Discipline: Never mix unmanaged
extensions on top of managed core in Prod.
- Documentation: Always document which
solution owns which component.
- Dependency
Awareness: Know what flows, plugins, and tables are included in each
solution.
Lessons Learned
1. Unmanaged in production is a ticking time bomb
You may not notice problems initially—but upgrades will fail
eventually.
2. Managed solutions require discipline, not fear
They make enterprise delivery predictable.
3. Mixing unmanaged and managed without rules destroys
ALM
Layering rules are not optional—they are architecture.
The Takeaway
Managed vs unmanaged is more than a technical choice.
It is a governance and architecture decision.
In enterprise D365 CE and Power Platform projects:
- Dev = unmanaged for agility
- Prod = managed for stability
- Layers,
patches, and ownership = mandatory discipline
Ignoring this creates invisible debt that surfaces only
during upgrades or cross-team deployments.
A good architect never asks:
“Should we use managed or unmanaged?”
They ask:
“How do we enforce solution discipline so the system
survives 5 years of growth?”
Comments
Post a Comment