- Agile Software Development, Agile SD, are ideas emerged from a community of experienced software developers. This is why the Manifesto for Agile SD starts with
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value...
- Agile SD carries new powerful and productive values for software development that can enhance the software technical quality and the final product delivery, at the same time. This is reason behind the debate about Agile Project Management. Valuable principles and practices in Agile SD share the same concepts with the traditional best practices of project management. While, of course, adopting Agile SD will affect the traditional shape of project management and I guess this is the reason for emerging what is so called Agile Project Management, which I think is just about managing an Agile software development environment. I think managing agile software projects is still an evolving issue and didn't reach a final shape. So, I'll postpone searching in Agile Project Management, for a while and continue with Agile SD.
- Agile SD is a set of several methodologies, Agile Methods, that tell new ideas and practices to build a software. Famous agile methods are Extreme Programming, XP, and Scrum. XP is what I prefer currently.
Continuous attention to technical excellence and good design enhances agility.
The best architectures, requirements, and designs emerge from self-organizing teams.From practice viewpoint, I worked for about 3 years on projects with a very changing requirements. And the response of project manager was something similar to Agile principles. But, sadly, I rate these projects as failed projects although that they produced software that is still in use and carrying out daily operations for my company. I tried to figure out why we failed although we had same the principles of Agile SD? I found the answer that Agile SD developed methods to guarantee success and complete adoption to principles. So, If you are following XP, for example, you have to plan for releases and iterations and stick to them and when you are in need to make a change, sure you will need, you have to re-plan you iterations or releases to avoid to be in mess of uncontrolled changes. Agile SD provides measures of performance, like Trend Velocity, that you have to use to assess you performance and to estimate suitable work loads. Sometimes, practiced against the Agile SD practices under the pressure of uncontrolled project environment. I can't guarantee to be correct about all what I stated above but I think I won't be mistaken about it all. So, comments will be much helpful to continue.