Business Agility Depends on DevOps
Business agility depends on development and operations collaboration
By: Jasmine Noel
Jul. 14, 2010 12:42 PM
True business agility is not about doing more application updates faster. True business agility is about doing more application changes faster without sacrificing the application's performance or service quality.
From my perspective, achieving that second part of business agility means preventing application performance and service quality problems. For the longest time IT operations have focused solely on remediating problems, which is not the same thing. When someone's focus is on remediation, they quickly realize that it is easier to remediate problems when the environment does not change very often. So no matter how much IT operations teams have streamlined their application problem resolution processes, there has still been an undercurrent of resistence to the constant change that is business agility.
Resistence is futile, and operations teams know this. They recognize that they must also tackle problem prevention earlier in the application lifecycle. The more experience one has in trying to manage the performance or service quality of constantly changing applications the more it becomes clear that the number of application performance problems depends on:
Those issues are driving the growing interest development and operations collaboration (DevOps). Let us look at each to understand why.
1) How well the application is engineered for the production environment.
Rollbacks can be caused by configuration had problems such as incorrect IP addresses. That type of problem occurs when developers with no operations experience are managing this application engineering effort. Rollbacks can also be caused when the placement of the distributed components caused unexpected application performance and service quality problems. That type of problem occurs when operations folks with little insight into the application design are managing the application configuration effort. The converse is also true, when development teams have little insight into how production deployments are configured, they can create application architectures that are not as scalable in production as in the test environment. Skills from both development and operations must be applied during the deployment configuration effort to prevent these problems.
2) How well application updates are managed.
3) How well defect and problem knowledge flow across development and operations teams.
Problem knowledge from operations teams is useful because it allows agile developers to improve their application design for better performance as they work on the next round of user requirements. Therefore, it seems obvious to me that the more difficult communications is between development and operations, the more application problems there will be in production. The chasm between development and operations groups has to be bridged with effective collaboration for application service quality to be maintain in the face of constant change. Effective collaboration is not about more meetings, reports, email trails and CYA activities. It is about enabling the different groups to share the right information with the right people at the right time.
So there's my take on three key issues that determine how agile a business can actually become. From my perspective, fostering application collaboration between development and operations should be a cornerstone capability of those solutions if they are to deliver true business agility. I'm interested in hearing your perspectives.
SOA World Latest Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week