According to Cambridge dictionary, “agile”, in physical terms means “able to move your body quickly and easily”, in mental terms it means “able to think and understand quickly”, and in management terms
Well, you guys get the idea, right? “What a great methodology! We should all use it!”. But sadly, it takes a lot of hard work to really see the beauty of this method.
From what I have observed, experienced, and read, there are a lot of issues that people and companies face that makes them goes “this just won’t work” without fully implementing the whole thing first. Here are some issues that I found and how we can addressed it:
People have no idea what agile is
A methodology is something systemic that is used as guidelines for doing something. How can your team really implement something without actually knowing what they’re doing. Many companies that I have studied didn’t really explain in detail what are the things developer must do, what are the things that can happen. They just expect them to understand and just go with it. Well, here’s the thing, “people won’t just do something outside of their responsibilities”. And in agile, teams have to be self managing, self organizing, and you can’t have that without people actually knowing what their responsibilities are. Another thing that they didn’t really do is monitor and enforce. I mean, you have to actually make sure that it is done.
Here’s a little tips to really know if a system have been implemented correctly. “plan-do-check-action”. Make your plan, do your plan, check the process and result, take action, improve, repeat.
“There’s just not enough people”. In agile, there are indeed many roles needed to make up just one team and each of them is expected to be skillful, cross functional, able to adapt quickly to changes and able to switch projects.
“Then we really do need a lot of people, a lot of talented people”.
That’s why scaling is important in agile. You have to really understand the capabilities of your people, what they can and cannot do, how fast they can do it, how much load they can take, you can’t just assume that they can, you have to actually ask everyone on the team. And from there you can measure approximately how many projects you can really take and how much time is really needed.
The client did not like it
Many companies that tries to implement agile got complaints from their clients: “It takes too long”, “It’s simple right? Can you just do it and be done?”, “It still ends up buggy”, “We need it by tomorrow”, “That’s not what we asked”, “Where are the changes that Iasked?”.
Client is not a king, developers are not slaves. You need to educate the client properly about how and why you do things. Agile is specifically made for faster delivery, adapt to changes, and quality. If you get those complaints, then clearly you’re doing something wrong. Wrong time estimation, unclear backlog, unclear definition of done, no confirmation with client, no resources, and so on. You have to make sure that every concerning party understand clearly about what’s going to happen in all the development process. And if they’re still forcing their demands, compromise, talk about it, understand what they want, make them understand how you can do better.
Because communication really is the key to any kind of relationship.
I hope these insight can help you in implementing agile methodology and see the beauty of it like i did. Just see it through, it’s worth it.