Enterprises are quickening the pace with which they build and roll out software to better satisfy customers who expect new features as often as smartphone application upgrades. But enterprises that wish to reap the potentially rich rewards of getting IT and business line leaders to build software together in agile fashion must also embrace the DevOps model, says Fannie Mae CIO Frederic Veron.
Combining agile and DevOps requires implementing a set of processes and automation tools that allow programmers to continuously integrate and deploy software.
"If you do agile without DevOps, it's like you're trying to race with a tractor instead of a car," says Veron, who was appointed to the CIO role last month. "You can go and do the laps but it's not going to go very fast, you're probably going to consume a lot of fuel and it won't be a lot of fun."
Veron says that embracing DevOps has helped the mortgage provider deliver software in as quickly as 10 weeks compared to what was typically a six to nine month process two years ago. The accelerated pace improves time to market and reduces the risk of failure, he says.
DevOps begets agile
In agile, IT and business leaders are often co-located and meet frequently to hash out software development. This allows companies to cut time-to-market by a third or more. DevOps enables an agile methodology by automating formerly manual software development, with applications pushed into production as what’s described as minimally viable products, which are regularly refined based on user and customer feedback.
Wal-Mart, Capital One and Fannie Mae are revamping their programming cultures around DevOps and design thinking, which Forrester Research says are essential ingredients with which companies will win new customers in 2017.
Like most large enterprises, Fannie Mae's product managers would compose and email a set of product requirements to IT, waiting several months for the application delivery. Now product managers complete agile training, partnering with IT to communicate requirements in regular meetings. Developers engage in coding scrums and two-week sprints, stringing together several to formulate a software product, such as the Loan Delivery application, a web app through which lenders submit loans.
To do this, IT leans on DevOps applications that help automate planning, code development, configuration, testing and deployment. For instance, it uses code-quality scanning tools from CAST Software to analyze software as it's being developed and alert developers to bugs. Veron says he requires the CAST quality index must improve with each sprint before the code is pushed into production.
Veron says his team has also reduced server and database provisioning times from days to hours. Using container technology, which packages application and all its dependencies, developers move software from one computing environment to another across the company’s hybrid cloud. These changes enable IT to continually release and refine features, consistent with continuous integration and deployment practices.
Sign up for CIO Asia eNewsletters.