Why we build simple software