A couple of months ago, I changed roles (part time) in the company. I moved to a team with the premise that a small team of developers, unencumbered by the process and inertia of a large company, could develop and iterate on products and find things that were good fits for our customers. In a big company (which my little company now is), it was a great—maybe ideal— opportunity. A small, (little a) agile team cranking out product.
As of two weeks ago, I’m back in the main office, managing the entire team of developers, while in the midst of the business adopting the (big a) Agile methodology. It’s probably been two of the most challenging weeks of my career.
Our development process was never “waterfall”, but it wasn’t “agile”. It was some in between mish-mash of working on what was important and reprioritizing weekly without the understanding that not everything deserved to be worked on. Not everything was important to the business. Loads of horse trading so that everyone got their slice of resources, without regard to how much value those resources might generate for the company.
In that regard, agile (or maybe that’s Agile) has definitely helped. We’re slowly helping people realize that we don’t have infinite resources, and therefore, we can only work on the really important stuff (and maybe some slightly less than really important stuff). But no “because I want it” stuff.
It’s not been easy. It’s been a slog. As a company, other parts of the business (not the development team) are still getting on board, which is a challenge. There’s the culture clash: do you bridge the gap between the old process and new, or push everyone in the deep end. The former means slower adoption, the latter can lead to some interesting conflict.
All this is going on while still needing to ship code and re-learn how to manage a team of people. With some people pushing to move faster than the organization (and team and individuals and processes and technology) might be ready to.
It’s going to be an interesting challenge.