A software product is produced by defining a functional model of the
overall software product, designing, based on this functional model, a
plurality n of configurations and slices of the software product, wherein
a configuration is the entirety or a part of the software product forming
an independently testable unit and a slice is a set of functions of the
software product constructed together and forming the entirety or part of
a configuration. The n slices are independently constructed wherein the
first slice forms the first configuration. The second to n-th
configurations are formed by integrating the k-th configuration with the
(k-1)-th slice, wherein k is 1, . . . n-1 Subsequently a first to n-th
configuration are tested independently. This software development
approach allows an integration of the overall systems in parts as early
as possible and to gradually increase the number of integrated components
in a controlled, but manageable fashion. This allows achievement of a
highly efficient use of resources within a short development time.