Home > Lessons from a Yahoo Scrum Rollout

Dev Trends

Lessons from a Yahoo Scrum Rollout

Yahoo's top coach in Agile practices describes the process, and how it speeds up Web application delivery

2/5/2008

KM: Is change a good thing in the Agile/Scrum world?

Benefield: I think it's very human to change our minds. As soon as you start building a product and you get to see it, you want to start making changes. Instead of saying, "You can't change it," we really embrace [change]. In the Internet space, you have to be able to change really quickly. An example is that we were building the backend of mass storage for Yahoo Mail. Partway through, a competitor offered a huge amount of storage for mail. So we had to react incredibly quickly, and if we had been doing traditional waterfall, there's no way we could have [done it], and we were able to compete and meet that competitive threat very quickly. We've seen that [happen] time and time again with products.

Traditionally, companies do change management, and they add all of these change requests, which is the way that companies make money. It looks like they are on time and budget, but the projects can take twice as long because of all of these change requests that get added on. It's like putting a bill through Congress--people lobby and add on things.

KM: If you develop with the idea of changing quickly, does that pull you back toward a more prescribed method?

Benefield: Agile is very disciplined. We are very disciplined about things like having tests around all of your code, so you have the courage to make a change and understand what effect that has. It's not chaos where everyone is trying out ideas. We allow the teams to self-organize and the ideas flow out of the team. The management and the product person have ultimate control over which ideas we go with. So they prioritize from the business side; they are very much in touch with that. They have ultimate control on when we release product, what we are releasing and knowing about the market. The team is making decisions about how they do the work itself. You want to be thinking modular. You don't want to architect solutions that keep you along particular pathways where you can't make change.

KM: How frequently do you test?

Benefield: [Agile teams] call themselves "test infected." The developer or the product person will work to explain their requirements in terms of something called acceptance tests. For example, some Visa card will pass that test, but an American Express card will fail. They are very clear about the customer value and acceptance criteria tests. The developer will write a test first and they will execute the test, and we know it will fail because there's no code yet. They will write the code and run the test. If the code passes, great; if not, they fix the code immediately. We move testing from the end up to the front, because it's more expensive to find bugs at the end.

KM: Where is this all going? Will Agile be the method?

Benefield: At Yahoo, we would never want to mandate this process. I think the process is one that stands on its own and people choose to use it. Over time, it's become very dominant. One of the cofounders at Yahoo said that Agile has been one of the most positive things to happen to the company. Over time, to truly compete, I believe that Agile is the best thing for the company.

Editor's note: Readers interested in the effectiveness of Agile development processes at Yahoo can find further details in Gabrielle Benefield's paper, "Rolling out Agile in a Large Enterprise," which is available here.


Kurt Mackie is online news editor, Enterprise Group, at 1105 Media Inc. You can contact Kurt at kmackie@1105media.com.

Cite this Site

Kurt Mackie, "Lessons from a Yahoo Scrum Rollout," Campus Technology, 2/5/2008, http://www.campustechnology.com/article.aspx?aid=58014

copy text (above) for proper citation



Recommended Reading