Bringing Design to Software