Software Quality: Producing Practical, Consistent Software