As a chess grandmaster once told me: “once you find a good move, search for a great move.” The same applies to systems engineering design, once you have found a good design, search for a better design.
A better design may not necessarily improve performance but may be easier to implement, or be future-proof, or circumvent some implementation difficulties.
The design should start with an individual exploration. This solo effort will have the highest chance of being original. Here, the most original ideas should be considered. The metaphorical lemon is squeezed to ensure that the best possible solution is proposed. Once an individual conceptualization of the solution is present in the mind of the systems engineer, cross-pollination with the ideas of other systems engineers and software or test engineers may rechannel or replace the original ideas obtained through the original solo investigation.
For cross-pollination and guidance in the design process, it helps to have a good systems team that is involved in the concept review and the drafting of the design, The best reviews are the ones where the attendees are attentive and where feedback is thorough at all levels from the high level concepts down to the details of the presentation of the design. I was lucky to work on a small and experienced systems engineering team of five. Design reviews were brutally frank and incisive. We all gave as good as we received and the outcome was excellent designs that were well organized and attentive to detail. By the time the design reached the software and test teams, we could concentrate on implementation issues and seldom had to change the high level concepts.
Beyond the systems team, good communication with the software and test teams at or before the concept review ensures that impossible approaches are discarded, practical points of view are considered, and previously identified pain points are remedied or avoided.
As part of the fleshing out of the design in the detailed design phase, the systems engineer should consider detailed use cases including adversarial scenarios. Problem use cases identified in the systems design phase will avoid costly problems in the field when bug fixes will be costly and slow to reach the already deployed product. The metaphorical lemon is squeezed again to identify all the possible impacts of the design. An error in the design at the systems level is at least ten times harder and ten times costlier to fix than an error in the software design, which is at least ten times costlier than an error in the coding of the software design. This multiplicative effect is the reason that enough time should be allocated to the systems design phase, and that the systems design should be given the attention it deserves.