Monoculture emerges very quickly in software development teams that impose a ‘standard’ IDE and OS, that use a predictive (not adaptive) lifecycle process, or where developers are expected to work the same hours on rigid pay scales in cube farms while adhering to a dress code.
I suspect that in some cases monoculture comes about through unawareness.
Other times it’s a conscious choice:
I worked with an organization that formulated their hiring and promotion policies to create a uniform, stable culture. They generally hired people right out of college, and promoted from within. The corporate culture was inculcated every step of the way… And for a long time, the company achieved what it wanted: stability, predictability, orderly succession.
Then the market changed around them, and they needed to create different products and serve their customers in a different way in order to survive.
unfortunately, the majority of the people only knew how to do things one way.
Management shifted their policy, and started hiring middle and senior managers from outside the organization.
Many of the “outside” managers left after a brief tenure — impatient with the (glacial) pace of change. Many of the “middle generation” of employees, those who had been there for a while but still had 25 – 35 years left before retirement left, too.
The culture did eventually shift, but it took nearly 10 years.
Here’s the irony: the new wave brought in to make the company more “nimble” found that the old wave weren’t eager to follow the new way of doing things.
So they established standardized technology, processes and created a multilayer oversight organization to make sure that people do things the new way.
The culture is different in lots of ways — it’s not as warm, not as easy-going. But it’s still a monoculture, just a different monoculture.