Question: I have a need to explain MVC to non-programmers. Namely, to managers of other departments, in the context of progress report. One of the things I do is refactor our codebase towards MVC separation.

What is MVC separation they might ask?
Why is it needed they might ask?

After reading a fairly technical answer like this: [What is MVC, really?](https://softwareengineering.stackexchange.com/questions/127624/what-is-mvc-really), I am not entirely satisfied, since I will be talking to non-programmers. They may nod their heads but they probably will not understand what it is and why it is needed. 

In reality, I don't fully grasp what MVC is other than "separation of concerns, duties, functions, classes, blocks, tasks, things, in order to improve flexibility of making changes to the software". Separating database from view and view from business logic using techniques like DI and OO tools and techniques is something I consider to be MVC separation.

So next time you are explaining MVC to a non-programmer who has background in sales and accounting for example, what would you tell them?

Answer: 
You don't explain MVC.

What you do is explain that this is a restructuring of the codebase.

A restructuring that simplifies the codebase and therefore enables the developers to make faster and better changes to bug reports and feature requests, with less bugs.

They don't need to know the technical details, just why it was done, what was achieved by doing it and how the business benefits.

In other words - speak their language to them.
* Model - Wires/electricity
* View - Light Fixture
* Controller - Light Switch

Relatively easy to switch out components (light fixture, light switch/dimmer). Maybe not so much the wiring, but still can be done without effecting other components. Everyone should be able to visualize that in thier head, even marketing/sales types. (Clear separation, etc.)

Now tell your boss/co-workers that in our application/system the switch is embedded inside the light fixture and the light fixture is wrapped around in copper wire. Now imagine trying update the light fixture, switch, or wire. Very costly, impact to other components very high and perhaps dangerous to do without breaking something else. 

MVC is applying a pattern to the code base which turns the jumbled (but working) mess into something where changes can happen faster and easier with less errors.