It dawned on me today the primary difference between agile management and actual management.
On our programs there is a single point of integrative responsibility - The Program Manager. The Program Manager is accountable for getting the program done. For getting the product delivered to the customer. For leading the team to the launch party.
Of course there are many contributors to the success of the program. But there is only ONE contributor to the failure of the program - The Program Manager. Everyone knows this. Everyone accepts this. Every lives by this rule. Everyone supports the Program Manager. If they don't, they can look for another program to work.
Why is it we get this confused in the agile IT world. Is there a different work ethic? A different egalitarian motivation is let people "try there hand," to learn by failing. Maybe.
On the other side how do people "learn" in our world, if they don't fail?
Here's My Tale of How That Happens
I was a young programmer. OK, not that young, having server a tour in Vietnam between undergrad and grad school. A fresh developer with a graduate degree in physics, who knew how to write a micro-coded version of partial differential equation solvers for digital signal progress algorithms. Finite Impulse Response Filters and Kalman Filters. Things found in particle accelerators - my dream job. But also found in radar signal processors. These filters grab signals from way below the noise and turn them into "targets" that the anti-missile systems to which they were connected shot at.
Our job was to replace an analog system with a digital system. A simple job. Write a FORTRAN program and some assembly language I/O drivers that is an exact emulation of an analog computer and a bunch of analog filtering parts. This is the easy part. The hard part is to make this program performance the EXACT same function, with the EXACT same response times as the analog computer. No analog computers had been around a long. Our boss had designed and built most of the analog computers on this system and was now a "big wig" manager. We of course being fresh young student thought his bald head was an indication that his had missed the technology revolution of embedded microprocessor based digital signal processing. The AMD 2910 bit slice machine was going to make look really old when our cleaver machine made his analog box go away.
Trouble with analog systems is their algorithms are embedded in the arrange of circuits. The math description of the system is written in a manual - a document of the process. You documentation of what the system did. And the other problem with analog systems is there cycle time is limited by the speed of light. Plus a bit if delay for the response time to signal level changes. A hell of a lot fast than a 2901 bit slice machine emulating the linear amplifiers, slope inverters, op amps, integrators, differentiators and the other parts that implemented the sets of partial differential equations used to point the radar and process the signals into targets.
Well after several months of coding and testing we were ready to show off our work. Our boss stood in the corner of a very large warehouse sized room, with the radar antenna in the middle mounted on a hydraulic steering pedestal, maybe two stories high. When we turned on our "digital emulation" of the analog control system, the antenna spun around looking for the signal source and slamed into the spring stops, shaking the build, our teeth, or our bosses hat.
He leaned against the wall, recovered is engloish dirving hat that he wore everywhere to cover his cue ball head, and simply asked:
Why am I telling this story? Because he was responsible and accountable for the success of our little Internal Research and Development (IRAD) project. No sharred, collective, communal responsbilty. Just Fred (Fred Leary). And is question has never left me. We had on one answer - "I guess not."
When people talk about collective responsbility of development teams I get an internal smile.
Oh you need to talk to Fred about that, I think to my self.
I'm he's long passed away. Our analog systems engineer, who designed and built F-86D flight controls.
So when some says "we have a collective responsibity approach to software development," ask your self - "really and who do ask if they know what they doing?"