Six Daily Tips for #DevOps | @DevOpsSummit #Docker #APM #Microservices
There’s no way to implement DevOps overnight, but any step towards greater collaboration will deliver real benefits
Nov. 7, 2016 05:30 AM
At its core DevOps is all about collaboration. The lines of communication must be opened and it takes some effort to ensure that they stay that way. It's easy to pay lip service to trends and talk about implementing new methodologies, but without action, real benefits cannot be realized. Success requires planning, advocates empowered to effect change, and, of course, the right tooling.
To bring about a cultural shift it's important to share challenges. In simple terms, ensuring that everyone knows what everyone else is doing can create a real team spirit and social cohesion that will drive DevOps forward. Here are six tips that can be implemented to help you get there.
A daily team meeting where people get an opportunity to review their progress by addressing three simple questions:
- What did I do yesterday?
- What will I do today?
- What might block me from achieving my goals?
This should be short and sweet, about 15 minutes is good, and it should include the whole team. Everyone must stand to answer their questions. These daily team meetings are vital for agile development, but they can benefit any organization. They encourage developers to interact with the whole team, and they foster a greater understanding and appreciation of the challenges colleagues are facing.
2. Team events
Whether it's a Thursday night pizza tradition, a team building exercise, or a fun event, it's important to take team events seriously. They should be scheduled in properly, just like code drop day, or a go/no go meeting. All too often the first thing to get dropped when the pressure builds is team events. It's easy to forget that they serve a real purpose in terms of morale and building relationships. (And by team, we mean not just DevOps, but everyone involved in the delivery process.)
3. Alert boards
Putting up boards that relay at-a-glance information to the rest of the team can be a powerful motivational tool, and it helps to ensure that everyone knows how things are progressing. The classic example on a factory floor is "X days since we had an accident," but they have a place to play in modern software development. You can use them negatively, by saying something like "Y broke the last build," or positively, by saying "X bugs fixed today." They can also be posted on an internal website so that everyone throughout the organization, even remote workers logging in, can see them. The nice thing about these alert boards is that they can be self-updating.
4. Accessible tooling
You ideally want everyone on the same page and using the same tooling, but test departments, developers, and operations will already have preferred packages. You want to leverage their existing knowledge base and reduce disruption. What's the answer? You find tooling that is compatible with all the main tools that each team wants to use. Integrate the existing software into your overall system using plug-ins. Ensure that your tooling choice plays nicely with all the other APIs.
If you have geographically distributed teams, the tooling needs to be accessible to everyone to help foster the sense that people are working on the same project together (e.g., look for communication/collaborative elements).
5. Think, plan, implement, measure
It's important to think about how you can practically implement your steps toward integration. You can't boil the ocean. Plan to add a few clearly defined steps during each sprint and make sure that you measure them. The planning stage requires resources. Assign people to figure out how you might implement a change, to discuss the potential impact with other team members, and to secure a general buy-in that will boost your chances of success. Set a deadline for implementation and don't forget about metrics - how do you want to define and measure success? If you don't measure the effectiveness of your changes, how do you know they're benefitting you?
6. Identify internal barriers
Many organizations do not function in a way that is conducive to implementing DevOps. Business people are naturally skeptical about new costs, everyone is resistant to giving up time or resources, and fear of the learning curve or general disruption can make new tooling unattractive. Everyone must be convinced about the benefits before you can secure their support. Plan for those conversations, arm yourself with the data that you know they'll want to see, sell the idea and back up your rhetoric with metrics that can prove your point.
There's no way to implement DevOps overnight, but any step towards greater collaboration will deliver real benefits. We hope these six tips set you on the right path.