Today I was talking to a new developer about how Agile works and how it has become almost the de-facto methodology replacing waterfall. He seemed to buy into what I was saying. I told him how we need to embrace change rather that fight change and how you add value to your product if you identify what works and what does not, ultimately create a product that meets what the customer may not have envisioned in the first place, but in fact exceeds that. Basically I was explaining him how you start to work on version 1.0 and at the end of it, you might actually have a version 2.0.
I think Agile works for smaller projects also. Basically, if we have the mindset of change is acceptable and re-work is actually refactoring (making better) and we can make clients understand that as well (because more hours also mean better product and little more money as well) we could do Agile for small projects as well.
As far as a tool to suggest in order to do manage agile projects, there is rally. Community version is free to use for up to 10-man project. But we can manage only 1 project in the community edition. It is hosted on rally’s on server. Another tool is JIRA with greenhopper plugin. It is one of Atlassian tools. Other good tools from Atlassian family are Cruicible for peer review and bamboo for continuous integration. These other tools make sense only for Enterprise Level application. I am sure most of us are familiar with these and other tools as well.