Latest news about Bitcoin and all cryptocurrencies. Your daily crypto news habit.
This is the 3rd article in a series following on from: I fell in love with Mabl (How to become DevOps compliant), and DevOops, some common anti-patterns
Photo by Franciele Cunha on Unsplash
I saw a bio on Twitter:
âI solve more problems than IÂ causeâ
Simple, but effective, and captures some of the essence of DevOps.
This person could be knee deep in fixing problemsâââor they could be a developer who sees the big pictureââârelating to the importance of production, team player, not afraid to roll their sleeves up, higher state of awareness with technical debt, doing what they can to make the long term better, focused on quality as well as flow.
This is the winning developer (or product engineer) in the emerging digital economy. They have more space for creating new things, and a winning CV. Combining passion, open-mindedness, and energy, these are the DevOps-minded engineers we need on our teams. So how do we get there.
FirstâââIâm not going to write about the Three Ways. As Gene Kim said this is summed up excellently by Tim Hunter (an old post but relevant as ever, no need to cover again). Nor is this about the great detail behind DevOps practices (you can go to The DevOps Handbook and other sources for that). And if youâve not yet seen it, you should watch Chef Style DevOps Kungfu.
Nor will I cover here the approach to Digital and IT Transformation that DevOps has to be part of (hard to do that justice in one post).
But what I will cover is an approach to super-charging your DevOps practices, and Iâll break that down into two main headings: get your organisation in shape, and work harder (sic). So the first thing:
Photo by Ayo Ogunseinde on Unsplash
Get your organisation in shape. Iâll write about brownfield organisations. For greenfield you have the opportunity to be DevOps native from the start. The harder thing is approaching this from large, established, siloed organisations, with lots of legacy and history, and governance and compliance issues. For me, basically there are three things here:
1. Your organisation already knows
Firstly, you will have lots to work with. There will be so much nascent talent and potential in the organisation, there will be high performing teams, pockets of excellenceâââin addition, the teams within your organisation will know the issues. Where flow is stunted, where rework happens, where things are manual, where walls exist, where there are quality or value issues, where software and systems go back and forth over the wall, where deployments take ages and are risky, where expensive interventions are required, where people are unhappy. Where it is not agile, not DevOps.
With DevOps you can focus on the gain (faster value delivery, higher quality, lower costâââIâll do a separate post on the cost benefit)âââbut itâs worth also focusing on the loss. A development team will tell you what their pains are, live services and ops folk will do the sameâââyou have so much to work with. With the gain and the loss, which your organisation will know, or a good coach can bring out, you will have the desire to get from where you are (all the losses) to where youâd prefer to be (all the gains).
2. Identify and build the talent
Look across the organisation. There will be so many people that are hungry to be part of this movement. Find them, and connect them. Others will have talent and potential but need help to see the light. Iâve seen some âsuccessfulâ firefighters and manual/scripting heroes switch on to the new world, and become ambassadors for better ways of working and automation. Across the IT organisation all the teams play a role and can be brought together.
Then build through recruitment to complement your teams. Iâve been lucky with the people Iâve hired. Iâve hired more developers than ops and service peopleâââbut Iâve needed both for multi-disciplined teams, and Iâve integrated the engineers whatever ilk into a single engineering team or team of teams. Some of the developers came already with the mindset. Others showed the attitude that they wanted to lean into it. Watching some it was amazing to watch them evolve with the feedback loops from production.
Iâve been lucky to work with some of the best developers, operations staff and DevOps platform engineers (for want of a better title) in the field. The latter were key hires (and internal development opportunities for some), which helped foster the culture, then the tools, and in turn reinforcing the culture. Inducting all new starters with a week or two in a platform team is a good trick, as itâs a good vantage point to see the end to end process. Ultimately though, the platform engineers are development-enablement, and should help foster CICD standards and improvements, supporting multiple product teams to be as autonomous as possible.
In all thisâââcomplementary skills and view points is key. Diversity is essential not just because itâs right but because it creates the best chance of having multi disciplinary and balanced teams. Great technical skills are obviously needed, but more than anything attitude and a customer success mindset are what youâre looking for.
3. Help the organisation by breaking down the barriers.
This starts from bottom up, top down, and from the middleâââand should align with your Digital and IT/Engineering Transformation effort. But my starting point, is not a separate engineering and service operations organisation.
Bring them togetherâââbut it needs the right (servant) leaders at the top to collaborate, or ideally a single person, but they have to be as passionate about service excellence as they are delivery. Then the teams need to come together, and this is what you need: (Raj Fowler describes some of this and more in his #AStoryofDevOps articles):
- Product delivery leadâââfocused on flow (scrum, kanban, lean or CD)
- Product technical leadâââfocused on quality
- Product engineersâââfocused on sustainability and delivery in equal measure (good sustain=more delivery)
- Product analyst /ownerâââthe key to map and draw out business and user requirements and translate to what can be delivered (epics, stories, fixes, product roadmaps).
Then in my experience supported by horizontal enablement for standards, service excellence, and those roles that can be leveraged across an organisation to reduce cost, but in a service (one team) culture, not in silos.
Across the organisation, I believe in wrapping roles around people rather than an operating model you plug people into. Complementary teams, playing to peopleâs strengths.
Iâm not saying development and operations will live happily ever after, but this gives you a better chance of them not having a rocky relationship.
Back to breaking down the barriers and organisational change. While most will lean into this naturally, or with coaching, some wonât make the journey. Business change and recognising the change curveâââhelping people and being kind to people is essential for meâââbut some wonât make the journey, and you have to break a few eggs along the way. Usually this can be close to zero.
After that, itâs time to..
Photo by Jordan Whitfield on Unsplash
Work HarderâââThis is not working longer hours, working weekendsâââthatâs sometimes necessaryâââbut in the knowledge and emerging economy we are increasingly paid for our brains, and theyâre best when theyâre fresh. What I mean is, work harder at working smarter, and work harder at enjoying your work, and helping others. This applies to many things, but particularly applies to DevOps and Agile.
Work harder at working smarter
I enjoy Jonathan Smartâs writing on this. He is someone I only became aware recently reading the 100 DevOps leaders, enthusiasts and expertsâââan impressive list, all the more considering every FTSE100, 250, Fortune 500, every Government department, etc, needs at least one DevOps leader in its organisation. Jonathanâs headings of Quality, Flow, Value, Happiness work perfectly for this section.
QualityâââThis is smart working. Not cutting corners. Doing the things now that avoid issues down the line. Problem solving is good, problem avoidance is even better. You have to prioritise qualityâââreliability, performance, and usually scalability, capacity, and areas that support those things such as monitoring, and recoverability. These are key aspects of most systems or products. And all the things that support this: designing and building with supportability in mind, and QA throughout. As my friend and fellow DevOps evangelist Raj Fowler said, âService is King, Change is Queenâ. Meaning to me, they are equally important, there is no hierarchy. But you have to get service right to create more space for change. The future (present for many) for this is automating and reducing toilâââIâll cover Site Reliability Engineering in an upcoming post, but for those new to toil read Mathias Lafeldtâs Toil: A word every engineer should know.
FlowâââMost start with Scrum, and with discipline maybe progress to Kanban, Lean, and hopefully Continual Delivery. Sometimes Scrum is just going through the motions, mechanistic in terms of velocity, story pointsâââbut the highest performing teams have flow (and soul) in the process. A great Product Delivery Lead (or Scrum Master), maybe supported by an Agile Coach, but definitely by a product team that is empowered and takes ownershipâââcan achieve great flow. This is the part of DevOps where tools can play a strong partâââin three words, automate automate automate. For a new product, the delivery/CICD pipeline, should be the first thing you do. For a legacy product, look for payback (such as reducing deployment times)âââand in almost every case I guarantee there will be some.
ValueâââThe most important thing, ultimately what every IT organisation is here for. Create value to your organisation and its customers by supporting the value chain and getting products (including services) to market faster. In the digital, rapidly disrupted, software based world, this is everythingââârelates closely to flow and qualityâââand is ultimately why we need DevOps, because itâs just too slow and expensive to deliver value with a wall between Dev (or Engineering) and Ops (or live Services).
HappinessâââA happy team gives you a better chance of success. Many measures donât give you a warning sign of problems to come, but an unhappy team indicates issues that might not be there yet but likely coming soonâââif you measure anything, measure this. Work with a smile, every day is an opportunity to learn (even more so when things are going wrong). This brings me on to the last aspect..
Work harder at enjoying your work, and helping others
Work is a big part of life and we spend so much time at work, so if youâre not working with a smile, or not enjoying it, you should look closely at whatâs going wrong, either a state of mind, or in the wrong place. Obviously there are high pressured jobs, or low paid manual jobs, but sometimes the pressured ambulance driver or the low paid cleaner having to stack the dishwasher for the office workers are some of the most gregarious people, despite the conditions.
Whatever your role or team, think about other teams, other people, particularly adjacent to your team. Weâre stronger from being broader based and seeing the bigger picture. Having a global mindsetâââdevelopment and production. Find out the issues of other teams close to you, this is a two way process, and work out ways you can reduce pain and manual effort or rework between teams. Ultimately the philosophy of DevOps and breaking down barriers in the organisation can help with this, but start it from the ground up, from the middle, and from the top.
Respect everyone. Help the others. Work to make work more enjoyable for yourself and those around you whatever their role. If there are issues, donât complain, get involved, and be part of the solution. When this happens, good things happen.
Know this never ends. You donât arrive at a maturity score of 4 or 5 and then youâre done. You donât complete this move and become steady state. In the new world of fast moving change and multiple forces acting upon you, you need to deliver and improve non stop, ongoing. Inspect, adapt, throughout. Donât accept poor or even good rather than greatâââchallenge and make the improvement happen. These things wonât guarantee success, but they will give you the best chance of success. This for me, is the philosophy of DevOps (and not a Jenkins, Chef, Openshift, or Mabl in sightâââas great as those tools are).
Gary Watts
Photo by Aziz Acharki on Unsplash
If you liked this article hit clap a few times.
You can follow me at hackernoon.com/@gary.sa.watts and twitter.com/@garysawatts
And here are some more articles from me:
- Whatâs getting Agile down?
- Time to say farewell to Scrum?
- Mabl taught me how to become DevOps compliant
- DevOops, some common anti-patterns
Get in Front with DevOps was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.
Disclaimer
The views and opinions expressed in this article are solely those of the authors and do not reflect the views of Bitcoin Insider. Every investment and trading move involves risk - this is especially true for cryptocurrencies given their volatility. We strongly advise our readers to conduct their own research when making a decision.