Arpmats is a system which knows which software is supposed to be installed on which machines, and ensures that the appropriate software is installed.
It depends on cfengine to discern which machines are in which classes, but once it has that information, it can figure the rest out (although it is necessary to specify via the management interface which packages should be installed on which classes of machines).
Want to have a look and see what ARPMATS can do? Well, having read the above description, you may want to check out the Screenshots. If you actually want to use it, you'll probably want to check the Prerequisites. Once you have these set up, you'll naturally need to download the software. After you've downloaded the software, you'll probably want to follow the instructions as to How To set it up. You may have some trouble with this, or you may need other information; if so, feel free to join the Mailing List.
If you're looking at being a developer, you'll probably want a pair of boxes to test it on. You could configure one computer as both client and server, but it's safer to configure one machine as the server, and have an (old) test machine as the client.
Once you've done a bit of a test setup yourself to see what it's like (see Administrators section, above, for details), you'll probably want to look at the System Architecture, and see how things fit together a bit more. After that, you'll want to head on over to the Arpmats Sourceforge Project. Also, if you're making any sizeable changes, it'll make things run much more smoothly if you join the mailing list and discuss the changes before coding them; that'll enable the other developers to comment on the changes you're planning to make, and hopefully help you to do things more easily. Also, it'd naturally be appreciated if you'd code in a similar style to what's already there.
Arpmats Project