The gym I workout at had an interesting quote on the whiteboard today: “We would accomplish more if we didn’t think of so many things as impossible” I immediately thought back to my CSM training when my instructor, Mishkin, said something to the effect of “Scrum is the Art of Possible“. I don’t why that has stuck with me for so long.
This got me thinking about how important the Agile Mindset is to being more successful with Agile. I pride myself on always asking questions and challenging the status quo, even in environments where that is perceived as “negativity”. I don’t see it as negativity at all. I see people who blindly follow process and priorities without questioning the motivation behind them to be far worse. Now that’s not to say companies can’t be successful implementing some Agile processes, it simply means those rare organizations that really ‘get it’ will enjoy much greater success and enjoyment. Your mileage may vary, some organizations cannot sustain a fast pace of change for a variety of reasons. Other organizations will develop a learning culture or commitment to excellence. This is the important part, there’s no ‘right way’ for all organizations. Sometimes a strong status quo works best when loss of stability can lead to more problems.
I am skeptical of anyone who says something is impossible, especially in software. The deeper problem in organizations that find too many things to be ‘impossible’, is that they have stopped trying and given into mediocrity. In order to develop an Agile Mindset and to provide a more stimulating environment for employees which will drive better outcomes, teams and organizations need to learn how to solve problems and challenge the status quo. Recently I was talking to a friend who challenged me by saying that sometimes there are external forces that you have no control of. This was in context of a software problem with a 3rd party integration.
I responded with “There’s much more control you have over that type of situation than you think“. My instinct was to immediately call BS on his statement. Once you’ve convinced yourself that there’s nothing you can do, there’s nothing you can do. You’ve decided on an easy way out and have a scapegoat. Hey, it’s not us, it’s them, they’re system is broken. While it’s much less mentally draining to deflect blame and absolve yourself of responsibility , I’m not buying it. If you know your 3rd party dependancy can cause a problem in your system and you choose to do nothing about it, that’s your problem, not the 3rd party. What’ll happen the next time it happens? Believe me, it will.
The good news is that at some point there will be some event that creates a sense of urgency to change. In one case, the CTO of company woke up wondering, in his words, “where the F**K is my $XX million dollars per year in engineering going?” That created a sense of urgency to change. The problem was, after 10 years of neglect, there is no quick fix and you are in for a long and messy road to recovery. Every hack and workaround piled up over the years leaving the software in an extremely brittle state.
When I experience problems like these ones, I see possibilities for improvement. Real possibilities for improvement because I have worked with, paired with and been trained by some of the best software people in the world. Take the case of how Netflix uses Chaos Monkey. Traditional wisdom says monitor your system and respond to failures. Hence the advancement of the ‘hero‘ (the guy who fixes problems fast…yay! you did awesome!). Chaos Monkey prevents those problems from happening in the first place. What’s more valuable to you?
That’s one example, while talking to a colleague a few weeks back, he talked about how they created their own programming language to solve a problem with how their platform and client implementations work. Another case of awesomeness was while I was working with a team in a large enterprise. Our challenge was providing information to the trainers who trained 10’s of thousands of people on changes to a POS app. They had developed end to end tests using Selenium to automate happy-path regression but also used these set of tests to take before and after screenshots so the trainer could easily see what changes happened.
These are only a few examples, the innovation and commitment to excellence in all these cases can from accepting a different mindset of possibilities based on taking on a problem head on. The best part is that these solutions were in the context of solving a business problem.
I am grateful to the wonderful people I’ve worked with, trained from and met at conferences and meetups. You are the people that have helped me develop a mindset of possibilities and I will specifically thank Gerry Kirk whom I’ve been getting personally coached by for the last few months. Gerry helped me realize that I am not the type of person who will compromise my values and principles. He helped me understand how far I’ve come in dedicating myself to learning and improving my skills. Most importantly, Gerry has helped me foster a mindset of possibilities and as far as I’m concerned there is no greater gift I’ve received in my professional career than that. Thank you.