Sri Lankan architect, Goeffrey Bawa, is known for his incredible body of work, and for his approach of designing in context.
His design principles translate surprisingly well to software product design:
1. Design to human needs
2. Design within the larger context
3. Stay true to the materials used