Now, let's return to the "until recently" part of this post. Though I was enjoying my stint at said large retailer, they decided to start going a different direction vis-a vis contractors. I tested the waters and ended up finding an amazing opportunity right before the large retailer decided to extend me the extension I'd asked for. Off I went to another, slightly less-large retailer. In addition to being an altogether new technical challenge, the opportunity represented an extra set of responsibilities. I spent a good deal of my time at my prior contract in a "people" role, figuring out how to make a team work better together, establishing effective procedure and sometimes, tearing down and restaffing teams. I was tasked with doing a lot more of these "people" things at my new gig and a lot less straight "tech" stuff.
Though I'm only a few weeks in, there are a few insights worth sharing about the transition and some of the things a technical person notices in this role.
You can't change everything overnight
I have to remind myself of this every day. There are a lot of things that need fixing at my current gig. From the lack of tests, to the waterfall-in-disguise "agile" process, to frequent micromanagement by developers. These are all things that need to be fixed, but there's no better way to confuse, upset or anger your engineers than by shaking everything up at once. Given, there probably are times where you could go "scorched earth" and roll an entire team over, but chances are you're going to need to maintain some existing software. And on that note...
Things are the way they are for a reason
Regardless of controlling one individual on a team may be, the status quo of a team is the result of a variety of factors. If a team has delivered software, they've achieved some kind of success doing things the way they do. As I mentioned above, I'm an advocate of the "unassigned and prioritized" backlog approach. At my current gig, all tasks are pre-assigned during IPMs. This made my blood boil at first (frankly, it still does) but I realized pretty quickly that the developers on the team weren't comfortable or capable of self-directing their work. The only way the product team could get movement on tasks was to force them down to developers.
Leading by example goes a long way
This one is pretty simple. If you want to earn a team's trust, the best way to do this is to be a part of the team. When I was getting started, the expectation was that I was going to be a management "type," dictating terms and expressing my degrees of satisfaction from my ivory tower. This has never really been my style. I found that my team became a lot more comfortable with me when I embedded myself in the lab and did some programming. Sadly, time is a precious commodity, and this it's sometimes difficult to find time to do this.
There isn't one perfect way to do things
One thing I've noticed with my teams is that they do their best to "rigorously" follow the standard agile methodology. Standups, user stories, iterations, IPMs, retros and so on. Believe me, it's entirely possible to do these things and be completely non-agile. If the team doesn't understand the purpose for the ceremony of agile, they're not going to glean the value of it. When standups are becoming glorified status meetings, they should be cancelled. When retros don't result in any tangible feedback and improvement, they should also be canned. The whole purpose of agile is to be more effective in how work is completed. Not every little part of it is going to work for everybody. In fact, in my experience, I feel like trying to cram the trappings onto a team that doesn't understand them is a great way to get waterfall in disguise.
Stay positive
There's always a light at the end of the tunnel. Chances are, if you're not happy with the way things are going, you're not the only one. Nobody wants to work around the clock, nobody wants to get beaten down by the business and similarly, nobody wants to be bored out of their minds. If you start showing the right way to do things incrementally, chances are you can get some momentum in the right direction. Also, it doesn't hurt to bring in some like-minded individuals.