Just been prompted by the Slingshot AF development blog to watch a video of Paul Browne talking about Agile and how to sell it to your manager.
I'm always looking for ways to improve our development process and Paul makes some interesting comments. Some that I noted were:
It's generally accepted that coding for re-use is 'good'. If you practice test-first development (I prefer 'test-during') then your JUnit tests are effectively the first case where your code is being re-used. The re-usability of the code will be affected as you are programming it to be test-friendly. Tools that I haven't tried yet are NUnit, NoUnit and XPlanner
Project Managers will like Agile because of the metrics, e.g. you can show that 50% of the issues to achieve a story are complete. Negotiation skills are important when deciding with the client which issues will be included in which release
Clients often only really want to know when the system is finished, but Agile involves them in the process. They will like the fact that they can always access a working version and see it growing, but they may need to be educated over time on being involved in the process. If requirements are allowed to change over time then the client will need to accept the balance in cost, time or other features lost.
Sales skills would be very useful for a 'techie'. People buy through fear or greed, identify the fear and you can convince someone to buy. E.g. to 'sell' Agile to a Project Manager tell them that they can deliver with fewer bugs and on time.