Client: PeerView
Completed: September, 2003
Location: Off-site
We were fortunate enough to have complete control over the architecture of the application. Once again, the Struts framework was our weapon of choice, with Hibernate as the persistence layer. The process tended towards an agile one: Iterations were a week long, with a brief planning meeting with the client at the start of each iteration, starting with a brief retrospective on the prior iteration. Development was entirely test-driven. Our team was geographically dispersed, so pairing was not possible.
The persistence layer was configured using XDoclet. Despite initial difficulties due to inadequate documentation, encoding ORM information orthogonal to code flow proved to be extremely valuable. The same is most certainly not true of the XDoclet tags for Struts, since the core of Struts development is struts-config.xml - it makes sense to maintain it by hand.
Integration of a designer's HTML with a Programmer's code posed the usual set of problems. Mr. Tangney believes that the only reasonable way to handle this issue - endemic in the industry - is by pairing.
We brought our usability/CHI skills to bear to simplify the application considerably. That resulted in an app that presents a simple and clear system model to the user.
The end result was a very, very happy client (see Testimonials) and a solid application.