To be perfect does not mean that there is nothing to add, but rather there is nothing to take away Antoine de Saint-Exupery The drift-diffusion approximation has served for more than two decades as the cornerstone for the numerical simulation of semiconductor devices. However, the tremendous speed in the development of the semiconductor industry demands numerical simulation tools that are efficient and provide reliable results. This makes the development of a simulation tool an interdisciplinary task in which physics, numerical algorithms, and device technology merge. For the sake of an efficient code there are trade-offs between the different influencing factors. The numerical performance of a program that is highly flexible in device types and the geometries it covers certainly cannot compare with a program that is optimized for one type of device only. Very often the device is sufficiently described by a two- dimensional geometry. This is the case in a MOSFET, for example, if the gate length is small compared with the gate width. In these cases the geometry reduces to the specification of a two-dimensional device. Here again the simplest geometries, which are planar or at least rectangular surfaces, will give the most efficient numerical codes. The device engineer has to decide whether this reduced description of the real device is still suitable for his purposes.