Our development philosophy is simple.
# 1: Find out what people want, and give it to them.
Push features that our customers need. Give our customers a voice in the direction of our product, and sincerely listen to them when they speak. We grow when we provide value to our customers. The best way to provide value is to avoid guessing what our customers need; instead, we ask what our customers need and fulfill those requirements.
#2: Give customers a product which is simple and intuitive to use
Complexity is often a tradeoff for increased functionality, but with careful work we strive to avoid the trap of adding unneeded complexity to achieve full functionality. If you have to explain how the software works too often, it may be elegantly written, but it isn’t necessarily well designed.
#3: Bake in reliability as a core element.
Features don’t cut it when your software doesn’t work as promised. Deliver a product that does what it says does, and does it reliably. Further, bake increased reliability into each release iteration as a core component of the development cycle.