I'm a developer with a little over 15 years of project experience, primarily in Microsoft Visual Studio, emphasizing process automation, systems conversion, financial reporting and web design in a leadership role. Over the years, I developed an aptitude for collaborative project specification and detail prioritization, but found that priorities change as a project progresses. For several years, my estimates have steadily improved by observing past project metrics using utilities such as UltraApps Issue Manager, ScrumWorks, JIRA, SharePoint Portal Server, and custom applications to plan and track agile project development and testing responsibilities.
To me, Agile project management has meant accepting that, working closely with stakeholders, it's possible to negotiate, prototype and release incremental milestones toward a deliverable which may not be clearly defined until very different avenues have been explored. Instead of demanding complete formal specifications up front, the requirements evolve to fit the intersection of the optimal and the practical.