How to Design a System