Monday 25 September 2017

10 Reasons Why You Need DevOps

  1. Dynamic Resourcing
I need a name for both models and, in fact, the name wise to split development and operations into two teams would be DevOps, but unfortunately it is the catchy phrase not to split them, and on this article we call this model Ops / Dev and we use DevOps for the model where they are combined? Suggestions about a postcard for a better way to do it. Under Ops / Dev, we have people X Ops and people Y Dev. In DevOps, we have people X + Y and can work on all priorities. Sometimes it will be development (which leads to a large version, or if there is a priority commercial requirement), and sometimes it will be an operation (if there are assembly problems or we just made a large version). Either way, the feature is easy because people have transferable skills so they can do one or the other. Under the Ops / Dev template, you cannot easily deploy a developer to fill in for the Ops team or a Ops person to complete for a developer.
This is important because the loads between the teams vary significantly and you really need to use features for full load on both teams. It is not only inefficient but dangerous. Developers or off-duty killers can do incredibly stupid things without proper control, so you have the double problem (what’s a Whammy exclusive? What’s a Whammy?), A frantically busy team, and a team with nothing to do with violence with things you’d rather not touch.
  1. Less Overhead
You can call Lean Six Sigma, or not BS, but the answer is the same. With an Ops / Dev template, you have introduced many things that you do not necessarily need. Not only do you have two teams, but you do have a transfer process and a lot of hangers that facilitate a process that you probably did not need in the first place (the same as above, only if you have a mission-critical business application, is a cost to do business for you. I’m talking about applications that do not need it.
Viewing. Do you have a version manager, maybe a change manager? What do you think of a meeting every fifteen years covering the next transitions to production? What about a process of increasing problems between Ops and Dev? A warranty period? Even if it’s just a phone call or an email or two, it’s a process you simply do not need. What makes the US health system the most expensive in the world? It is not the doctors and the nurses, it is the administrators who cling to all the treatments. Get rid of it and you’re halfway to a good solution.
DigitalErra_Banners_07012017_News_1
DevOps
 3. Ownership
This is probably the biggest problem of all. Who owns the application in an Ops / Dev model? Oops? Dev? You’ve probably created a new role to own it (see above). But how do your developers feel about it? (And for that, Ops folks as well?) I bet they feel like compromised weapons, working on the task in front of them and probably measured about the only outcome they were asked to achieve. It is not property; it is work-oriented work. But see what happens if you hold them responsible for all this?
If they find something that needs to be repaired while they are working on something different, they will repair it. This is what you do when you own something. You resolve or report a problem you encounter. When you’re a hired gun, you just do what you’ve been asked to do, no questions asked.
  1. Agile
If Agile is the right methodology for what you are doing (and it might not be), then Ops/Dev probably isn’t. Agile is about small teams, high-touch communication, and frequent reassessment of the top priorities coupled with regular delivery. Sounds like DevOps to me, not Ops/Dev with the formal handovers and gates and whatever another sticky tape you have put in to make it not fail.
  1. Increased Stability
Associated with the above resourcing problem and ownership, DevOps’ ability to do things more conveniently. With Ops / Dev, your operations team could go crazy trying to solve problems while your Dev team is happy and unconsciously preparing to release more chaos in the environment with the next release.
In DevOps, this is self-regulating. You simply do not have the people available to make the next version if everyone is flat repairing the problems of the last one. And anyway, if the property is sitting with a team that would be crazy enough to do it, even if you could?