Wednesday, February 17, 2010

Is Agile Project Management even an an appropriate term?

To give you a break from my silverlight and WPF babbling I will branch out occasionally into different topics to keep you interested and at the same time tone down my boredom from talking about the same topics again an again.  As the title suggests lets explore if "Agile Project Management" is even an right term that is being so loosely used these days.. To understand we need to first answer what Agile software development is?.

Agile software development has it roots in OOP (object oriented programming) where iterative development, use of a particular functionality could be reproduced, ability to plug in cross-functionally or design development methods for re usability of components could be done in an easily gave rise to the practices of agile software development into being.  This was extended across development teams for collaborative purposes during development or the life cycle of the project. Agile software methods break tasks into small increments and avoid long term planning, time frames are shrunk to a max of four weeks for a set of tasks to be completed which may involved requirement analysis, design, coding, testing and acceptance of that stage. Documentation is produced all along with those activities happening in tandem.

Usually in an agile software development team members usually come from cross-functional expertise and because hierarchal power structures aren't present decisions are made quick and responsibilities are assigned for development, changes, bug fixes, and releases. The team's size can vary from five to ten people but larger projects are usually comprised of such teams collaborating in real time and often Agile software development  then becomes a daunting and challenging task. However these days we have measurement metric softwares that measure the progress of each task on each day by which Agile development becomes easier. So coming back to the question I posed to mix the terms Project Management (PMP) and Agile Project Management wouldn't be right as they both address management of software development life cycles differently, they have different methods and practices. Traditionally Project management adopts the 7 step or waterfall approach the Agile software development uses methods like Agile Unifed Process (AUP), Agile Modeling, Agile Data Method, Scrum, Extreme Programming and while its practices consists of Test Driven Development (TDD), Behavior Driven Development (BDD), Pair Programming and the RITE method. I may explain each of these methods or practices some time in the near future.

I am sleepy now...some more about this in the far future.

Sam Kurien

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.