Agile was developed by technical people it was a creation of the software industry programmers sat in that room and created the agile Manifesto and the agile principles.

And then came certification. And with certification hordes and hordes of project managers started to get certified and they would sit for two days in a class and get a piece of paper and feel that that was some how significant and they literally took over the agile movement the agile movement shifted dramatically towards the project management side.

So when you think now, about the stuff going on in agile, you’re thinking about “kanban” and you know… “lean this”, and you know “Lean Startup that”. And where’s the technical discipline? Where’s the programmers?

And frankly the programmers have all fled.

You go to the agile conference now you don’t see an awful lot of programmers there. And you don’t see a lot of technical tracks there.

Although they try but it’s dominated heavily by the business people and the project managers. And this has caused an interesting split between those people who started a craftsmanship movement and those who maintain the agile practice.

The craftsmanship movement was an almost act of rebellion. There was a group of people saying “Wait a minute. We still have a voice here. We still have something to say. And we need to talk to these agile people, and get them to integrate with us, and that did not happen.”

And that’s ironic, because Kent Beck said something at Snowbird, he said “The goal for agile was to heal the divide between business and programming”. The reason we wanted to do Agile was to bring those two groups together. And I believe that’s completely failed. At least from the point of view of the movement. Maybe not in individual offices and individual projects it may be working fine there, but the movement itself has split.

So what’s going to have to change? Well one thing is that we, the agile community, is going to have to grow up. We’re going to have to define our profession. We programmers are going to have to define our profession. We’re going to have to choose our practices and disciplines. Is it going to be test driven development? Is it going to be pair programming? Is it going to be simple design, and continuous integration, and continuous deployment? Are those our disciplines? Let’s pick them. Let’s choose. Let’s decide what it means to be a programmer. What are the professional disciplines? We’re going to have to reunify the whole agile and craftsmanship movement. And we’re going to have to lead. Somebody’s going to have to lead.

Robert C. Martin