Friday, May 8, 2015

DevOps is Killing Maintenance. Let’s Celebrate.

DevOps probably isn't killing developers.

But it is changing how people think about development - from running projects to a focus on building and running services. And more importantly, DevOps is killing maintenance, or sustaining engineering, or whatever managers want to call it. And that’s something that we should all celebrate.

High-bandwidth collaboration and rapid response to change in Agile put a bullet in the head of offshore development done by outsourced CMMI Level 5 certified development factories. DevOps, by extending collaboration between development teams and operations teams and by increasing the velocity of delivery to production (up to hundreds or even thousands of times per day), and by using real feedback from production to drive development priorities and design decisions, has pulled the plug on the sick idea that maintenance should be done by sustaining engineering teams, offshored together with the help desk to somewhere far away in order to get access to cheap talent.

Agile started the job. Devops can finish it

While large companies were busy finding offshore development and testing partners, Agile changed the rules of the game on them.

Off shoring coding and testing work made sense in large-scale waterfall projects with lots of upfront planning and detailed specs that could be handed off from analysts to farms of programmers and testers.

But the success of Agile adoption in so many organizations, including large enterprises, made outsourcing or offshoring development work less practical and less effective. Instead of detailed analysis and documented hand-offs, Agile teams rely on high-bandwidth face-to-face collaboration with each other and especially with the Customer, and rapid iteration and feedback. Everything happens faster. Customers change priorities and requirements. Developers respond and build and deliver features faster.

Time-intensive and people-intensive work like manual testing and reviews are replaced with automated testing and static analysis in Continuous Integration, pair programming, and continuous review and improvement.

In this dynamic world, it doesn’t make sense to try to shovel work offshore. You have to give up too much in return for saving on staff costs. Teleconferencing across time zones and cultures, “virtual team rooms” using webcams, remote pair programming over Skype… these are all poor compromises that lead to misunderstandings, inefficiencies and mistakes. Sure you can do offshore Agile development, but just because you can do something doesn’t mean that it is a good idea.

Devops is going to finish the job

In DevOps, with Continuous Delivery and Continuous Deployment, changes happen even faster. Cycle times and response times get shorter, from months or weeks to days or hours. And feedback cycles are extended from development into production, letting the entire IT organization experiment and learn and improve from real customer use.

Developers collaborate even more, not just with each other and with customers, but with operations too, in order to make sure that the system is setup correctly and running optimally. This can’t be done effectively by development and operations teams working in different time zones. And it doesn’t need to be.

We all know how outsourcing has played out. In the name of efficiency we sliced out non-strategic parts of core IT and farmed them out to other companies, whether offshore or domestic. CIOs loved it because of the budgetary benefits. Meanwhile, it sparked a thousand conversations about what outsourcing meant for IT, the US economy, individual careers, and the relationship between people and businesses.

But it turned out that we took outsourcing too far. It makes sense for some functions, but it can also mean losing control over management, quality, and security, among other things. Now we're seeing a lot of those big contracts being pulled back, and the word of the day is insourcing.

InformationWeek, DevOps: The New Outsourcing

Blurred Lines

DevOps intentionally blurs the lines between developers and operations, between coding and support. Engineering is engineering. Project work gets broken down into piece work: individual features or fixes or upgrades that can be completed quickly and pushed into production as soon as possible. Development work is prioritized together with operations and support tasks. What matters is whatever is important to the business, whatever is needed for the system to run. If the business needs something fixed now, your best people are fixing it, instead of giving it to some kids or shipping it overseas.

In DevOps, developers are accountable for making sure that their code works in production:

You build it, you run it

Which means making sure that the code gets into production, monitoring to make sure that it is working correctly, diagnosing and fixing any problems if something breaks.

New features, changes, fixes, upgrades, support work, deployment… everything is done by the same people, working together. Which means that maintenance and support gets the same management focus as new development. Which means that nobody is stuck in dead end job sustaining a dead end system. Which means that customers get better results, when they need them.

Except for enterprise legacy systems on life support, maintenance as most of us think of it today should die soon, thanks to DevOps. That alone makes DevOps worth adopting.


Rock Whitney said...

