Speeding up the Sprint
If you are familiar with our project through previous blogs you will be aware that the term "Velocity" in the Agile methodology refers to how many points of work the team can get through in a given sprint. The higher the value, the more deliverable is the sprint. The easiest way to increase this as you would imagine is additional team members, however process improvement and increased effectiveness within the team can also help. Thus I am pleased to say that due to some new tooling around the Force.com Metadata API (part of the Development as a Service feature set) we been able to add an additional point to our sprints!
Not to be out done by Salesforce we've had a go at developing some of our own tooling. In doing so we have now added another form of Velocity to the sprint! This is in the form of the co-incidentally named Apache Velocity templating tool. Although it is still early days, through building our own set of Velocity templates we have started to reduce the amount of repetitive and 'boiler plate' coding we have been performing. Which does also reduce the possibility of errors, and as such improves quality.
To integrate Force.com into Apache Velocity, we have used an open source tool named Force Velocity. Stephen, one of our developers, has developed a template that generates an Apex class that provides the same functionality as the DescribeSObject API call not currently available in Apex Code at present. Gareth, our Help author is also interested in understanding if it can help reduce duplication in the online help when field information is documented. So who knows - maybe in a future blog we will start to see how Apache Velocity is impacting our own sprint Velocity in very real way!