The process of ideating and developing products (including software products) falls within the domain of Complex Systems. A complex system is a dynamic network of interactions, where the behaviour of the system as a whole may not be predictable based on the behaviour of its component. A model such as the Cynefin Framework which was developed by David Snowden has helped with our understanding of complexity and our approach to addressing complex real world problems.