This month's AgileNorth was a short presentation and following discussion on Applying Agile Software Practices to Consultancy Projects.
The 20-odd slides were presented by Simon Monk, CTO of Momote (Momote's wikipedia page). Momote offer products that allow the development of mobile applications that will run on any device from a consumer Java phone to a Windows Mobile PDA.
Simon has worked in an agile development way for some time and now wants to create a consultancy group that can work in an agile way. Momote are 6 months into offering consultancy services and have a small XP team for the main development of their MX platform. At the moment they have one consultant but are growing that team to three or four in the very near future.
Momote don't want to follow the traditional consultancy process which was described as:
* lengthy (and therefore costly) detailed requirements gathering
* Big Design Up Front - BDUF
* Severe project management - Gant charts, Microsoft Project, etc.
* Waterfall model of software projects - development, testing, delivery
They hope to offer a new way where they have happy customers & consultants, real & accurate project estimates and much more flexible requirements (so that the customer actually gets what they want rather than what was captured in the initial requirements capture session). They hope that the client still gets the security of fixed priced contract but with added flexibility and feedback that the agile approach can provide.
Momote wants to try and capitalise on the following agile practises:
* low cost estimates - requirements gathering takes about a day not weeks
* task estimates
* velocity & tracking
* flexible scope - customers are allowed two significant changes
* customer involvement
They have come up with a simple way to categorise projects to be able to give 'ball park' estimates to clients as part of their non-chargeable requirements capture phase:
|Requirements||2 days||4 days||5 days|
|Development||10 days||20 days||40 days|
|Handover||3 days||4 days||5 days|
As part of the output of this phase they produce a five to six page requirements specification which includes the initial project plan on the back page. They then follow up with the client by the use of weekly web-based review meetings. These meetings allow the client to review the work done so far, see how the actual productivity of the consultant matches against the estimated throughput and provides an opportunity to change the work plan for the following week.
They have found that a minority of customers are "too busy" for the weekly update meetings and just want Momote to produce what was initially discussed, but so far most clients have been very accepting of the 'new way'. In fact it was mentioned in the discussion section after the presentation that the weekly meetings seem to be key to the whole process working well.
A few software tools were mentioned in the discussion that followed:
Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management.I've blogged previously about:
Installing Trac on Linux (Debian Stable)
Creating a Trac instance on Debian Linux
Confluence is an enterprise wiki that makes it easy for your team to collaborate and share knowledge.
JIRA is a bug tracking, issue tracking, and project management application developed to make this process easier for your team. JIRA has been designed with a focus on task achievement, is instantly usable and is flexible to work with.
Watij (pronounced wattage) stands for Web Application Testing in Java. Watij is a pure Java API created to allow for the automation of web applications.
Technorati Tags: AgileNorth, Consultancy, Simon Monk, Momote, Andrew Beacock