The current state of traditional software development is surveyed and essential problems are investigated on the basis of empirical data and theoretical considerations. The concept of optimisation cycle is proposed as a solution for simultaneous engineering. The relationships of several different kinds of local optimisation cycles to the specifications, the communications, and the optimisation problem are integrated into a concept of participatory software development. Software development without integrated work- and task-organisational development is sub-optimal. User participation and prototyping significantly decrease cost and time over-runs. Process moderation methods (e.g. workshops) are time effective and lead to best results for the...