Flask on AWS Serverless: A learning journey - Part 2
About 3 years ago I learnt some basic Python, which I've used almost exclusively to
As a techie, I am surprisingly big on getting culture right, which I have written about here before. Because really, after running an agile DevOps team for the last year, I realise the tech part is not hard. It's not hard to get stuff going in Cloud, getting a CI/CD pipeline working that automatically builds and pushes code to production. It’s the mindset, the belief system – that’s the hard part, especially in big corporates.
I've written about digital transformation before, and how important it is to realise every company is a technology company, which requires them to have software development capabilities in order to compete.
This is what the leading DevOps researches, from the book Accelerate, The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organiations define as culture:
Their research found that culture impacts Software Delivery Performance and Organisational Performance. I would say most large corporates lies between Pathological and Bureaucratic, where they are steeped in a demoralising culture of: governance over common sense, strategies rather than actually doing and learning. So much that they don’t even act like a tech company anymore. We far too reliant on vendors, and old telco thinking. We are still insisting on VPNs, which take weeks to setup and cant be automated, and cant understand why APIs need to be open.
Culture is NOT the responsibility of HR. It is a mind-set of each employee - a belief of doing, sharing, taking risks, and not being afraid of failure. Culture for IT means actually knowing what agile and DevOps is, and doing it everyday. It means having a mindset of automation, and not thinking automation only sits with RPA. It means having a mindset of using Cloud based services, and not ever buying servers again. This sits with IT, not HR. If we genuinely and confidently believe that Cloud is the way to go, we will issue a Jeff-Bezos-like mandate. It’s a belief, a conviction.
On how important culture is to getting DevOps and CI/CD right:
When I talk to people, I ask them what their biggest challenge is, when automating their pipeline and transforming to a CD and DevOps organization: and the answer is culture,” Dawson said.
So, now I can’t just solve the problem in my silo, I have to go out and tackle this hard thing called culture,” Dawson said. “And, at the risk of a gross generalization, it’s not necessarily where we focus our energy or skill sets as engineers.”
But the common knee jerk reaction of Executives to fixing these problems, is to change the Org Structure, by just moving this block around here, and change that teams reporting line, and putting in yet another layer of management/abstraction, which they believe will allow them to implement agile or DevOps. But the real answer lies in Conways Law:
that our systems will reflect the communication structures of our teams.
If our teams aren’t communicating, then the systems will reflect that. So if we want to implement agile and DevOps, we need to form multi-disciplinary and cross-functional teams, which contains all team members required to build that product. So it contains a Product Owner, an API developer, a network guy, and infrastructure guy – all focussed on that product. Ideally, we will have one of the these per product or line of business. Then they can be self-sufficient to build and deliver, and not be held back by other teams non-delivery.
So in summary, this what I believe corporates need in order to succeed: