At HP, there are teams in which developers are responsible for the code they introduce in production for three to six months. That way, they’re constantly working with the testers and the production team to ensure that everything works and keeps working.
“Nobody knows how to do this perfectly,” said HP’s Kuthiala. “As you experiment, you have to be able to fail and learn from that. In the DevOps language, ‘Iterate, iterate and improve, and do the next thing and see if that works.’ Where there’s tolerance for such behavior, DevOps adoption is usually much faster.”
Don’t be ashamed
A lot of companies look at others Facebook and Netflix and think the ultimate goal is Continuous Deployment when the reality is that not all business models need to achieve the same things in the same ways.
“Large organizations are not as flexible as startups. [The question is] how do we organize ourselves to deliver software more efficiently but still have all the enterprise controls and compliance functions in place to make sure something doesn’t get broken or lost along the way,” said Rogue Wave’s Cope. “Anything you can do to automate testing of all kinds—unit functional, security, configuration—all those things are critical because they’re what underpin your ability to trust the software.”
Despite hiring consultants and acquiring tools, teams may get a sinking feeling that they’re failing a few months into their agile or DevOps transformations. And some of them will be.
“I think everyone’s forgotten that you need an agile process throughout the value stream; that process, the integration required for tools and the visibility you need across the different areas has been forgotten,” said Tasktop’s Kersten. “If your agile process is not connected to your traditional product, you haven’t improved anything. That’s why we see these claims that people aren’t getting ROI from their DevOps transformation or the transformation isn’t working. All that’s happening is it’s easier for code to be pushed into production.”
What’s right for an organization or team needs to be collectively decided by the stakeholders. That includes the people involved, what their roles are, and how they work together, as well as the tools, processes and training that will be necessary to succeed with DevOps. And all of it is a moving target. That’s why regardless of where a company is, an iterative approach is recommended: Start small, learn from mistakes, refine and build on successes.
“We’ve seen successful companies adopt a DevOps culture by first introducing transparent communication between the groups so that the teams could recognize the value of each others’ roles and domains,” said CollabNet’s Brenton. “Incremental DevOps practices were introduced so they did not disrupt the overall flow of product or quality, and all groups understood the cost and benefits.”
Easing up DevOps
We asked the SD Times Buyers Guide sponsors what they are doing to ease the transition to DevOps and to make DevOps as efficient as possible. This is what they had to say: