XpLondon is a project to build a financial toolkit in a great hurry. The company recently restructured and in my new division we reckon that the best thing we can do with our experience of financial mathematics is to start by building a toolkit. We have 15 developers in the group, although some are working on existing products or other projects.
The technology is a core library in JavaLanguage (100%), using Microsoft's COM extensions to get us to VisualBasicForApplications so we can integrate with Excel.
Good news
- the development team seems to be keen on ExtremeProgramming. We already had a subgroup moving in the right direction, but when we formed the new team, I asked TimMackinnon and OliBye to come in and give a pep talk to prove that it wasn't just me spouting this stuff. Even better, the business (sales, support, and doc) team seem to be keen as it gives them a cleaner way to influence us.
- the management are either oblivious or sympathetic to XP. We've been nudging the divisional director (a keen internal wiki'er) to think about how XP might affect our commercial contracts and he understands the point.
- no legacy. This is a GreenFieldProject?, so we don't have to work with old code (except for the feeble JDK libraries).
- decent team. Although the company has had a difficult time shipping code in the past, there are good people on the crew and we know a lot about the domain.
- decent environment. As part of the reorg, the new director mandated a new look and we shuffled our desks round from facing rows to small "pods". I didn't get the ChryslerComprehensiveCompensation developer pool in the middle, but it's not bad.
Bad news
- schedule: "When do you want it?", "You mean it isn't ready yet!". We want this out in a hurry which puts a lot of stress on the project (although not on the people yet).
- learning curve, we have a lot of new tools as well as XP to deal with. We hope our mistakes don't bury us before we can ship.
- we're ramping up too quickly. We really should have spent more time with a small team getting the foundations laid and retraining people but that's the situation.
- IntegrationHell, we're probably using too many tools and binding them all together is taking longer than we'd like. We got one end-to-end prototype working (sighs of relief) and then took ages to get it nicely into SourceSafe. I'm trying hard to hang on to VisualAge for our core Java tool, but integration with the MS world may be just too painful.
Where are we now?
- We're doing PlanningGames to generate UserStories, and CommitmentSchedules to generate EngineeringTasks -- although our schedules are still too vague. We're logging all these on an internal Wiki.
- We're doing PairProgramming, although we're short of large monitors.
- We're doing UnitTesting and moving towards TestDrivenProgramming. We haven't quite resolved how to test Excel Spreadsheets.
- We're doing StandUpMeetings, which occasionally stretch into HeatedDiscussion?s -- must keep an eye on that.
- We have some UsersOnSite, although we're not sure if they're the appropriate users and it's hard for them to agree on a speculative development.
- We don't have a good ReleaseCycle?, largely because we're still trying to understand how all the pieces fit together. This is obviously a high priority for us.
- We don't have automated AcceptanceTests for the same reasons. It's beginning to come together but it's painful.
- I don't have a fraction of the time I need to do pairing and story development and generally push things along. One of the features of XP is that most everything happens during the working day, so there's a limit to how much more you can achieve by staying late -- even if you're allowed to. I regard this as a GoodThing.
Quote of the day
In the bar tonight, "We've bitten off an awful lot, but I'd rather do it with XP than any other way"
You wrote: "we reckon that the best thing we can do with our experience of financial mathematics is to start by building a toolkit" Do you have any real customers? Or are you trying to simplify future work with this toolkit? -- HaskoHeinecke
This is a speculative development, but this is what we know best, and we've had encouraging responses to our market research. Our principal user representative is our divisional director who has just come from the sort of environment we're targeting. It's not perfect, but it's not too bad. Of course, we have ideas about other uses for our toolkit. -- SF
17 October 1999
We've just had our first milestone and people seem remarkably happy about it. We made our demo without panics or pulling late nighters. We had a post-mortem in a pub and most of the objections were about how we do it, not whether we should. Where are we now?
- we have, effectively, a kind of ExcelUnit? -- a collection of sheets that can be run, via MicrosoftCom?, from the command line. This proved diabolical to get right, but seems to be settling.
- we ran a CoverageTool? for the first time last week and hit 89% running the deliverable code from the UnitTests. Of course it should, but conventional projects don't.
- we have a rough idea of our LoadFactor, but we've just started another cycle and intend to be more rigorous.
- our release cycle is too hard. People have avoided refactoring because of this, so we have to improve it.
- during a recent PlanningGame, the divisional director came in and we asked him to sort the UserStories in priority order. He did it, grumbling ("How hard can it be!?"), but he understood the process immediately.
- we need more large monitors
- we've hired OliBye part-time to wield the RolledUpNewspaper and mentor those on the team without the relevant experience.
Quote of the day
"I couldn't imagine developing any other way, now"
brief discussion moved to JavaWithMicrosoftCom
Does anyone know anything else about this project?
We've gone a bit quiet for commercial reasons. I'll see if I can add a bit -- sf
Is that quiet as in dead?