Agent of Change
When advocating for change, be aware of your personal discomfort/pain, but don’t act from it. Honor it. Don’t pretend it is not there, but don’t act from it. Act from a place of understanding and empathy. Ask why something is the way it is non-judgmentally. Don’t condemn practices. Suggest improvements. The load rests heavier on the shoulders of the person higher up in the organization. Assume good intentions. Assume organizational wisdom. Assume that things got the way they are through people acting in good faith to the best of their ability. Ours is an ever changing world. Hopefully we are all continuously learning. And when you know better do better.
It takes a long time to turn a cruise ship. A zodiac can do it on a dime. Organizational inertia is a thing. Instead of getting upset about the rate of change in your organization, notice if people are willing and able to make small changes. Frequently 1) people in positions of authority are already aware of the problem and 2) are probably more frustrated by it than you are. Instead of saying, “X is bad/broken/problematic/etc” instead ask, “I noticed X. How do you feel about that?” Don’t engage with complacent people. People who are stuck may need a problem reframed for them and you may have to reframe it a couple of times before the problem no longer seems insurmountable. Seek out like minded people to get on your side and slowly turn the tide. Notice adaptability in individuals and your organization and honor it. Agility can apply to organizational dynamics just as much as it can apply to code. Lots of small scale changes are a lot more survivable (and are more likely to go unnoticed thus avoiding resistance) than large scale ones. Take a bit of time to do a little bit better every time.
Things I have witnessed in my ten years at my current job (not an exhaustive list):
- Embracing project management
- Embracing web development (in a historically desktop shop)
- Embracing mobile development
- Embracing version control
- Moving from centralized version control to decentralized
- Adoption of build automation
- Staged deployment to multiple tiers (dev, QA, and prod)
- Embracing QA
- Unit test adoption
- Holding retrospectives
- Instituting continuous improvement practices
- Adoption of DevOps practices
- Adoption of containerization
- Adoption of microservice architecture
- Utilization of CI/CD pipelines
When looked at individually, those changes might seem small, but looked at in hindsight over half a career, they look like a monumental shift in the way of doing business.
Hold space for people to fail. Provide support for when they do. Hold space for people to learn from their mistakes. Take accountability before asking for it from others. Respect the process while challenging it. Be an agent of change. In short, be human.