by Sjur N. Moshagen
An overview of methods, tools and processes for managing software development projects. Language technology projects are essentially software development, and proofing tools development even more so.Initially, this is just a collection of links to useful internal and external documents:
The main highlights from the Dixite document is the following process and related tools:
We have so far not had any real development process, only doing bits of 4 and 5 without support from a real plan, no design, no specifications, and testing only of the inflection of the linguistic models (we have very recently added the facilities to test two-level rules, but that isn't put to much use yet).
We are already using several of the tools listed by Dixite (CVS, Bugzilla, XML-based documentation). If we set up a development process similar to the above, with software used specified, we arrive at the following:
For the missing parts I suggest we look more into the following packages:
After having investigated several tools and options, the following set of tools is what we will use for the main phases of our project (editors of different types, like SubEthaEdit, emacs and XXE, are not listed, just assumed):
What is still open, is how to test Aspell and similar engines, as well as the hyphenation. For Aspell and other Unix spellers, a lot of testing can be automated, and the routines needs to be worked out. All testing needs to be formalised, and the results should be collected systematically, preferably automatically, and stored and processed to monitor the development of the tools.
UML is news to most of us, so here's a list of references.