I believe:

#1 It’s all about the user

All functionality is created out of a user need and from a user perspective. Asking the questions; As a user… What problem does this solve for me? Does this make me happy? Is it better than the alternative?

#2 systems should match the real world

The product should speak the users' language, with words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in a natural and logical order.

#3 you should assume nothing

Functionalities are created based on research and conventions. Any further design decisions should be the result of user testing. Personal preference does not enter the equation

#4 testing should be done often

Test early. Get the feedback loop moving with users. Use this information to iterate and test again.

#5 work should be structured and clean

Design should not contain information which is irrelevant or rarely needed. The design should bear this in mind both informationally and aesthetically.

#6 live in the now, build for the future

All functionality is created to be relevant to the current situation, fully extendable and scalable for future iterations.