Fannie Mae Gets AgileBy Samuel Greengard Print
The Federal National Mortgage Association uses agile development to accelerate software builds and engage in continuous development, integration and delivery.
It's clear that digital business forces the modern enterprise to operate and iterate quickly. And nowhere does this concept take on greater significance than in software development.
One organization that has focused on building an agile software development framework is the Federal National Mortgage Association, a.k.a. Fannie Mae. "We are seeing a major shift in the industry, including changes in competition, investment approaches and credit risk," states Barry Snyder, senior manager of Developer Platforms.
In 2012, Fannie Mae recognized that business as usual was no longer tenable. As the secondary mortgage market shifted into an open framework and the housing finance ecosystem evolved, there was a recognition that the government-sponsored publicly traded company had to advance.
"Rapid technology innovation is critical to performance and overall success," Snyder points out. "An agile software development framework is at the center of the transformation."
Consider this: When Fannie Mae launched an agile development initiative, 10 projects fell into the methodology. Before that, it often took nine to 18 months to release software into production, depending on the complexity of the app. Currently, the organization has 155 projects under the agile umbrella.
"We have applications that are releasing every month to production," Snyder explains. "We have some projects that are already starting to move toward a two-week release cycle."
Simplifying and Streamlining Processes
The initiative has focused heavily on simplifying and streamlining processes. The entire task took about 18 months and involved structural, practical and governance changes. This led to far greater transparency about selection processes and the introduction of pre-scanned code libraries.
Today, developers are able to run the specific code libraries they want to use through application security scanning and risk prevention software from solutions provider CAST and put them to work immediately—and with greater certainty. Previously, a more complicated whitelisting process was in place. "It empowers developers to use code that's an ideal fit," Snyder says.
In 2012, Fannie Mae had nine governance gates with a required inspection of 100 percent of applications prior to release. Today, it has one working group and the organization inspects about 10 percent of the code as it is released into production. This and other improvements, including automated testing of code, have resulted in an 80 percent savings in time and execution.
This and other improvements—including automated testing of code, a migration to cloud-based coding platforms, and improving the on-boarding process for new hires—have resulted in an 80 percent savings in time and execution. "We have continued to shrink the process but improve the overall quality and results," Snyder reports.
Fannie Mae—which relies on Java (about 70 percent of software production is on the coding platform), .NET, Ruby, Groovy and several other development languages—uses agile methods for web-facing tools and applications, mobile apps, and third-party software that banks and other lenders install on their systems.
As various groups and customers have become comfortable and accustomed to the software development framework, Fannie Mae has accelerated software builds from two to three weeks ahead to multiple builds per day. "We have reached a point where we are engaged in continuous development, integration and delivery," Snyder says.
The transformation has also shifted the culture at Fannie Mae. "Prior to the agile initiative, we had almost zero appetite for risk," Snyder admits. "Now we have an appetite to accept risk, manage it and deal with it. The focus is now on critical risk and quality."
IT Solutions Builder TOP IT RESOURCES TO MOVE YOUR BUSINESS FORWARD
Which topic are you interested in?
What is your company size?
What is your job title?
What is your job function?
Searching our resource database to find your matches...