Good software project management minimalizes the time required to create, modify, and maintain the software while achieving acceptable runtime performance.
This definition and the conclusion it leads to, are the most important things I keep in mind when considering project management. I follow some core management principles, and I have some techniques that are useful for the different projects that I work with. However I am willing to throw away even the management principles if they get in the way of reducing programmer time and, most importantly, solving real customer problems.
The same is true of agile software project management. Ultimately, what matters is success, however you define it. The practices, principles, and values are merely guides along the way. Start by following the practices rigorously. Learn what the principles mean. Break the rules, experiment, see what works, and learn some more. Share your insights and passion, and learn even more.
Over time, with discipline and success, even the principles will seem less important. When doing the right thing is instinct and intuition, finely honed by experience, it’s time to leave rules and principles behind. When you manage great projects for a valuable purpose and pass your wisdom on to the next generation of projects, you will have mastered the art of successful software project management.
What you read above is a slight modification of a few paragraphs from the book The Art of Agile Development. It summarizes my attitude towards Project Management/Software engineering. Thank you James Shore and Shane Warden for the above words.
Now here is the actual wordings.