Rants
Questions
Soapbox
Best Practices
Apply today for a FREE subscription to CIO Magazine!
Thu, Mar 13, 2008 15:58 EDT

|
Posted by: Esther Schindler in Questions Topic: DevelopmentBlog: Developer Wisdom
Current Rating: |
A common attitude among IT managers is technology exhaustion. Before you (or your organization) have had the time to discover the benefits of one product version—much less deploy it to users—a new version is released. Yeah. No surprise. But what is a mild shock is to discover the same attitudes from the developers who ostensibly are driving forward those technologies and products.
Earlier this week, I attended a Microsoft briefing about Silverlight 2. The event, sponsored by the local Phoenix-area .NET User Group, brought in Scott Guthrie and other high-level Microsoft people to describe such niceties as using Web services with Silverlight, the ASP.NET MVC Framework, and techniques for encoding video. There was plenty of technical material for programmers... but, as usual, I gleaned more wisdom from the developers during the lunch break.
In particular, one developer complained about the fast pace of product releases; he wished that Microsoft would just slow down. He said that he felt like he's always trying to keep pace with the next version (and, mind you, Silverlight 2 just went into beta) while he struggles to support users who are using software versions that are one or two generations behind.
Another developer at the table agreed wholeheartedly. He works at a government agency, it seems, that has just installed SQL Server 2005; adopting the newest version isn't even under discussion at this point. But rather than resent IT management for dragging their feet at deploying the latest-and-greatest, as I would have predicted, these developers were annoyed at users who try to circumvent or strong-arm IT's policies (such as expecting their iPhones to be supported).
Maybe it's simply that I sat at the Cynicism Table, or developers tied to a Microsoft vision are less likely to embrace change than are others, or that those who choose to work in larger organizations adopt a slower-to-change mindset... but I would have predicted a very different view. I've always thought of developers as the first to see promise in new technologies (which at least is supposed to be reflected in the newest version of any product) and anxious to deploy it before the digital paint is dry.
The other thing that struck me about the conversation is that the developers believed that this was a new phenomenon (according to the Gen Y developer) or that the pace of change had grown out of control (said the Gen X guy). I don't really believe that it's true. I worked harder to keep up with both product releases and the burden of "Too many choices!" back in the MS-DOS era, when it wasn't just an issue of "Should we upgrade?" but "Should we bet the business on this vendor's product rather than that one?"
This experience was completely anecdotal, so I'm not sure how representative it is. How does it match with your (or your developers') attitudes?
I'm with the developers on this one. If they saw the particular products discussed as tools that would help them deliver greater value to their users then they would be more supportive. But in their situations the new offerings don't have much value.
For example, with many WebForm applications already deployed, what is the advantage of ASP.NET MVC. In this case it provides more to the vendor, an answer to Ruby on Rails, than it does the customer. Where is the training material for MVC? All they have now is a bunch of blog postings by the product managers and evangelists.
As for Silverlight, well its been hyped for almost a year now and it still isn't close to being in production. It'll be worth investing time in it when the publisher states what calendar year will see the production release.
I also share your history with DOS. I introduced the first LAN into my company. I did it all, from pulling the wire to developing the backup procedure. It was much simpler than what is out there today. Just look at the Heroes launch event. Replace your server OS (including your web server), your database, and your development tools. It would take years for an organization to do that. No wonder people are overwhelmed and largely tuning it out.
I have to disagree. Provided vendors don't drop support for versions that are still in productive use a fast pace of change is the point of our entire industry is it not?
For my projects the new stuff can't get here fast enough. We placed bets on Silverlight almost a year ago now and it has become a crucial part of our strategy going forward. New and better tools only serve to make us more productive as developers, more secure as enterprises, and allow delivery of more efficient and intuitive product.
Anyone in this industry who doesn't grasp this is doing it wrong.
If you are in a shop where your infrastructure is mature, is working, and the technology isn't ancient, new technology is not as appealing because you don't want or need to spend a lot of dollars and time "fixing" something that isn't broken. However, if you're project is to develop a new monster app, getting the latest and greatest is what it's all about. You look forward to the new stuff the vendors are putting out and can't wait to try it out. It's not until that new monster app become more mature that you stop looking for the next cool thing. It's all a matter of perspective. It's extremely expensive to upgrade when you are not planning on taking advantage of new "features" in the vendors latest product.
I remember there used to be what was called a window of opportunity. It consisted of some stable hardware, some useable development tools, analysts evaluated business needs and designed optimizations which were then coded, tested, rolled out, and utilized for a period of time. The increase in business effectiveness generated profits, which then were disbursed, and some saved to do the process over again. This was the description of a successful data processing project.
In the previous paragraph, almost every constant has become a variable. Hardware doesn't last long enough to be depreciated. Development tools consist of a stream of beta software that seldom sees a polished product before the next paradigm arrives and changes the design patterns. Many pseudo analysts shoot from the hip and define the problem with a major vendor's solution already in mind. I could go so far as to say businesses shape themselves to fit with the vendor's solutions rather than the solutions addressing the business needs.
We are seeing a unique situation right now where the CPU manufacturers decided to create multi-core processors because it was easier than making faster ones, and left it up to the software engineers to figure out how to design for the new paradigm. A very clear case of the tail wagging the dog. The multi-core processors have been here for a while now and the problem remains to be solved.
As a software engineer I used to train up on a technology, use it for several years, then absorb the next technology. There was a window of opportunity with each technology before we went on with the next. We were allowed to do some profit taking before investing again. Today the hardware, operating systems, development software, and business realities are progressing so fast that it requires waves of engineers to handle legacy, current, future, and potential technology. Learning any speciality to a meaningful depth takes longer than one should spend if they want to keep up in general.
This situation is currently being addressed by throwing large amounts of new graduates at tightly focused speciality areas with little regard for their long term viability. Things have changed a lot, and I barely recognize the technology marketplace any more.
Thanks for the article. The ridiculous pace of new software introducton is not new, but is accelerating. As a former CIO and having worked in a number of software product companies, it's also not surprising. I agree with the point that, despite developers' tendancy to sometimes leap to new, "cool" technologies, the accelerating pace is not driven by them but by two other things; (1) corporations' (and shareholders') instatiable need for greater profits and competitiveness, and (2) the technology media's tendancy to totally overstate the rate of serious adoption of new technologies. Remember when SOA first hit the press? You'd swear that within weeks half of the country's businesses were in the middle of converting all of their mission-critical apps! Not true! Also, from what we see in the media, you'd think most of American companies are running there businesses on beta software; also, not true.
I totally agree... SLOW DOWN! Let's get something right for a change (and actually realize some of its benefits) before we throw it away in favor of the next great innovation!