Martin Fowler Hones Agile Thinking

ThoughtWorks' chief scientist is agile development's chief evangelist.

Andy Dornan, Contributor

December 14, 2007

4 Min Read

Seven years ago, Martin Fowler and 16 other programmers published The Manifesto For Agile Software Development. Their goal was to revolutionize the software industry, emphasizing freedom over bureaucracy and rapid delivery of useful code over planning.

They partly succeeded. "At the time it was written, we seemed to need to hide what we were doing," Fowler says. "Now there are conferences on agile development, and they've gotten a lot of attendance."

Fowler puts the theory into practice as chief scientist at ThoughtWorks, a global consultancy, where he advises 800 employees--and many more outside developers who follow agile methods.

Famous for his evangelism of the Ruby programming language, Fowler is also an open source disciple, believing that it saved Java by letting more developers innovate. But that doesn't make him anti-Microsoft--he uses both Java and .Net. "I want a strong Microsoft, an effective competitor," he says. The best way for Microsoft to stay strong, he says, is to embrace open source.

ThoughtWorks is unabashedly elitist. "We believe the key to writing good software is to have good programmers," he says. The company is said to hire only one out of 100 applicants. That may be an exaggeration, Fowler says--but not by much.

"You don't have to accept less-talented people," he adds. "It's the more talented people who get most of the work done." And that's where Fowler puts his energy--making it possible for the most talented to accomplish more than ever.

Q&A With Martin Fowler

InformationWeek: What do you think of programming tools aimed at non-developers, like mashup platforms and Microsoft's Oslo project?

Fowler: When people say we don't need programmers any more, I tend to smirk. You need a certain kind of mindset to program computers effectively. There's a difference between writing tools that allow muppet programmers to churn software out and getting business people more involved in development.

We want programmers to engage more fully with the business side, who are in themselves may be great people but not great programmers. I think we can gain considerably in the industry by having more rich relationships between the business and programming.

IW: You're a fan of open source?

Fowler: Back in 2000, we were quite keen to use a number of open-source technologies, but there was enormous resistance from clients. What we've seen is open source efforts have now taken the initiative in enterprise programming. The open source community has saved the enterprise Java platform.

As we look to the future, we're seeing the rise of language platforms where it's all open source. The entire Java community is completely dominated by open source efforts.

IW: And Microsoft?

Fowler: I think there are a number of different forces with Microsoft. On one side, there's the old school that says, "Opens-source is a threat, criticize us and you're an enemy." But another side welcomes constructive criticism and wants to coexist with open-source. It's a big company, so there's lots of conflict.

IW: Why are you such a proponent of Ruby?

Fowler: The overwhelming reason is that I talk to developers, and they say they're more productive in Ruby. There's even more potential as Ruby becomes available on other platforms. You can run Ruby on the JVM with JRuby or on the CLR with IronRuby. That's a great example of Microsoft and open source working together.

IW: ThoughtWorks is famous for hiring only one out of every 100 applicants. How do you select the one?

Fowler: One of the main reasons I joined ThoughtWorks was the high recruitment bar, but I'm not directly involved in recruitment. My role is to attract the 100.

If you want to be the one, the rough process starts when you send in some of your code to fix some sample problems. That's just an initial filter. Then we have a battery of tests, plus pair programming where a candidate will spend time programming with an experienced ThoughtWorker. The key to it is lots of contact with people in the field.

IW: Can your techniques be used by the other 99% of us?

Fowler: The basic techniques apply to a larger proportion than 1%. But the key value is made by people who are more able. A lot of teams can be enabled by getting better people. Programming is in the end a talent-based exercise.

Return to the story:
15 Innovators & Influencers Who Will Make A Difference In 2008 Continue to the sidebar:
The No-Brainers Of The Bunch

About the Author(s)

Never Miss a Beat: Get a snapshot of the issues affecting the IT industry straight to your inbox.

You May Also Like

More Insights