...upper-level management is really driving us nuts!
My team uses an 'agile development process' called Extreme Programming or "XP" as the basis of our work environment. We work in pairs at workstations arrayed into 'pods', each workstation having two monitors, two keyboards, and two mice. We work together to watch each other's code, think of cases the other might not, etc. It's a very productive and fruitful process, and generally rewarding. Tests need to be written before code is, so that when the tests pass you know that the code is ready. Before merging your work in with that of others, you need to run all tests to make sure you haven't broken prior functionality, etc. We work on a week-long iteration process, where we spend the very beginning of the day on Monday figuring out what needs to happen that week to get our customers the best benefit possible... and then part of the day Friday in a retrospective, assessing what went right or wrong during the past iteration.
In all, this is great. Except that we haven't had ANY luck with communication between teams lately, so our priorities and whatnot - even specifications - seem to sometimes shift in the middle of the week. Each team is being pressured by the changes in upper management to do all their work in their own little void without interfering with other teams... except, to some extent, my team. At today's retrospective, one of the points that came up is 'development is scared of upper management.'
Not frustrated with, but actively scared by.
A little bit of background; one of the company founders, the original VP of development, was our team's 'patron' in many ways. He was the one who went out on a limb to let us use XP in the first place, and basically stayed out of our way, let us get the requirements from our customers (the other teams trying to use our tools), and generally let us do our thing. We were, at the time, the most productive team in the company. We met all our deadlines, we got the other teams what they needed, all was right with the world.
Then our patron was let go, due to political disputes and reorganization...and, admittedly, some genuine slip-ups he made. Though most of us didn't realize it at the time, this is where our fate began to change. Perhaps resentful over our 'golden child' status, or maybe just out of genuine ignorance of certain things, the new VP basically came in and tried to meddle with our team. Wanted us to change our development process, etc etc. We fought back and won the right to still use XP and still work to some extent with our own specs... though our second-generation project was cancelled and we were moved back to the first-generation project, to keep adding things to it.
Now, we're finding that our team is basically being told 'since you were the most productive team in the company, you obviously have manpower to spare' (never mind that we're already short-handed and doing our best)... so we're picking up the slack for other teams. ANOTHER programming language has been tossed into the mix, made by the well-meaning but somewhat ill-informed 'golden child' of the new VP... and we've been told 'make this code generate real bits for the chip'... which is unrealistic within the timeframe we're given. So, instead we've been manually taking stuff from this psuedo-C code to the low-level assembly language of our chip, in order to help prepare for the demos we have coming up. Worse, they had the people who were writing demos for the chip drop a lot of what they were doing in our assembly language and convert to this psuedo-C ahead of time, so now we have to convert everything to the assembly language and pray that we can finish in time for the demos...
Nor are we the only team stymied by communication problems and having to take on things not part of their charters. A number of the teams we work with like us like our tools, and feel bad that this has happened. And half of the reason work is falling onto others plates is not because the other teams are slackers, but because they - like we - haven't been given the information or the authority to finish their tasks. It feels a little like management wants to play at politics and 'who can control as many of the peons as possible'... we've converted to something called Matrix Management for the company, where every group of people reports to two managers and two chains of command.
No one is evil, I think. Most people involved aren't even incompetent. But everyone seems to be working at cross-purposes, and sometimes it sure feels like someone is out to get us! It's very disheartening. We have lots of bright people, a good design, and if we could all just work together PROPERLY...