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 analysis of requirements. Relevance to industry There is a growing realisation that the construction, implementation and performance of modern software products crucially depends on getting the social and organisational issues right. The user-oriented approach outlined in the paper explicitly aims to present a process model that incorporates method and techniques for the requirements analysis. The practical problems of this iterative cyclic process model are discussed and recommendations are made to guide industrial managers, engineers and human factor specialists involved in the process of simultaneous production.