The most critical thing is usually the customer and optimizing for the customer means doing things differently:
* having the developers take customer calls and help requests
* increasing the amount of time the developers spend understanding the users - in order to reduce the amount of irrelevelant work being done
* cultivating a culture of 'code not written'
Do you really think that cranking code is the most important thing your organisation does?