Large software components - content management systems, workflow engines, ERP systems, CRM tools - promise much, but often seem to deliver less and with great difficulty. There sometimes seems to be some distance between what the product claims to do, and what it actually does. Sometimes it almost does what you need, but not quite.
It may present a myriad of possibilities, but give no guidance as to the best path. Alternatively, it may promote one true way and punish those who need to take the highways and byways. However, all these types of systems have one thing in common - you have no choice but to use what's in front of you.
Recently, Practical Law has replaced a large web application developed in-house over many years with an equivalent system developed atop FatWire Content Server, a 3rd-party content management system of precisely the category described above. The project went live on 6 September, having slipped 5 weeks on a 9 month plan.
This talk is not about how wonderful Fatwire is, or how wonderful we at Practical Law are. Nor can it examine the reasons why the previous application was obsoleted, or how FatWire became the substrate for the new development. Instead, we want to look at the obstacles presented by our content management system and of our own devising, and how we overcame them. From that we'll try to draw lessons that implementators on and (this may be wishful thinking) vendors of large software systems might do well to learn.