Monday, September 6, 2010

my philosophy towards project management and a book...

    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.

  A good software design* 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 a design*. I follow some core design* principles, and I have some techniques that are useful for the languages* I work with. However I am willing to throw away even the design* principles if they get in the way of reducing programmer time and, most importantly, solving real customer problems.
The Art of Agile Development   The same is true of agile software development*. 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 produce* great software* for a valuable purpose and pass your wisdom on to the next generation of projects, you will have mastered the art of successful software development*.

If you are a developer or a manager, do yourself a service by getting a copy of this book and of course, reading it :) I have no doubt that you will definitely learn a lot, and come back to this book time and again. I sure will...

* words i changed in the original paragraph.

No comments:

Post a Comment