Image source: https://pixabay.com/en/firefighters-training-live-fire-1147795/
Dealing with tough situations in product delivery is always a challenge.
There are usually multiple ways of dousing flames and fixing situations. Unfortunately for us, when we are in the thick of things we often get carried away and adopt the first solution that comes to mind. They say that the road to hell is paved with good intentions.
Over the last few years, I have come to believe that the best solutions are ones that balance our short-term needs with our long-term view.
I present #agilefails
. The following are examples of partial fixes that do not address the root cause of our Agile problems. While each #agilefail may help relieve our immediate pains, it is insufficient in the long run.
This list will likely grow and evolve as I continue to learn and discover.
- A long-running project is getting delayed. We are struggling to deliver based on our estimates. #agilefail – Let's add new team members!
- A senior leader wants something new, immediately. #agilefail – No conversation needed. Some of us must immediately start working on this new "opportunity."
- The team is getting too big to manage. #agilefail – Let us create multiple component teams (with multiple dependencies) to manage them better.
- Too many meetings are eating up our productive time. #agilefail – First get rid of the retrospectives, then grooming, and eventually reduce stand-ups to few days a week.
- Testers only want to test; developers only want to develop. #agilefail – That makes sense; it is their career path, after all. It's our duty to encourage that behavior.
- Rock-star team member hoards knowledge, and we are afraid of losing him/her. #agilefail – Ensure that our rock star is happy and promoted so that he or she doesn't leave.
- Too many stakeholders want something delivered. #agilefail – Stop the conversation. Do not commit to anything, as we are too busy. Or, commit to everything and still make everyone wait.
- Not everyone understands the value of collaboration. #agilefail – Make our most expensive tech people ScrumMasters.
- There is a shortage of people with a particular skill set in town. #agilefail – Training our teams will take too much time. Let us hire remote employees who will be experts. We will make them work like hell with multiple teams.
- We have a tough delivery date for a big new project. #agilefail – There is no time! Get coding ASAP and work weekends, if needed! We can understand customer needs as long as each team knows its own part. There is no time to spend on process either. Teams can do whatever they want.
There is something to be said about what we can change and what we can't in our situation. We may find that a partial fix may be a step in the right direction and enable us to have a deeper conversation about fixing the root cause.
What do you think? Have you faced any of these situations? What did you do, and what did you learn? What other #agilefails have you come across?