Developers use frameworks to save time and avoid frustration. When it comes to communicating with non-technical folks, I’ve found that metaphor is an especially handy framework.
I recently realized I was communicating poorly when I typed this terribly unhelpful explanation to a non-technical colleague:
“The dev server is optimized for making revisions directly, and the live server is configured differently to receive changes made on dev via a deployment process rather than as an easily accessible environment for revision.”
That’s unacceptable — I can’t go around saying things like that in a professional environment! Especially if I want people to understand me.
Luckily, my brain bailed me out by latching on to memories of my visits to a few of Nashville’s art studios and The Frist Center, our premiere art museum.
A dev server is a studio. A live server is a gallery.
Both share certain attributes:
- They’re spaces.
- They have basic utilities like plumbing and electricity.
- They contain works of art.
But they are not the same.
A gallery exists to serve the public, to exhibit and highlight complete works. Their white walls and plain floors draw visitors’ eyes toward the exhibits, and paintings are hung and lit for viewing. Security is tight around the clock, and any changes made to the displays are done once the visitors head home for the day.
The studio is a mess of tools and palettes and sketches and paint. The workspace is optimized for creation and iteration. Within the studio, the artist can shape and revise rapidly, without being distracted by visitors who might be disappointed by an early creative dead-end.
Each has its pros and cons:
- When you need the tools and time to test your ideas, it’s easier to paint a canvas on an easel than one that’s already mounted on a gallery wall.
- When you’re prepared for the public to appreciate your work, it’s easier to keep guests from knocking over a wall than an easel.
By using each space for its intended purpose, you enjoy the benefits of both and avoid the deficiencies of each.
So what now?
If you’re not a developer, thanks for sticking with me so far. I hope this helped explain a bit of the behind-the-scenes work we do to build the web.
If you are a developer, I’d challenge you to make a metaphor of your own.
I’m not always the best at grading my own work (luckily we have an amazing QA and editorial team at Parthenon), but by my own rubric of “did your metaphor explain the importance of pre-processing css without mentioning package management?” I can assert that my art space metaphor is a winner. Try to come up with an explanation that doesn’t involve git either — if you can.
A few more metaphors for the road:
- A dev server is a carpenter’s workshop.
A live server is a dining room.
No one likes sawdust with their soup.
- A dev server is a hangar.
A live server is the sky.
It’s easier to change your tires in a hangar, but the sky is where you go places.
I hope those started your synapses firing.
Have fun making your own, and don’t be afraid to make a fool of yourself by sharing them on twitter!