Imagine this scenario:
You are a person with a job. Your job involves doing technical things on complex IT systems. Part of your work involves using other complex IT systems (e.g. email, job ticketers, wikis, etc.).
Now imagine this:
The complex IT systems you have to use to do your job have the odd bug, or require the occasional enhancement.
I know, it's a radical hypothetical, but it could happen.
And to complete the scenario:
There are teams of people in your organisation with jobs that involve doing technical things on the complex IT systems you have to use to do your job.
Because I can tell this is going to get really wordy if I keep going like this, here are some fictional names which bear no resemblance to any real people or systems:
In an unenlightened corporate environment the WARMTH system would be entirely configured, developed, and managed by the WARMTH team. The WARMTH code, maybe even documentation, would be restricted so that only members of the WARMTH team could access (let alone modify) it. Any bug or enhancement you identify would have to be assigned to the WARMTH team, then the WARMTH team would have to:
That's a lot for the WARMTH team to do.
Enlightenment comes when you realise that – while the WARMTH team members are all "people with jobs that involve doing technical things on complex IT systems" – you, too, are "a person with a job that involves doing technical things on complex IT systems."
Your particular and specific expertise may not be in dealing with the complexities and idiosyncrasies of WARMTH, but as an end user you should have a good idea of how it works (and share the future vision for the service it underpins, but that's another story), and as a technical person you should have a certain generalised ability to identify and resolve simple technical issues (particularly issues of content and configuration, if not code).
In the technical industry we have a pretty well-developed model:
In unenlightened corporate environments all three phases are handled within the team. However in open source communities the first phase can be handled by anyone (team members, invested stakeholders, or random altruists) – reducing some of the development burden on the team.
An enlightened corporate environment would borrow from the open source community: accept that all of its technical employees, across the entire organisation, are worthy and capable – and open up the first phase of the model to all of them.
Now, imagine this scenario:
You are at work. You identify an issue with WARMTH. You log in to an isolated DEV-WARMTH environment and makes some tweaks to the configuration that you think resolve your issue. Then, you submit your changeset to the WARMTH team along with a description of the issue it resolves.
At this point the WARMTH team would:
That's a lot less for the WARMTH team to do.
Of course, it won't always work. Sometimes an issue is too deeply entrenched, and requires to much specific knowledge of WARMTH and its complexities and idiosyncracies to be resolved. Sometimes the enhancement you propose doesn't mesh well with someone's vision of how WARMTH should work. Sometimes you just don't have the time or inclination to fix something for some other team.
And other times it might be difficult. Perhaps the change you make can't be communicated easily (the config isn't in version control, or isn't in a format that can be easily diff'ed, etc.). Perhaps your change doesn't resolve the issue or introduces regressions, so the WARMTH team still has to do all the identification/development work. Perhaps a swarm of bees rushes out of the air conditioning and engulfs you every time you log in to DEV-WARMTH (obviously the WARMTH team are specially trained to deal with this).
However the improvements to the service (some bugs are fixed in esse before they're even identified by the WARMTH team), workload (less pressure on the WARMTH team), buy-in (you feel like you have some input into WARMTH, and so become a little more invested), and knowledge sharing (something something silos) are self-evidently worth it.
I know the bees are a well-documented known risk, but not everything is like that. Here is another potential pothole on the path to paradise, to ponder, and possibly preempt:
In theory a good DevOps / automated deployment strategy can get around most of these issues (not licensing, alas), but an unenlightened corporate environment is not likely to have implemented a good DevOps / automated deployment strategy.
Perhaps that is the first step to enlightenment.