<<< More challenges | Index | Design aims and means >>> |
Most fundamental problem in software development is complexity.
Dealing with complexity: divide and conquer!
Two sub-problems are more than half-solved by their separation!
For both people and programs, separation is easy.
This simple principle can be applied in an amazing variety of ways.
implementations are connected only by a well-defined set of interfaces
processes are broken into distinct activities
interactions are well-defined between the people using the system.
Most experience is required when
selecting parts
specifying the interfaces between parts.
<<< More challenges | Index | Design aims and means >>> |