Skip to main content

#agilefails: 10 Roads to Hell

#agilefails - Firefighting is never easy!


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 best solutions are ones that balance our short-term needs with our long-term view.

I present #agilefails. These are examples of partial fixes that do not address the root cause of our problems. [bctt tweet="While each #agilefail may help relieve an immediate pain, it is insufficient in the long run." username="sawhney_rahul"]

This list will likely grow and evolve as I continue to learn and discover.



#1:
A long-running project is getting delayed. We are struggling to deliver based on our estimates. #agilefail - Let's add new team members!

#2: A senior leader wants something new immediately. #agilefail - No conversation needed. Some of us must immediately start working on this new "opportunity".

#3: Team is getting too big to manage. #agilefail - Let us create multiple component teams (with multiple dependencies) to manage them better.

#4: 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.

#5: 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.

#6: Rockstar team member hoards knowledge and we are afraid of losing him/her. #agilefail - Ensure that our rock-star is happy and promoted, so that person does not leave.

#7: Too many stakeholders want something delivered. #agilefail - Stop the conversation, do not commit anything as we are too busy. -OR- Commit to everything and still make everyone wait.

#8: Not everyone understands the value of collaboration. #agilefail - Make our most expensive tech people as Scrum Masters.

#9: 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.

#10: 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.

My disclaimer: 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?

Curious.

Firefighters image courtesy: https://pixabay.com/en/firefighters-training-live-fire-1147795/

Comments

Popular posts from this blog

14 Essential Software Engineering Concepts for Engineers and Managers

There are many terms and concepts that are important for an engineer to be familiar with, in order to effectively build software. This post includes some of those terms. I will continually add to or update this list. Agile. A flexible and iterative approach to software development that emphasizes collaboration, customer feedback, and adaptive planning. My experience and success with agile development was the inspiration behind starting this blog. DevOps. A set of practices and tools that improve efficiency, speed, and reliability of the product through automation and optimization of the software development and delivery process where operational efficiency is part of the development process. Continuous Integration and Continuous Delivery/Deployment (CI/CD). A set of practices and tools that result in faster and more frequent releases, through automation of building, testing, and deployment of software. A key part of CI/CD is to deliver software to production frequently and using tec...

Forget Onboarding, do Alongboarding!

Alongboarding, an agile onboarding approach Alongboarding: We’re in it together! Organizations hire new people every day. A great first impression can make a tremendous difference in retaining employees. No one gets a second chance to make a great first impression, not even the best companies. An onboarding experience is an essential part of making that first impression on a new employee. Agile has been around for many years and has gained vast acceptance throughout the community. Yet, I find it disappointing that its tenets are not used well in most companies and most onboarding approaches follow a waterfall approach.  Alongboarding is an agile onboarding approach that applies agile tenets to onboarding new employees and makes the experience richer and more fulfilling. When I joined AppFolio as an agile coach, I experienced this approach during my onboarding. It felt like the team owned my success as much as I owned the team's success. It was a welcome change from some of m...

Make onboarding fun with Onboarding Canvas!

The Onboarding Canvas is a tool that can be used for onboarding a new team member . We derived this tool from Spotify's adaptation of the Toyota Kata . I like this tool because no one can tell you precisely how your onboarding should be like in order for you to be effective at your new job. This is a tool for continuous reflection and adaptation. It puts the newcomer in the driver’s seat, makes the onboarding process agile through continuous collaboration with your team. Four quadrants The onboarding canvas has four quadrants: Now: It defines where the team is now, what is going on and how is the new team member adapting to the change? Definition of awesome: With the addition of the new team member, how would the team like itself to be? What would be awesome for the new team member? Next target: In order to move towards "Definition of awesome" what outcomes should be achieved in the next x weeks? Next steps: What are the immediate next steps for the team...