Software optimization

The classic software development model usually puts optimization at the end of a project. The word optimization almost implies this. You're taking something that already exists and making it better. But this can be a dangerous philosophy, because performance is often the result of designs that have been constructed with performance in mind, and it can be difficult or impossible at the end of a project to change a design at a fundamental level.

So while I agree that finicky optimization stuff fits nicely at the end of a project, this shouldn't be used an excuse to "not worry" about performance issues until the application is functionally complete.

For example, if you consider Google's products, which are search and other various rich web applications, it is evident when you use them that performance played a very significant role in the design of the products. Google most definitely didn't build these applications and then ask "but how can we make them fast"?