by
Robert Barr >> Wed, 28 Mar 2001 12:57:02 GMT
I have a student looking at JadeUnit now with the aim of using it in a teaching environment. I would certainly be keen to hear how other are finding using XP concepts in relation to Jade.
I have yet to come across a project that has been "formally" declared
as, and run as an XP methodology project. However, on reading Kent Beck and other's narratives describing XP, there was little that was unfamiliar. In fact, many XP principles and practices are familiar ingredients in my own recipes for succesful project delivery. I am therfore very pleased to see these practices formalised, and principles publicly endorsed. Of course, like any methodology, success is likely to rely more upon pragmatic than zealous application.
Re XP in relation to JADE, there are a few areas where JADE exhibits a special suitability to an evolutionary development process:
1. interpreted code makes the adoption of a unit testing discipline easier because of the immediacy of feedback - opening a workspace or jadescript to run test cases is often near effortless. In spite of the apparent interuption to my productivity, I always experience a warm feeling when I find a bug during unit testing because I know how much more effort would be involved in fixing it later. It should be a small step to provide formalised support for automated regression testing.
2. Although continual refactoring is a cornerstone of XP, XProponents admit that database refactoring is a problem, likening database definition to pouring a concrete foundation - once set, then it's well nigh impossible to change. Perhaps a weakness inherent in the way relational databases manage indices? JADE's integrated OO database makes data refactoring practical, with system-wide referential symbol/type integrity and hierarchical aggregation, I've seen massive and sweeping model refactoring take place in a matter of hours on JADE projects,
often with no impact on GUI developers. Tools to assist in relational database 'redesign' in line with changing requierments do exist, but change cycles can be days or weeks, and can involve massive incidental manual work.
I'd be interested in the thoughts and experience of others. Have you
come across further areas of JADE/XP synergy or defficiency?
For those new to XP and looking for somewhere to start, the following
get a gold star:
http://users.vnet.net/wwake/xp/
http://www.cutter.com/ead/ead0002.html http://www.martinfowler.com/articles/designDead.html
Beck, Kent. Extreme Programming Explained: Embrace Change. Addison-Wesley, 1999.