Definition of a Process Engineer
A Process Engineer role as defined in the Rational Unified Process (RUP for short) is as follows:
"The process engineer role is responsible for the software development process itself. This includes configuring the process before project startup and continuously improving the process during the development effort."
While this definition is pretty accurate, short and sweet and to the point, it does of course imply that the person needs to know a lot about software development across the board. The person will need to understand requirements, analysis, design, coding, testing, configuration management, architecture & project management.
As to whether a process Engineer is needed on a project is also dependant upon the size of the team or project under consideration.
XP does not call the role Process Engineer, but Coach. Its definition is:
"As coach, you are responsible for the process as a whole. You notice when people are deviating from the team's process and bring this to the team's attention. You remain calm when everyone else is panicking.."
References
Beck, Kent. 2000. extreme Programming explained - embrace change. Addison-Wesley. ISBN 201-61641-6.
Edwards, Charles. 2002. ProcessWave Limited.