by Martha Heller

Freddie Mac banks on modern delivery

Jul 15, 20207 mins
Agile DevelopmentIT LeadershipSoftware Development

Frank Nazzaro, CIO of Freddie Mac, explains how the modern delivery software development model, which goes beyond Agile, increases development velocity and quality.

Frank Nazzaro, CIO, Freddie Mac
Credit: Freddie Mac

Freddie Mac’s new CIO, Frank Nazzaro, knew he had to take a different approach to software development. The company and its customers were demanding digital solutions to increase efficiency and provide more advanced, customer-centric products.

In a drive to increase velocity and break down internal silos, Nazzaro enlisted his team and business partners from across the company to create an entirely new approach to the work that would help transform the 50-year old secondary mortgage market giant.

I recently spoke with Nazzaro about his approach to modern delivery and its impact on IT and the business. What follows is an edited transcript of that conversation.

Martha Heller: How do you define the modern delivery approach you’re bringing to Freddie Mac?

Frank Nazzaro: Modern delivery is the long-term shift in thinking and acting that is key to powering our digital transformation and delivering value to the business. It is made up of three fundamental components: technology enablement, agile execution, and organization and culture.

Technology enablement streamlines the software production process by interconnecting and automating the products we use to build, test, and deliver applications. Agile is the practice of designing how teams interact, how you generate requirements, and how you divide up the work to deliver it with more velocity and less risk. But the most important piece, and the most challenging one, is shifting the mindset of the organization toward these new practices. I cannot emphasize enough how fundamentally different the modern delivery mindset is to the way we ― and many other companies ― thought and worked in the past.

What makes the modern delivery approach so different?

With traditional software development, you go through analysis, scoping, budgeting, and proof of concept. That process was arduous and generated a lot of friction, due in part to the ongoing control gates necessary to make sure you’re managing your risk, costs and deadlines.

With modern delivery, you start with the discovery phase (vision of a product) and, rather than launch one huge, monolithic project, you break the project down into smaller, more manageable pieces. You assign the pieces to teams or create new teams who break the pieces down further into measurable delivery components. This way, you are delivering and testing more frequently and can more easily determine whether each outcome matches the original vision. Add the necessary feedback loops and this process reduces risk, lowers costs and improves quality. The more iterations you can go through, the more likely it is you will deliver high-value, high-quality products.

What is the organizational impact of this software delivery approach?

We used to work in vertical, siloed organizations with a classic hierarchy, in which approvals came from the top down. With modern delivery, we turned the organization sideways. We replaced the hierarchy and empowered the cross-functional execution teams that manage the delivery of their own product in alignment with metrics that define success. In making this change, we dramatically improved collaboration between the business and IT.

The responsibility for financial controls is another area of friction that goes away. By putting resources directly into the product, we’re supporting more effective allocation, management and transparency of resources invested. The development teams and the business are in direct control of the outcome.

How is the funding model different?

Modern delivery is based on a block-funding method. When we create a product, we size a pool of dollars, which the product teams will burn down over a period of time, and then we measure the output against the burn rate. That’s our value measure. What makes this so different is we are not funding the project in its entirety up front. We are working with a continuous delivery funding model where the block of funding may go up or down, depending on where you are in the product lifecycle. This means that the product owner controls the finances of the product as they would with any commercial product, which is how it should be.

Are you using the product model for solutions that are not revenue-generating or customer-facing?

Yes. My goal is for everything to be product aligned, because when you are product-aligned, you have accountability for vision, roadmap and budget with clear communication to customers, whether the customer is internal or external to the company. For example, storage, desktop-as-a-service and platform-as-a-service are all products in our service catalog. We are moving in the direction of assigning product teams to these areas, as well.

What advice do you have for CIOs looking to shift to a modern delivery mindset?

Be a coach: You can’t design a modern delivery approach, put together teams, and assume everything will work seamlessly. If you don’t have the machinery to monitor execution, provide feedback, and course-correct, you will fail. The organizational muscle memory pulls people back toward hierarchy; they tend to look for authority figures for answers rather than to themselves or their team. Product teams that suddenly realize they are empowered and accountable may dive in right away, but others may shy away from their new responsibilities. That is where the Coach needs to inspire, teach and support them to keep them on track.

As CIO, I spend most of my time coaching and asking questions: Is the model working? Are people following the model? Do we have the right people in the right roles? If this isn’t working, what do we need to fix? If one team is operating better than another, why? A big part of my job is to always evaluate and adjust the program.  

Ask your business partners to lead: While IT is driving the digital transformation overall, most of the people running the program are not from IT. We’ve brought in leaders across disciplines and business divisions to help run the program. This has been a multi-divisional effort with the right people who have the right personalities, resilience, and persistence to push this over the finish line.

Build a strong advisory partnership: You need a partner who has done this before and can provide external insight. As a developer by trade, I was invested in agile, but not in modern delivery. An advisory partner convinced me that modern delivery is more than agile practices. Once I really looked at the model and saw the ways we could remove friction and toil, I began to connect the dots and became modern delivery’s top evangelist.

Take an agile approach to the organization (treat it like software):  Don’t fall in love with your design. Experiment and try different approaches. Listen to the team for what works and what doesn’t. Be willing to adjust based on the feedback.