Know what is needed, with clear declarations of priority in the form of detailed requirements and specifications. In ExtremeProgramming, the customer can change the requirements and specifications by adding or removing stories, or change the priority of stories. The programmer gets to see the new stories, estimate them, and inform that customer of the impact on the schedule. If the schedule no longer meets the customer's desired ship date, then the developer informs the customer, and the customer can either accept the new date, or remove enough lower priority stories to make the date. It is not a disaster for the customer to make changes, it is an inevitability.
Have clear and continuing communications with the client, both the end user and the "responsible authority."
Produce quality work at all times and have support for doing a quality job, even if it takes a little longer and requires buying tools.
Ask for and receive help from peers, superiors, and customers and have time and opportunities built into the schedule for communicating with other project members.
Make, and update your own estimates including having an input into your long range schedule and goals.
Have responsibility for your own day-to-day scheduling and goals.
Have management/client support for continuing education including but not limited to: books, subscriptions, time and money to try new programming tools, meetings, training, etc.
Use your own development tools where appropriate as long as the end result is compatible with your CustomersExpectations? .
And if you get all that, will you at long last take responsibility for the results?
In which way? Are you speaking as a customer unsatisfied with the features or quality of software? As a manager unsatisfied with the ability to make budget and/schedule? As a pundit unsatisfied with the industry in general? As a fellow software practitioner, unsatisfied with current methodologies, practices, techniques, and tools?
May I suggest ThirtyHourWeeks?
If you aren't allowed to set your own day-to-day scheduling and goals, I believe at least in California, labor law classifies you as non-exempt, which qualifies you for overtime pay (be sure to document your hours and tasks).
This doesn't sound right. From what I can find, in order to be exempt in California, you have to be salaried and perform either administrative, executive, or professional work. While part of the definition of professional work includes making independent decisions on a regular basis, no mention was made of scheduling or goals.
See CustomerBillOfRights, ExtremeProgrammingCorePractices, DeveloperBillOfResponsibilities, EveryonesRightsAndResponsibilities
See "Developer Rights" at http://www.xprogramming.com/products.htm