In every project the very first decision that a Project Director has to make is about the project methodology that will be used for that particular project. This is one of the most important decisions for every project as it is an essential factor for successful completion of the project.
There are two basic types of project management approaches, the traditional waterfall approach or the more recent approach known as agile project management.
What is Agile Project Management?
Agile Project Management can be defined as “an iterative and incremental method of managing the design and build activities for engineering, information technology, and new product or service development projects in a highly flexible and interactive manner.” [WIKIPEDIA]
It is a team-based approach to development that is iterative in nature and emphasizes on delivering complete functional prototypes of an application, module or a product at the end of each iteration. It focuses on customer value first, continuous improvements, scope flexibility, team input, and adapting to current business situations rather than following a pre-planned set of tasks.
Agile is not itself a methodology, rather it is an Umbrella that contains several techniques that can be used for managing agile projects. These methodologies promote the values of the “Agile manifesto” that was published in 2001 containing the 4 basic principles that make the basis of all agile methodologies. The most popular ones are DSDM, SCRUM and XP. DSDM is probably the oldest and most comprehensive agile methodologies however SCRUM & XP (Extreme Programming) are easier to implement.
Out of all the agile methods SCRUM is probably the most popular as it addresses many management related issues that adversely affects the IT development projects.
11 Tips for Effective Agile Management
From my experience with various agile methods, here are a few key principles that I have helped me in successful agile software project management:
- Team Selection: Choose team members that are not afraid of change.
- Project Requirements: Capture only high level requirements & goals initially, and keep filling in the details as the project proceeds.
- Communication: It is the key to success. Keep all stakeholders actively involved through the project.
- Team Empowerment: Encourage your team to take timely decisions/initiatives in their own domains
- Agile PMO (Project Management Office): Make sure to create an Agile PMO that can quickly respond to the changing business needs across the whole project portfolio. Your PMO should work in such a way that it assures delivery of maximum value for the available time & money with minimum risk. Agile PMOs are essential because traditional PMO practices are incompatible with agile methodologies because both of them are based on entirely different set of principles.
- Small Tasks: Make sure your divide project into small tasks that can be completed in weeks.
- Prototype: Start prototyping as soon as possible so that the customer can have a feel of the product and can give input in a better way. Develop small releases & iterate.
- One Feature at a Time: Do not rush. Complete one feature and then move to the next.
- Testing: It should be integrated throughout the project life cycle. Testing early will save you a lot of time and effort.
- Customer feedback: You need to constantly engage the customer/client in order for them to define the issues they are trying to address. Work with the client to find the right solution for the project in iterative steps
- Embrace Change: In agile projects things change constantly and therefore as a Project Director you should be able to embrace in order to handle it.