Speaking about the organization type, what kind of organisation type your company is? I.e., Robert Wysocki in his book on Effective Software Project Management narrows three types of organization: the Staff-driven, the Process-drive and Technology-driven. In easy words, you can have see the main role of a particular Project in a Staff, independently of what Technology are they using, then the Staff makes the Project Management way and chooses the Technology to be used; or you have a stable Project Management style, which guides you how to choose the Staff and the Technology; or, at least, you are having a Technology, which chooses a Staff, and sets the Project Management style. (Yeah, I know, Mr. Wysocki is making some easy things too hard).
So, my question is the following: which organization type is the best? I know there is no silver bullet, but it's not about it now, it's about the organization type we should to achieve to get the highest results. As I understood the Mr. Wysocki position, he believes that the ultimate and the best solution is Staff-driven. The Process-driven organisation sucks, and Technology-driven organisation is in the middle of them.
Well, I am agree about his point concerning the Process-driven type. You can't have a one fits all solution. There are no shoes which fit all, there are no clothes that fit all and even one size caps aren't good for everyone. So why should the Process be?
Speaking about the Staff-driven vs. Technology-driven process, I am not that sure about Staff-driven type superiority. I see it simple. Every company should have a core thing, which defines (or even dictates) the rules and limits. The Google wouldn't use FAT32 file system instead of GoogleFS just because Staff wants it for their project. My company wouldn't install MS SQL database server instead of MySQL or Oracle just because we hired a new Staff, who wants it instead. The technology depends on more then single person nowadays. And even if you are really great and over talented .NET developer, the company, which runs N projects on Unix and Java, should not start using Windows and .NET just because you think it's good for this Project and you, as a Staff, wants it. No way. The company will look for a Unix and Java guy to work in the existing environment.
That's my understanding. Do you see it differently? Please, share your thoughts. Thanks.