James Taylor
smartenoughsystems.com

Ann All had a post on Agile development brings IT, business together that had the great phrase “application development 2.0″. In the article she mentioned some very worthy objectives for this 2.0 version of application development. Here they are, paraphrased slightly.

* Encourage close collaboration between developers and end users
* Involve users in quality assurance processes
* Don’t use traditional programming languages
* Stress simplicity
* Emphasize frequent releases
* Users, not developers, should determine new features

I will come back to the bit about “Use dynamic scripting languages like Ruby, Python and Perl” in a moment. Back to the list.

I am struck by the inherent contradiction between this list and traditional development technologies – code, to be blunt. How can we expect close collaboration between developers and end users if the developers are using a language (Java, C#, Perl) that the end users cannot read? How can users do quality assurance on code they can’t read? Perhaps users can be the drivers for new features, but wouldn’t it be better if they could actually so something about the features they want? How frequent can releases be if the code must go through the usual QA/test/deploy sequence?

Read on …….