Should you go AGILE?
Managers and developers at some point in their career ask themselves, “Should I adopt the agile methodology?” I know it can seem a little scary to think about diving into this type of project process, especially for a project manager. However, agile done right can be a good process tool for a project manager, development team, client and ultimately the consumer.
I think there are misconceptions on what agile really is. Some people think that agile means constant change and endless budget—what team or client could possibly sustain this model? What agile means to me is a process used to understand and meet the client’s objectives. It is used to deliver features to consumers sooner, and it enables the development team to produce a better quality product.
It’s important to remember if you decide to go agile, then a product scope and overall budget with associated time line will NEED to be identified. Yes, using agile means you can accept change and feature requests; however, these requests are placed into the product backlog to be evaluated and scheduled into a future iteration. You should NEVER accept change on iteration in progress. If change is necessary on current iteration, then development should be ceased and it should be reevaluated and brought back into the queue.
Client and team collaboration is another key ingredient to this process. Constant transparent communication with your client is a necessity to the achievement of the product deliverables. Opening your project management tool to the client will nurture collaboration and trust on the project development and on your team’s expertise. Clients will be able to see and provide feedback on the project iteration at hand. It will also enable the development team to obtain answers to their questions immediately without having to go through the project manager or wait for the next status meeting. It also ceases one-off emails that don’t allow the entire team to be in the know of decisions being made.
As a project manager, it’s important to remember the two items mentioned above:
- do not accept change on current iteration and
- have great client and team collaboration.
However, there are other elements that go into play when deciding to go agile.
Your team will need to consist of highly talented developers. These developers will need to:
- feel comfortable with switching between tasks at hand and changing priorities
- constantly be testing and evaluating their work throughout the iteration to deliver a high quality product
- have good communication skills and work well in a team environment
- be able to communicate their progress and needs to the client in a language that the client can understand.
Most importantly, the developers will need to be constantly challenging themselves. They should have the desire to improve and go to the next level in their skillset, and do this as a TEAM.
So thinking about dipping into the agile world? Once you feel these elements are locked-in, have at it! Remember, if this is your first time going agile, there will be growing pains. You can overcome them and just keep pushing to do better!