Good read. However, the "Blurred Lines" section at the bottom seems to breeze over the transformation where the ops team resources are embedded in the same team as dev.

Some managers may read that and think that developers can instantaneously become a "super team" that can do it all.

Jim Bird said...

You raise an important point. Whether it's embedding ops into the development team or developers into the ops team, or or adding ops responsibilities into development, it will take time. Not all developers will like it, or be good at it. Just like not all sys admins will make good operations engineers. The skills and mentality are different.

I feel that it is the right direction. But it does involve serious change, and this kind of change takes time

pragya said...

Really very nice blog information for this one and more technical skills are improve,i like that kind of post.
DevOps Training in Pune

DevOps Online Training

Sherin Alfonsa said...

Amazing post!!! Thanks for sharing your ideas and thoughts with us.

CCNA Training in Chennai
android Training in Chennai
Java Training in Chennai
DevOps course in Chennai
DevOps course
DevOps Training in Chennai

Anbarasan14 said...

I really liked the way you are delivering the content. I am just waiting for more updates from your site. Kindly keep sharing more of this kind.

Spoken English Class in Chennai
IELTS Coaching Centre in Chennai
English Speaking Course in Mumbai
IELTS Classes in Mumbai
IELTS Coaching in Mumbai
IELTS Mumbai
Best IELTS Coaching in Mumbai
IELTS Center in Mumbai

sudhagar said...

Thanks for sharing this valuable information to our vision. You have posted a worthy blog keep sharing.
Tally Course in Chennai
Tally Classes in Chennai
ui design course in chennai
CCNA Training in Chennai
web designing training in chennai
Tally Course in Chennai
ReactJS Training in Chennai
microsoft dynamics crm training in chennai
Tally Training in Chennai

Rathinam said...

This is a wonderful blog...!!! Regularly I following your post, Please add a more unique post about this content.
Great work...!
Tableau Training in Chennai
Tableau Course in Chennai
Tableau Certification in Chennai
Power BI Training in Chennai
Job Openings in Chennai
Placement in Chennai
Soft Skills Training in Chennai
Appium Training in Chennai
Tableau Training in Velachery
Tableau Training in OMR

Madhu Balan said...

Thanks for sharing such a nice info.I hope you will share more information like this. please keep on sharing!
Best PHP Training in Coimbatore
PHP Training in Coimbatore
PHP Training Center in Coimbatore
SEO Training in Coimbatore
Python Training Institute in Coimbatore
android development course in coimbatore
embedded systems training in coimbatore
German language classes in Coimbatore
best selenium training in coimbatore
Java Training in Bangalore

Unknown said...

thanks for sharing this information
android training institutes in coimbatore
ios training in coimbatore
amazon web services training in coimbatore
aws training in coimbatore
big data training in coimbatore
hadoop training in coimbatore

RoyceRobbie said...

Good information and, keep sharing like this.

Crm Software Development Company in Chennai
web portal development company in chennai
web portal development services in chennai
professional web design company in chennai
smo company in chennai
seo company in chennai
best seo company in chennai
erp software development company in chennai
sem services in chennai
twitter marketing company in chennai

Savanah Eden said...

We help you to get best websites and good ranking in search engines, visit us
Erp software development company in chennai
Professional webdesigning company in chennai
seo company in chennai
Crm software development company in chennai

Yourdoorstep said...

Thanks for Fantasctic blog and its to much informatic which i never think ..Keep writing and grwoing your self

Birth certificate in delhi
Birth certificate in ghaziabad
Birth certificate in gurgaon
Birth certificate in noida
How to get birth certificate in ghaziabad
how to get birth certificate in delhi
birth certificate agent in delhi
how to download birth certificate
birth certificate in greater noida
birth certificate agent in delhi
Birth certificate in delhi

Anbarasan14 said...

Thanks for sharing a worthy information. This is really helpful. Keep doing more.
Air Hostess Academy in Chennai
Air Hostess Training Institute in Chennai
Best Air Hostess Training Institute in Chennai
Air Hostess Course in Mumbai
Cabin Crew Institute in Mumbai
Cabin Crew Training Institute in Mumbai
Air Hostess Training in Bangalore
Cabin Crew Courses in Bangalore
Cabin Crew Training in Bangalore

Site Meter