Saturday, 22 February 2014

DevOps :Putting Software development on cruise control


I have heard about devOps. Not sure if I know a lot of it and if its relevant to me?. I have often encountered this question .In this article i have tried to answer that.

Automating repetitive procedures can provide real value to software development projects.If you’re a developer \tester\production support  who enjoys spending your time actually adding value to your project, rather than repeating the same routine tasks over and over, you’ll want to
consider advocating the concept of continuous Delivery in your team.Harnessing the power of Continuous Delivery to increase delivery speed, quality & stability via frequent, automated releases.DevOps is an approach to IT focused on fostering cooperation and collaboration from developers through operations and production support. Testers, release managers, and change management teams are included. Through joint efforts, DevOps seeks an IT team that is more responsive to the business, and more efficient while still delivering high quality product in compliance with regulations and separation of duties concerns.

Why   use DevOps?

Without arguing the benefits of Automation in software delivery pipeline there are certainly other  compelling factors once can think of to consider DevOps.Agile development method have promised greater business agility by letting developers create applications faster.But the infrastructure team  and operations teams aren’t always able to deploy the changes / applications at the same speed.Thus, IT experiences the bottlenecks that occur when Agile’s need for speed clashes with operations’ need for stability. The result is non-agile, Agile–a feedback loop with a huge delay in the middle. Second now with the changing ecosystem ,the softwares are getting much more complex and are not just a single component. A typical banking \Big Data Analytics\Mobile application  are amalgamation of various software components orchestrated to work in concert.  Managing these various components each with there own version and maintaining a release ready software  is critical to business in order to incorporate user feedback and changing business trends. Other could be , there is often mismatch in the environment software is developed and the environment in which it is deployed .

The crux is to bring both agile principles such as iterations and cross functional teams together with operations fundamentals automation  , to the entire application lifecycle assessment, development, management and monitoring.  Because DevOps includes a strategy and set of principles, backed up by tooling, for promoting collaboration between development and operations DevOps can help solve the problem of non-agile Agile by producing leaner, more responsive teams that ultimately deliver business value back to the customer.

There are tools available for continuous integration and release management that can enable devops . But tooling alone doesn't enable DevOps. "It's a mindset. Companies need to understand that you can't buy DevOps. You understand and invest in DevOps as a team, a process and a lifestyle." That process can happen on purpose with full buy in up front, or gradually by stealth as part of the natural evolution of a company.

Return on investment on devops?

Adopting Devops is not cheap not just in terms of the cost of tools ,people but the effort it takes .Its not just adopting some tools but the transformational change that the organization goes through .Its important to understand if done in a right way one can realize the value pretty soon.some of the benefits one can realize are

time to market.
Reduce cost/time to deliver
Reduce time/cost to test
Increase test coverage
Increase environment utilization
Minimize deployment related downtime
Minimize deployment time issues (you know, the weekend long deployment marathons)
Minimize roll-backs of deployed Apps
Increase the ability to reproduce and fix defects
Reduce defect cycle time


This is only the start of the journey, there is more to learn. However, what (we hope) we know is that long release cycles are a thing of the past. With most organizations using some form of Agile and iterative development, operations leaders can make their teams leaner and more responsive by embracing DevOps.  

coming next is my blog on knowing the right set of tools to realize devops.





1 comment:

  1. IT companies are gaining popularity with every passing day and tend to grow at a rapid speed. Software development procedures are getting purifies and verified with a brilliant merge of existing and new technologies everyday. Due to the massive demand of automation and perfection, many organizations are now opting outsourcing software development in order to meet their business needs. 

    ReplyDelete