O'Reilly logo
  • Jonathan Stevens thinks this is interesting:

You must not only write code for the feature you plan to deliver today, you must also create code that is amenable to being changed later. For any period of time that extends past initial delivery of the beta, the cost of change will eventually eclipse the original cost of the application.


Cover of Practical Object-Oriented Design in Ruby: An Agile Primer


If they ask you add a new invoice number this week and it take you a day. And they ask you to add another invoice number next week, you should be able to do again quickly. Every time you make a change, make it even easier the next time.