I had always thought of design principles as objectives that help the designer choose between options. But, as I worked, I realised that design principles only provide guidance towards an acceptable solution space. Within that space there are still many choices to be made for which one needs additional decision criteria.
But design principles have another use. They help during implementation of the design. Not only do they help the different parties understand the higher level objectives, but they also help when those implementing the design come across something that has not been anticipated. They continue to give guidance towards an appropriate solution space.
The problem though is how to develop design principles. Of course this can be done informally by talking to people. But, is there a methodology that is a little more rigorous? My own method is to start with the stakeholders of the “thing” that is being designed – customers, suppliers, employees, shareholders, etc. What is each of these stakeholders expecting from his or her relationship with this “thing”? What should they expect? What is the strategy? The “promise” to each stakeholder is a required output of the design .. and can be turned into a design principle. If the design is good, it will deliver to all stakeholders beyond their expectations.