Traditionally, project management methodologies have been based on prediction (waterfall style). I mean, once the detail of the product being to manufacture is known, we define the tasks for having it ready by the deadline, based on our human and technological resources available.
This type of project management has amply demonstrated to be useful in a certain type of projects, mainly in those related to hardware engineering (building a bridge is the typical example), helping to reduce costs and to improve the quality of the final product.
However, we might find some weaknesses to this traditional model. Actually it doesn’t work for SW development projects. Let’s see:
– The Project Manager (PM) may not have technical knowledge in a particular project. In this scenario, he won’t be able to take part in the technical decisions.
– When talking about long-term projects, initial requirements from the customer may not fill the final ones, so a static plan won’t fit properly. We must be able to add or modify functionalities to the product during the project development.
– Due to the unstable environment that we’re living in, completing the initial plan could not be enough to succeed. Technological changes, new standards of communication…
As we can see, the idea of “final product” might not make sense when talking about a SW project. Adaptability based on the feedback we can get from our customers is a key factor. In fact, one of the main tasks of the PM is to make the final product to be what the client really needs, not what he asked for at the beginning. For this to be well done, only Agile methodology does work, because it’s based on the continuos delivers to the client (every week or two weeks) and then planning the next tasks taking into account his feedback.
In the next post, we will summarize the main characteristics of the projects managed with Agile Methodologies.
Information from: http://www.marblestation.com