Original URL: http://www.theregister.co.uk/2007/10/15/zend/

Calling the PHP cowboys in from the range

Agile is 'perfect for PHP programmers'

By John K Waters

Posted in Developer, 15th October 2007 19:54 GMT

Now that PHP is taking that big step from popular webhead scripter to serious enterprise tech, PHP coders need to add a new word to their vocabularies: methodology. Of course, there’s no quicker way to send cowboy coders stampeding for the hills than to say that word. (“Process” would do it, too, and there would be screaming.)

But Eddo Rotman says the change doesn’t have to hurt - much. His solution: agile development methodologies.

“Agile is a buzzword, if you want the truth about it,” Rotman tells The Register. “But a lot of people know what it is, and therefore maybe we can change the world a little and get people to use it. Also, it’s perfect for PHP programmers.”

Rotman is a senior PHP engineer at Zend Technologies, the Cupertino, California-based creator and commercial maintainer of PHP. He led a session at last week's Zend/PHP conference (October 8-11), held in nearby Burlingame, entitled “PHP & Agile Development Methodologies.”

Unlike traditional software development methodologies (such as the waterfall method), agile methods (also known as lightweight methods) have few rules and practices, all of which are relatively easy to follow. They emphasis individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan. (There's an actual agile manifesto and more information at: http://agilemanifesto.org.)

All of which makes agile methods perfect for PHP programmers, says Rotman. “With agile, they get their hands dirty very quickly, and they’re part of the process all the way,” he says. “They are stake holders in the whole process, and it’s easier for them to switch.”

But why should they make that switch? One of PHP’s best qualities is its accessibility. Basically, you can just log on to PHP.net and start programming. It’s fast, it’s fun to use, and you don’t have to be an engineer to get good at it. Why complicate it with process? "Within the PHP community, you have two factions," observes Gartner analyst Mark Driver. "You have one group that loves the simplicity of PHP and doesn't want that to change at all. And you have another group that wants PHP to be more robust, to compete better with technologies like .NET and Java, and to attract an enterprise-class developer. Zend is clearly in this latter camp, and really wants to push PHP to become a tier-one deployment technology, and not just a hobbyist tool."

“A lot who start coding with PHP never think about the bigger processes around it, and that just doesn’t work in the enterprise,” Rotman says. “Marketing managers love PHP, because they get results, fast, but they don’t see the code in the background. They don’t think about the fact that in two years or even less, when they want to make a change, they’ll have such spaghetti code that the programmers will have to go through hell to change anything. The programmers need to think about this. If you want to plan for the long run, you have to some process.

Agile development methodologies have been around for a while now, and the list of them is long. It includes:

Which agile method does Rotman recommend? “I use a mix,” he says. “I go for the principles.” ®