Internet Explorer 7
Reply #45 – 2005-08-24 03:44:37
I'm more interested in elegant solutions to problems, and care little about quick hacks that are "good enough for government work" and devised solely to keep the bottom line in check. I care little about what it's like "in the trenches" really. [a href="index.php?act=findpost&pid=322225"][{POST_SNAPBACK}][/a] Understood. But, I do think that it's not as difficult or impractical to follow standards as you make it seem. [a href="index.php?act=findpost&pid=322225"][{POST_SNAPBACK}][/a] I promise you it is. In my career I've worked with Microsoft, IBM, HP, Cisco, Novell, Sun Microsystems, AT&T, MCI and a myriad of smaller technology-focused companies. Don't think for a moment they'll let 100 people work soley on "formal standards compliance" when 10 will be "good enough" to provide a robust and reliable integration platform of heterogeneous systems in terms of financial value and market domination . Microsoft, among others, has proven this. We are here complaining that this particular company has fallen down so severely on complying with W3C, CSS and other coding and architecture protocols. And I complain too. Every day. My job would be MUCH easier if all these companies out there that provide the systems my company relies on would fall nicely into a common formalized framework of universally-accepted standards. My point is that there's simply no one to provide this. W3C, for instance, has a mission to create the standards and specifications for the development of the world wide web. But they don't have volunteers working in all the major companies out there who are creating and maintaining the systems for which the "universal standards" are being developed to make sure said standards are being utilized properly and consistently. And not many companies out there have a primary mission to follow formal industry standards. Most of them have the same primary mission my company does: maximize revenue . Please don't think I'm defending that what corporations do is philosophically right or practically ideal. The majority of our actions are not either. I'm saying that because of the natural incentive of a free-market economy, there isn't sufficient resources in almost any company, large or small, to insure that formal industry-wide standards are adhered to all (or even most of) the time. As hard as this is to believe, it includes Microsoft as well. In some cases the larger the company, the more fragmented their organizational structure. They often have myriads of very small, isolated groups with project- and task-lists that are entirely too long for their resource base. And also there are frequent cases of overlapping efforts...different groups in a company aspiring to reach the same goal with their own, different methods...some standardized, some not...yet all deployed into production. It's people stepping all over each other's work, essentially. And it happens a lot. And the bigger the name (Microsoft, IBM, Sun, etc.), the more commonly it happens. My company group is mid-sized compared to most in the US, and we enjoy the ability to avoid much of what we call the "silo-effect" of huge organizational structures trying to achieve common standards compliance. Many large companies even give up and diverge business units in order to keep things manageable. If I were to point to anything close to a concise point of blame for "the way things are", I'd blame the market. Not the consumers, specifically, but more the nature of our economy. If my company were to abandon our current direction by inserting "formal technology standards compliance" into our top business goals, redirected resources from other efforts to this one, then we'd be isolated in the market and left behind by our competition. I can think of at least ten major pieces of our company that would fall if we put so much as 2% more resources into industry standardization. That sounds extreme, but it would take many more pages than I'm going to type here to explain all the details. I've been inside enough large companies, including MS, to know they would suffer a similar fate. Allocation of resources (people, money, infrastructure, etc.) is a very delicate balance in a company. Before I became a director I had no idea how delicate this balance was.It just happens to be the case that most people (or companies) are too lazy to find the proper solution that will allow them to use nice, formal standards AND keep the bottom line in check. [a href="index.php?act=findpost&pid=322225"][{POST_SNAPBACK}][/a] Yes, there are people in companies who are indeed too lazy. But they are in the vast minority. Because the individuals lose their jobs, or in the case of wider-spread problems their companies go out of business (sooner or later). As for my own position, to survive with the balance of resources I'm given, my team may have ten collective minutes in a day to even think about universal standardization (of system architecture, design and coding, methodology, and so forth). Because on such a day I may also have three production releases to manage, eight code drops to deploy, 300 test cases to validate, and six hours of meetings. And this isn't just what it's like in my company. It's what it's like in almost all the others I've worked with, all across the development life cycle: product management and business vision, project management, architecture and design, development, testing, training, deployment and support.People are a little too eager to go out and do it on their own than to do a little solid research and look at what's available. And that's fine I suppose, as long as most of that is kept internal to a particular department. Development houses always have their own libraries and toolsets, and all kinds of non-standard processes and methodologies by which they do whatever it is that they do. But this sort of thing should not influence the interoperability of computer systems outside of the scope of their own little world. Especially when it is a communication standard that is at stake. [a href="index.php?act=findpost&pid=322225"][{POST_SNAPBACK}][/a] I always look to industry standards first...W3C, CSS, RUP, ITIL, CobIT (and anything else provided by ISACA), CMM, ISO and others. Trust me, I dedicate more time to looking there than the VP I report to would like. In the time window given for each particular task which, along with thousands of others, collude to form a complete project initiative, I only have so much time to "shop" for a universally-accepted solution before I have to get out my own "box of tricks" to meet one of my many deadlines. And if I can't comply with an industry standard in a particular situation, I put it on my list to come back later to make the issue complaint. My list grows faster than me or anyone else on my team will ever be able to catch up with. But I put them all there anyway. Every day. My yet-to-be-executed good intentions are worth nothing to the rest of the world, but they help me sleep at least a little better. Just as they did with all the companies I worked with before this one.So your discussion of creating your own little internal standards is perfectly reasonable. Microsoft's non-adherence to standard -- and not particularly difficult to implement (in the grand scheme of things) -- web standards, is not the same thing at all, and therefore is not justified by the points you made. [a href="index.php?act=findpost&pid=322225"][{POST_SNAPBACK}][/a] Addressed above (large organizations..."silo-effect"...conflicting priorities...etc...)At the end of the day, it basically boils down to what you said here:Formal standards make science work. De facto standards make business work. And you're right. Business people (like you I assume) will never care much about formal standards, and science/academic types (like me) will never care much about de facto standards. From the corporate standpoint, it absolutely makes more sense to push a de facto standard if it reduces interoperability and forces people to use your product (= more $$$), but for the purpose of designing an elegant and robust system (the scientific/academic side of things), a formal standard is much better. Personally, I think that for end users, the latter approach will result in a better overall user experience, and that computing would be a lot better off if it weren't for companies like MS and the corporate apathy for formal standards. [a href="index.php?act=findpost&pid=322225"][{POST_SNAPBACK}][/a] As stated above, I care very much about formally defined and published standards. And wish very much that I (or anyone around me) had the resources to comply with them all the time. And although you may never care very much about de facto standards, you (and many other people) will certainly feel their effects, just as we're all discussing in this thread. It's crappy, I know. And I promise that I and most others leading the IT industry that I've known are clearly aware of the importance of industry-wide standards, and work as hard and as efficiently as possible to achieve them. Yes, there are instances of laziness, inefficiency and even corruption. But these are all in the minority of cases, as hard as that may seem "on the receiving end". There are a lot of gears in these machines we call "corporations", more than even most people imagine. Even quite efficient ones are pressed against the wall every day to make money and grow and overtake our competition. It's a very unnoble cause run vastly by very noble people with good intentions beyond just "maximing revenue". But it takes funding to make any intentions reality. And our funding comes from elsewhere in these machines...places where, at the bottom line, making numbers in bank accounts grow is of the highest interest. In a capitalist economy, universal standards compliance not driven by direct market force will never have a high position in corporate priorities. Companies will do what they have to, and those of us with enough influence will do a little more...anything we possibly can to make our machine work with the others in a common, standardized way. But unfortunately the positive effects we incur in this area will be sporadic at best. You'll see improvements here and there over time, like with the upcoming IE 7, but they'll never come as quickly or as often as you (or I, or anyone else) would like. Unless the market begins demanding it.