Ralph Johnson (computer scientist)
Before software can be reusable it first has to be usable.