Vários princípios governam a criação e design de software. Eis uma lista de alguns.
O Príncipio da Mínima Surpresa se aplica em diferentes partes de um software. Pode ser aplicado ao código e ao design de código. Pode ser aplica à funcionamento da interfaces (UX/UI). Pode ser aplicado ao próprio produto de software em si.
Em todas as sua aplicação este príncipio significa que quem usa o software deve se surpreender o mínimo possível, pois quando mais o usuário se surpreende mais ele cria uma rejeição natural.
Em termos de código este príncipio é equivalente ao número de WTF por segundo que programador vai proferir ao revisar o código ou tentar usar um dos componentes do código. Mau design, má escolha de nomes, ambiguidade e não seguimento de boas práticas são exemplos comuns de causas de surpresa neste nível.
Em termos de UX/UI o usuário espera certas operações para certas entidades. Quando essas operações não estão disponíveis o usuário se surpreende negativamente, pois ele já viu outros sistemas com essas funcionalidades. O seguimento de padrões gráficos e tendências em UX é importante para que o usuário sinta que o que aprender em outros softwares também vale neste.
Em termos de produto é um pouco igual. O usuário espera certa funcionalidades relacionadas. Por exemplo, se ha um login, ha um cadastro de usuário onde trocar o nome, a senha e o email de contato. Se ha uma funcionalidade para realizar uma operação, ha uma funcionalidade para a desfazer caso haje enganos ou erros.