I am often asked for my top tips for teams who are starting agile, so I thought that I would share the top five that I commonly talk about. Obviously, these are not all of my tips, as I give the tips in the context in which I am asked the question, but hopefully these can at least initiate the conversations.
Tip: If Your Organizational Culture Is Wrong, Then So Is Agile
I have found that the overall culture of the company is one of the biggest challenges to successfully implementing agile across an organization. It’s often that you may not have a big enough sphere of influence to effect change until you have built up enough credibility.
When trying to categorise your organization think about whether it is people or company orientated and possibility or reality orientated. There are four main organizational cultures: collaborative, control, competence, and cultivation that encapsulate these attributes. Each of these cultures then have characteristics of the staff working in them and how they conduct business.
My suggestion would be to conduct a simple survey to see which culture most closely resembles your company.
As you can imagine, most agile methods do better in a collaborative culture, although some control cultures may do well with kanban. That is not to say that your individual project or group cannot do well with agile even though your company culture is not conducive to it being used company-wide. However, it does make it more difficult, particularly if your team has to interact with others.
Tip: Is Your Project Suitable for Agile?
I find this a difficult question to answer. I have yet to find a project in which I would not recommend agile. Sure, some projects are naturally suited to agile while others may require a more stringent process, but they certainly do not fit a command-and-control management style. What I would suggest is that as an organization you should come up with a checklist of items that benefits an agile implementation, such as the number of systems affected by this delivery, new/business-as-usual/large enhancement, or the number of onshore or offshore teams. Depending on how each project rates against the criteria you have selected for your checklist, this should give you a good view as to whether agile is a suitable method to use.
Even if you chose not to use agile, I still suggest that some of its practices may be of value. For example, I conduct standup sessions with all my teams and using visual boards is a must for me.
Tip: Do You Have the Right People on Your Team?
It’s all about the people, as the first statement of the Agile Manifesto attests, “individuals and interactions over process and tools.” Plus, many of the agile principles relate directly to people. If you get the people right, the rest will follow. The team members, of course, need to have the right mix of skillsets, but for me, over and above everything they have to have great soft skills. Most techniques can be taught, and that applies across all of the roles, but using the correct type of communication is often inherent in our personalities. Many sins and inadequacies can be overcome by a highly performing team. A person does not need to have every skill and competency. In fact, when people are all the same, they are less likely to succeed; cross-functional teams are key.
Tip: Don’t Just Throw Your Team to the Wolves
Team members that do not know anything about agile can’t just read a book and think they can implement agile. It is not acceptable for the CEO to have seen a few blogs on the subject and think his teams can go “agile” overnight.
Having agilists in your team can help your team members’ skills, but you must consider that their productivity (or velocity) will be low to start with. Another option is to put the team members on a training course together so they can learn a common terminology and generate some helpful ideas. A course that offers practicals is preferable as it also allows the team members to build and get to know each other as well as learn about agile. Make sure there are mentors or coaches available for ongoing support.
The most important aspect is to give them an environment in which they are safe to fail fast, learn, and then adapt.
Tip: Trust Is Critical To A High Performing Team
One of the hardest things to embrace for those coming from a command-and-control environment is to trust the team. Let’s assume that you have done everything right so far, but you still need to strike the right balance. Your team members need to know that you are there to support them (or have put in a suitable support mechanism) but that you are not “keeping tabs” on them.
A lot of this will be seen in the way that you talk to team members. Have an open-door policy but let them make their own decisions. If they come to you with questions don’t just give them an answer but walk through with them potential solutions to help them make a decision as to what to do. Use phrases such as “What do you think?” Sometimes you just have to let them fail; it’s sometimes the best way for team members to learn, even if you can easily see the answer.
Once team members see that you are not going to be telling them what to do, they will start thinking for themselves. This is also reflected in the agile principles; for example, one of the statements says, “Business people and developers must work together daily throughout the project.”
Cultivate a culture and environment where people are comfortable. Offer support when team members need it, but allow them self organise to perform their tasks and believe they will do it well.