Sunday, September 1, 2013

Don't try too hard

By Yousuf Ahmed

Don’t try too hard!

This is probably the most important lesson I have learnt from my deep involvement in agile transformation initiatives over the last decade.

I have seen too many projects fail where the primary focus has been in implementing steps of a specific agile method – whether the environment is ready for them or not. Examples are of many types - a daily scrum is a great tool – but forcing folks to join a daily meeting where there is not a whole lot changing in what they do may prove counter-productive.  4 week sprints are great – but don’t make much sense for a maintenance team. Test driven development is fabulous – but is a test for every getter and setter really needed?

... I can go on.

Successful agile projects begin with focusing on the fundamentals – and I find it helpful to refer back to the Agile manifesto and its core principles to reinforce these fundamentals.

Agile is concerned with delivering value in an efficient and timely manner - and the different agile methods have given us many great processes and tools to achieve these goals. But most importantly – agile recognizes that the success of a project depends on the people and their level of commitment. At its core, agile is about collaboration, transparency and trust. Agile tools and processes are enablers that help facilitate teamwork and provide a roadmap for efficient execution.  But they need to be used judiciously, ensuring that they help increase the quality of teamwork. Used literally where they don’t necessarily fit, these very tools can alienate the team and ruin the chances of success.

Ken Schwaber (co- creator of Scrum in “Agile Project Management with Scrum”) describes Scrum as a practice of “the art of the possible” – which very aptly describes the spirit of agile – keep the core principles in mind, and adapt the tools to work properly in your environment.
Having said that – it is important to have some sort of a guideline and set of rules, some level of prescriptiveness and discipline in your project, and as a thinking project manager – you are going to need to define these rules for your project yourself.  Don’t try to implement a method just because it exists, but do figure out a process that fits your needs – and then make sure it’s followed. Here are a few key best practices which can serve as a guideline to help define the specific rules for your project.
·           Build trust among team members, including all business stakeholders
·           Find ways to collaborate, and effectively communicate – a daily scrum is one possible way, but adjust the times and frequency appropriately
·           Do build a backlog – knowing what you are dealing with is important
·           Split the work into manageable chunks – use iterations, sprints, or release plans as tools when appropriate
·           Make testing a part of your team’s development culture.
·           Review and communicate progress regularly – in whatever form is best understood by your audience. 
·           Adjust and tweak your methods based on regular retrospection.



No comments:

Post a Comment