Yet another clustered SMP does not require this. The build system needs to be able to differentiate between these models and react accordingly. The main problem here was flexibility and ability to tie to other tools in the SE suite. The parallel architecture issue also appears here. In fact, these issues forced us to stick with CVS, mostly because it was easy to configure it to work across a network, on heterogeneous systems, and recognize the differences in build system architectures mentioned above.
Documentation always seems to be a problem.
What is needed are some good automated document ion tools that can pull comments out of source code and create a base programmers, or even user, manual. Self-discipline would be required to use such a tool, but it would have been very useful to have something like this available. We had several false starts trying to come up with something ourselves and never solved the problem, and again, the problem was they will not port easily to another project. Code navigation tools, to help a new developer come to grips with a complex piece of software, would be nice. A good source browser, that is also parallel-aware, to point out where parallelism is occurring and where it is not.