Saturday, August 25, 2007

To be or not to be (Agile)

Sorry , I haven't been posting a lot of stuff as much as I wanted to, I have recently been assigned the responsibility of managing a small project team. The last month or so has mostly been spent in a lot of meetings and team coordination.

So far from what Ive experienced, project management is all about making plans, updating them and meetings, and some more meetings. I'm not really sure at the moment if I want to continue this path fo project management or stay towards more on the architecture side.

I'm currently leading an internal project, so there is no requirement for costing or client meetings etc. I can classify project management practices for software in two major categories

  1. Plan Driven Management
  2. Agile Development Methods
I have been doing a bit of reading on the internet on different forums and article based sites for better management practices and which yields more productivity. One of the sites is techrepublic, a great site on general IT related articles and whitepapers

Plan Driven Management:

Plan driven management is the classic form of project management, in which you have one project manager who usually creates an upper level plan within the first 1-2 weeks of the start of the project, allocates resources and maintains the cost of the project.

The project manager is responsible for defining timeliness of the project from top to bottom to the very detailed pieces required

Agile Development Methods:

There are a number of methodologies available for agile development, Agile methodologies welcome change and focus more on the people and team effort rather than processes or plan management

I am most familiar with the SCRUM, Ive take two presentations on it, one during my MS and one during the PDC

In Agile development methodologies there is no single person responsible for complete planning, usually the complete plan is broken down into iterations and the team itself is responsible for further deciding who will do which task in order to complete the iteration.

Agile management requires that the initial level plan only define the upper level requirements, the detailed planning is done just in time. All agile methods focus on customer satisfaction, there also exists an agile manifesto, which consists of the underlying principles for all agile methods

more information can be found in these links:

Traditional Plan Driven Project Management
Agile Project Management
Agile Software Development