Things on the edge
Thoughts on technology and business
Part 2 - A culture of innovation
Previously published July, 22 2015
See Part 1
The culture of the organization determines how the Shadow IT evolves and whether or not it is a problem. If the culture has a more centralized structure but also supports innovation, autonomy, and is customer focused, Shadow IT becomes a Skunkworks that can be managed through governance, openness, and creating ways for teams to share their insights and experiences. This can take many flavors and has become the cornerstone of many companies. The most famous examples are Amazon and Netflix, who have adopted the policy of “If you build it, you run it”. Teams are given wide latitude to innovate and the results speak for themselves.
This DevOps mantra is really a way govern the masses. Encouraging technical openness by open sourcing code and making that code easily visible using tools like GIT can dramatically improve quality and transparency. True participatory democracy in action.
In return, Central IT becomes a caretaker with two huge responsibilities. First, they need to facilitate communication between teams because secrecy is diametrically opposed to communication and sharing. The role of IT is to break down these barriers and get the smart people talking. They will start sharing and realigning naturally. Once that happens, real business value will be created that would have been impossible before.
I think you could also make a strong case that low level governance isn’t necessary because smart customer focused people will govern themselves. In this situation, governance revolves around identifying the non-business critical activities thereby letting teams focus on what's important. Governance will evolve out of what the customers need bounded by "Big Rules" of culture and technology.
IaaS - Infrastructure as a service
The role of IT now shifts to providing the tools to allow teams to dramatically improve their agility and collaboration. It isn't enough to make the transition from dedicated servers to "the cloud". IT must truly embrace their role as facilitators to the business and to development teams. There needs to be a holistic view of what Infrastructure as a Service really means. The key word isn't Infrastructure, it is Service. Service in the sense of providing everything a customer needs better than anyone else. So what do they need?
You must be this tall
Martin Fowler, in his post Microservice Prerequisites sums up the bare minimum capabilities of an IaaS environment as the following:
Rapid provisioning: You should be able to fire up a new server in a matter of hours (or less). Naturally this fits in with Cloud Computing, but it's also something that can be done without a full cloud service. To be able to do such rapid provisioning, you'll need a lot of automation - it may not have to be fully automated to start with, but to do serious microservices later it will need to get that way.
These sound like technologies but they are really about culture.
These capabilities imply an important organizational shift - close collaboration between developers and operations: the DevOps culture. This collaboration is needed to ensure that provisioning and deployment can be done rapidly, it's also important to ensure you can react quickly when your monitoring indicates a problem. In particular any incident management needs to involve the development team and operations, both in fixing the immediate problem and the root-cause analysis to ensure the underlying problems are fixed.