The core philosophy of DevOps is to bridge silo thinking, build the culture of collaboration.
DevOps is the latest evolution of the Agile movement to bring even more stakeholders to the table by bridging silos. DevOps' technical foundation-Continuous Delivery extends Agile's foundation XP. However, DevOps is not just the engineering best practices, it is more as people-centric management discipline,
The human factor is absolutely key -Feedback/Communication/Empathy. The automation part of DevOps is the easy part. The confusing, debatable, easily-missed, can't-shrink-wrap-and-sell-it aspect of DevOps is Feedback/ Communication/Empathy. One without the other is not DevOps. Together they deliver Velocity, which is the primary goal of DevOps. Velocity is what allows businesses to innovate in the delivery of services without betting the farm every time they take a risk. The most important aspect of DevOps is Communication/ Empathy (because the Automation engineering is fairly straightforward.) The middle-men can't profit from those touchy-feely parts of DevOps, so they tend to be ignored in favor of the tech. The challenge for any company aspiring to DevOps-orientation is cultivating the right team. Team members must respect each other enough to take cross-functional guidance.
DevOps is more of a soft skill... getting the teams to collaborate better... Technology is just the enabler. People can be in different teams and yet still collaborate very successfully. Or they can be in the same (DevOps) team and work independently (if not divisively). More often, the conversation about DevOps quickly descends into a technology and tools discussion which is understandable due to its technical root; however, the cultural aspects are much more important, and the CALMS acronym has summarized it well:
The team makeup is absolutely critical. No collaboration or automation tool will make dev and ops folks work well together unless the culture is right in the first place. The challenge in many organizations, however, is this trust isn't there. Both sides know they have a stake in the game, but years of talking across each other and blaming each other is tough to overcome. Often times this stems from cross team rivalries between the senior managers. That is a great challenge for a lot of teams to overcome. Technically, what to see it happen? Take some system engineers and put them on a project as developers. Then, take some developers and put them on a project as system engineers. You'll want to make sure you identify the "right" kind of folks - the ones who are always eager to learn something new. Support them by making available senior mentors and advisors for their new project role but keep the padawans accountable for the work. After a project or two, then you'll have the "right" kind of resources for DevOps - switch hitters. With a team made up of mostly these resources, real DevOps style productivity now becomes a possibility. Mix in some good solution architecture, resource templating, continuous integration, test automation, and deployment automation tools and you'll have yourself a fully equipped modern DevOps styled team.
The core philosophy of DevOps is to bridge silo thinking, build the culture of collaboration, to manage IT organization more holistically in order to improve efficiency & effectiveness, and further to optimize IT agility and maturity.