Friday, October 07, 2011
What are the major trends you see in today’s software development world?
If you look at the recent survey done by VersionOne, you will see that today over a third of development is running under the Agile banner. That’s up from just a few percent ten years ago. Traditional project management is actually less than a third of development today, and shrinking rapidly. If you look within Agile development, 75 percent of the people will say that they are doing SCRUM. So SCRUM is expanding. With SCRUM groups you will see a good number, 14 percent, are doing extreme programming practices inside the SCRUM, and there is where we see the fastest teams: using the SCRUM management practice with the extreme programming engineering practices inside.
How are the traditional and extreme programming methods combined in practice?
It’s not traditional practice. SCRUM is a framework for teams using engineering practices outlined by the extreme programming. The first SCRUM team implemented all the extreme programming practices before extreme programming existed. In fact Kent Beck, who started extreme programming, asked me to send him all the information I had on SCRUM, and he had everything about SCRUM before he started working on extreme programming. So when I got together in 1995 with Ken Schwaber to talk about moving SCRUM out into the industry, Ken felt we should just present SCRUM as the team framework: the product order, the SCRUM master, the team, the scrum meetings (how they work together), and the SCRUM artifacts (how you track and manage a SCRUM project). And he felt that if we did that, SCRUM could be implemented very quickly in two days and over time, people could improve the engineering practices using the continuous improvement that is embedded in SCRUM. And when they looked at removing the impediments that were blocking their progress, many of them would be engineering problems and they could look to extreme programming practices to help them with that.
Are there any significant new ideas in this field in the last few years or are they just repetitions of previously known methods?
In one sense there is nothing new. SCRUM was a way to bring together everything we had learned in the last 50 or 60 years in software development and frame it in a way that people could use that knowledge and improve their teams rapidly. So the big changes over the last decade have been teams getting better at doing the basics.
What are the key ideas of the scrum methodology? How does it differ from other approaches?
Takeuchi and Nonaka observed in the paper that launched Scrum that great teams exhibit autonomy, transcendence, and cross-fertilization. The teams they studied had a goal that transcended themselves. They used the knowledge of the cross functional team to facilitate cross learning and building craftsmanship and mastery of their profession. This intense cross functional team working together reminded Takeuchi and Nonaka of the scrum formation in rugby. And so they called this style of management SCRUM project management. And they said that if you get this small team really working together, you generate a cycle of knowledge and improvement quickly—so your products are more innovative, they come to market faster, the users like them better, and the company is more successful. So this scrum idea is fundamentally what Takeuchi and Nonaka saw in the best companies in the world.
Now, it’s interesting that when Westerners looked at what Toyota, for example, was doing, they noticed all the lean techniques: just in time delivery, kanban boards for driving production, all of these things…and the Westerners thought that all of these techniques were what made things work well and the called that ‘Lean’ in the west. But Takeuchi and Nonaka don’t talk about that. They say those techniques are side effects of rapidly evolving SCRUM teams who are generating new knowledge. And part of that new knowledge are new ways to implement. So in recent years, when people have visited Toyota and they’ve talked to the management and said, “Well, we don’t see the same practices at Toyota City in manufacturing cars today that are written up in the Lean textbooks. You’ve changed a lot of them. How can that be?” And the Toyota management will say, “Well, the Toyota way is all about respect for people and the teams doing continuous improvement. So they are constantly changing their practices. In order to go faster, they threw away some of those things that you guys are using in the west and now they are using new techniques.” The core of the issue is the team and the people. That’s the genius of Takeuchi and Nonaka and that’s what we implemented with SCRUM, and we did it in software. They weren’t specifically looking at software, they were looking at everything—you know, all companies. What are the best teams in any company in the world? What are they doing? They’re doing SCRUM. That’s what Takeuchi and Nonaka say. They are doing that team process.
When should it be used in practice?
One of the interesting things about getting a small team together—getting them to work together, getting them to build a backlog like we do in SCRUM, getting them to execute it quickly—it turns out that that works for anything. I work with the Open View Venture Partners, a venture capital firm, and they realized that SCRUM is not the software, that’s what Takeuchi and Nonaka said. SCRUM is getting anything done fast. You can double the output of anything by implementing SCRUM. So Open View implemented SCRUM everywhere—in finance, in administration, in teams that support our investments, teams that search for investments, all of these things—and as a result, many of their companies (we have 14 companies around the world that we are invested in right now that are doing SCRUM, and we’re investing in new companies all the time and we want them all to be SCRUM) and we find that those companies start to implement SCRUM—we have CEOs who have SCRUM boards in their office, they’re running SCRUM for their senior management team, they’re running it in sales, they’re running it in finance, in marketing and support. SCRUM is a process that is useful if you want to integrate, if you want to deliver sooner, if you want to deliver a higher quality product, SCRUM will always make that happen better than traditional ways of approaching project management.
Why did you decide to participate in CEE-SECR 2011?
Richard Soley, the CEO of the Object Management Group (OMG), whom I have known for many years, asked me if I would come to Moscow. I have very little time to travel beyond my clients in Europe and the United States but he pointed out to me that an old colleague, Nick Puntikov, was the chairman of the conference. Now I had worked with Nick back when he was the head of the StarSoft development labs in St. Petersburg. I had done training there. He had some of the highest performing teams in the world doing extreme programming but also working around the world with U.S. companies and other companies doing SCRUM with extreme programming inside. So I started talking with Nick, and Nick convinced me to come to Moscow. So that’s why I’m coming to Moscow.
What are your personal expectations of the conference?
As I said, I’ve been working with SCRUM companies in St. Petersburg and elsewhere so I know that there are a lot of very good Russian software developers, and I think that many of them will be at that conference—Nick said it’s one of the best conferences in Russia—and so I am going to be doing some training there and also some talking and I think it will be similar to some of the other conferences that I attend around the world. People who want to build better software, work faster, build better teams who are in Russia, I think will be there and we should all have a good time talking about it.
Posted by Jeff Sutherland at 11:13 AM