In IT, Beware of Fad Versus Functional
Lemeowski writes: Cloud, big data, and agile were three of the technology terms that were brandished the most by IT leaders in 2014. Yet, there could be a real danger in buying into the hype without understanding the implications of the technologies, writes Pearson CTO Sven Gerjets. In this essay, Gerjets warns that many IT executives drop the ball when it comes to "defining how a new technology approach will add value" to their organization. He says: "Yes, you can dive into an IT fad without thinking about it, but I can promise you'll look back and be horrified someday. The only time you can fully adopt some of these new methods is when you are starting from scratch. Most of us don't have that luxury because we are working with legacy architectures and technical debt so you have to play hand you've been dealt, communicate well, set clear and measurable outcomes, and use these fads to thoughtfully supplement the environment you are working in to benefit the ecosystem."
What's so IT-specific about this maxim, that it warrants being on Slashdot? A slow news day?
In Soviet Washington the swamp drains you.
Sniffing Ruby in powder? You should try to bang Java again, maybe...
So bad executive behavior, which has been immortalized in dilbert for *decades*, is now worthy of an essay?
There's a certain sense of irony here.
Mod me down with all of your hatred and your journey towards the dark side will be complete!
... get chosen based on buzzword appeal by non-technical executives. And even if they seek technical advise chances are it will be from those who have been made fully buzzword compliant by past employment, education, and the media.
Bukowski said it. I believe it. That settles it.
Agile Project management methodology has a lot of good features.
Cloud based processing can help the organization.
You can get a lot of useful information from Big Data (Previously Business Intelligence, Previously Decision Support System)
And they are still hanging on to Enterprise Class software.
But they jump headfirst without realizing what their main plan or problems they will use it to solve.
But what normally happens they just replace their existing technology and try to rig the new one to do what they did before and hope magically they will get a benefit from it.
These types of technology require you to change your full organization culture, and workflow to gain the advantage of the new technology. Just saying you got a big data project by joining all your DB tables in some big views and giving you a few reports isn't really big data.
Hosting your email on gmail isn't going to the cloud. Or even just remotely hosting you stuff on cloud systems, isn't embracing the cloud it is just offshoring your data.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
I'll have you know im very well versed in that which is fad, and that which is function, you insensitive clod. I attend my scrum stand-ups daily to make sure I get updates about our Cloud. once thats taken care of, I write the most functional devops scripts in nothing less than the latest ruby code to ensure our SAAS, PAAS, DAAS, and GAAS are all ITSG A OK. Now if you'll excuse me, I believe my Zune is finished charging.
Good people go to bed earlier.
Those making the decisions will be gone with their golden parachutes long before any shit hits the fan about their "value" added decisions
So over my nearly 20 years in IT/CS, I've seen a few:
I worked for a large retailer. We migrated from an old frame-relay leased-line network to a much more capable multihomed IP-over-VPN configuration to connect all of our retail locations around the country back to HQ. This new system worked well. Our CIO retired, and a new one was brought in. CIO Magazine a year or so later had an article about "Satellite Internet, The Future?" Our CIO then "spontaneously" started lobbying to get us to scrap our efficient, inexpensive, high-bandwidth network for a satellite system.
I can't tell you how many projects I saw rewritten in Ruby on Rails just because that was the new hotness, only to be abandoned later when everyone realized that Ruby is awful.
I myself wrote a bunch of stuff in Erlang not because it was the best language but because that was the new hotness.
Two unchanging things I've noticed are:
A lot of time, the new hotness makes common problems go away or common tasks easier, but ends up making more complex things harder. This isn't necessarily a bad thing, but people tend to get stuck in the model of thinking that the new technology has to be used for everything, and they end up shoehorning their complex projects into frameworks that aren't the best choice.
No matter what the new technology is, and no matter how fantastic it is, it's not going to replace C/C++ for systems-level work, and Python and Perl aren't going anywhere. Truly successful technologies have long tails.
...but it's being eaten...by some...Linux or something...
If Sven Gerjets is such a critic of buzzwords, perhaps it would have been pertinent to speak about useful/meaningful/appropriate outcome; qualitative measures to ensure so.
Rather than "add value", itself such a buzz-word.
Cloud.
Nonsense... high level IT people (IT directors, CTO, etc) aren't worried about whether it really 'adds value' for the company or not, they probably won't be around (at least in my last few jobs) to have to deal with the consequences - the only consideration for them is that it 'adds value' to their resume/CV, so they can move on to that next job with "Successfully transitioned company 'Z' to a cloud based architecture cutting datacenter and hardware costs to virtually nothing" (ignoring, of course, the fact that it's all falling apart slowly after them).
Not meaning to put down "the cloud" there, there are instances where it can be a benefit, but in general the decisions aren't made on that kind of 'case by case' basis, they come down from "on-high" by executives who have no real idea about the technology beyond what they've read in "CIO magazine", and are 'mandated' on an all-or-nothing basis. Rarely does said executive actually wind up sticking around to deal with the outcome of their 'sweeping change'. And, of course, by then the next exec comes in with some brand new thing being touted ("now we'll focus on 'big data', and 'flattening out the organization') and even as the last thing is maybe just barely starting to become stable it's time to move in some new direction.
A lot of times, what it comes down to is that a fad is simply a popularization of a particular approach to a problem "x". Solving "x" has value to the company. If you can reasonably get buy in to solving "x" (i.e. scalability, richness of user experience, flexibility of deployment), then you can use misplaced faith in the fad (respectively: cloud, Web 2.0, virtualization) to get the executive buy-in to solve that problem, whether the implementation makes use of the fad or not.
I predict Agile will completely subsume Cloud in the next five years.
I'd love to comment but I have to finish up my hadoop task on AWS before the end of this sprint.
A developer in my group was asked to provide code from our system to another group for inclusion in their system. The code implements a complex algorithm that nobody quite understands (a PHD student at the time was trying to be impressive, and wrote up a 20+ page tech document to describe it). In any case, the code works, and they want to copy it.
So my boss comes back and says "the developer wants to know why this was written in C and not C#". Okay, I guess they're going for an all Microsoft solution, and I won't comment on whether or not that's a good, bad or indifferent choice (though you folks can...). My point is that the code in question was written before C# even existed, and while the offshore kid in the other group might not have known that, my boss certainly should have. So maybe what's left of .NET is a viable toolset to use to build "apps in the cloud" (did I mention that the other project is a complete rewrite of an existing system to be in the cloud - which i don't think is a particularly bad idea, btw). But maybe it's not. And obviously, the people deciding to use it probably have no idea even what .NET is (partially due to the Microsoft PR machine's history of not knowing what .NET was...).
Posted from my Android phone. Oh, I can change this? There, that's better...
That is all.
What is with all the cloud hate?
AWS and Google Apps have been awesome for me- for SMB's its really the best option. For some troll food, I am typing this on a chromebook.
Cloud is just a BS marketing term for hosted- I am paying google and amazon to do something at an economy of scale I could never match with colo back in the day. Used properly there is no reason to fear what is new, you dont want to be one of those enterprises that IS STILL running windows XP.
Its a balance, you cant stand still.... and you dont want to run off the cliff.
doubt it, a lot of it is chosen by developers buying into the hype of the coolest new technology or language or framework... which invariably turn out to be a pile of shit.
For example, a few years back all the talk was of Biztalk and some people developed their "this time it'll be great" tech products using it, and now some poor sods are lumbered with a steaming piece of legacy poo that they have to maintain and that costs them a fortune. Before that there was so much talk of functional languages (which are ok in themselves) that would be a silver bullet that solved all problems, and Ruby after that, and .NET before that, and ... well I could go on but its depressing.
I think sharepoint is the main technology chosen by non-techies but the techies are way worse for jumping on the du jour bandwagon.
Our industry embraces technology churn far too easily. Change might be good, but only in evolutionary steps, making things better. I think a lot of it is driven by people who either don't have the experience or simply can't handle the current tech and so see anything different as a chance to avoid being found out.
It was called "Time sharing".
Oops, pardon me for saying that. Of course systemd is the greatest thing ever in the Linux software ecosystem.
The fad here is attempting to use anything but systemd, or saying bad things about it.
In this essay, Gerjets warns that many IT executives drop the ball when it comes to "defining how a new technology approach will add value" to their organization.
In my experience, many IT execs are not involved in developing or do not understand their company's strategy and thus have no idea what the technology needs to accomplish. they respond to requests, or develop technology solutions without input from the actual users and thus deliver solutions that don't really do what is needed. Even worse, some are promoted techies who are enamored with technology and want what is cool without regard to weather or not it is actually useful.
I'm a consultant - I convert gibberish into cash-flow.
I thought this was going to be an article about functional programming languages, and fads related to them.
Beware of Toys vs Tools
-- kjh
And he makes a FUNDAMENTAL mistake by focusing on "defining how a new technology approach will add value".
At the CxO level that is easy to do. It will allow the company to synergize your core with blah blah buzzword blah buzzword.
But the reality is that it is about adding more achievements and buzzwords to someone's resume so that they can move on before their choices bite them.
These are the questions I end up asking when someone runs into the I.T. department shouting that we need to upload all of our code to the cloud and power down our data center.
1. Does this technology put our companies assets at risk?
2. Does this technology significantly improve the performance/security/reliability without violating rule #1?
3. Does this technology put us in a situation where a single vendor/point of failure/attacker can road block us?
4. What are the long term costs of this technology compared to our existing infrastructure?
5. How disruptive is this technology and do it's benefits outweigh the disruption?
In many cases once we get into the conversation and the person has a better understanding of what's going on behind the scenes, suddenly "cheapass-hosting-services.com" stops looking like such a great deal.
Yes Francis, the world has gone crazy.
Beware the IT fad words like 'ecosystem'...
I art more snarky, and terse than thou. I art Slashdot!
na, it'll be because they just aren't good enough to understand the C code. Tell the developer to grow a pair and start using the right tools rather than the only thing he understands. (and frankly, I doubt he'd be able to understand the complex algorithm anyway).
And the cloud / cloud services aren't going away anytime soon. I have a hard time thinking of those as "Fads" though they might be supplanted or the terminology might change in a few years.
"Big Data" for me is still a buzzword that I'm not sure I understand the value of for most IT shops.
Fads in IT? Unheard of.
I'd love to comment, but I have some SSL work to do in PocketBuilder, while I support my longer term upgrade path for my 'legacy' PowerBuilder apps (Not a hack against PowerBuilder, it has a very long, successful tail for us).
Meanwhile, I'm currently watching a 5-year project (which has been going for 7 years now and still has nothing in Prod) to convert these apps into web apps (even though all the users are internal users on our network) get delayed yet another year because they forgot to add time for testing, and did I mention that the 'new' technology will be an entirely Swing based COTS system (with no test harness) that we are outsourcing from a vendor in Europe whose main language is not english? Can you say LOTS of customization at great expense via contractors anyone? I knew you could.
Ya, great successes await my team, I am sure. And they will likely instead come from transitioning our existing business logic into a RESTful web-services layer in DropWizard while the Swing based COTS system slowly fails and costs us literally 10's of millions in wasted capital project budget.
Good times.
This is why I still use DOS.
"If any question why we died, Tell them because our fathers lied."
What a travesty Agile Project Management is!
That's not to say Agile doesn't have its good parts, but blindly applying any one methodology to every single project MAKES NO SENSE! The methodology dujour has changed a few times in the last 20 years, and its the same mistake every time. When will it be learned that choosing the right methodology for a given project is the best way to go.
Sure, we had Java at the time, but for some reason Visual Basic caught on big time in the late 90s. After going to school for software engineering, I had to completely remember how to program in subs. Subs are just like functions, except you need to remember to never use the same loop variable you used in the parent subs :P
God spoke to me
.
Readability appears to be taking a back seat.
I've been in the business for a long time now, about 25 years. My theory is that a lot of fads are driven by the failure to properly exploit previous technology waves. There is an element of "technology X was disappointing, but shiny technology Y promises to deliver all our hopes and dreams!"
Truly, I can count on the fingers of one hand the number of times I've seen tech that basically works, but the implementation sucks. It's a basic, not very impressive deployment. Instead of spending time optimizing that tech, the leadership starts chasing the latest buzzword.
A post-deployment, optimizing step is what is so often missing from our lives. Or an effort at pre-deployment intelligent exploitation of same. Hey, I can dream...
Doesn't everybody learn from experience about jumping into fads at some point?
Is this just a problem for new IT being given power too soon or am I wrong and we have a lot of IT people who never learn?
Democracy Now! - uncensored, anti-establishment news
I'll stick with my FreeBSD servers and my Linux workstations, thank you. All this talk of cloud, agile, scrum...
I've been running IT infrastructures for almost 20 years using FreeBSD, Linux, and some csh, Python, and BASH scripts. I keep everything simple and relevant. No cruft. Nothing runs on the machines that is not needed exactly. I've ran VOIP systems, Web servers by the hundreds, written provisioning scripts that do about everything, all in house, no outside help. A relative newbie that understands UNIX could look at my scripts and feel at home. They take me a little longer to write because I document everything and make sure everyone understands what is what.
Short of a HW failure, I've never had a FreeBSD server fail that was in production. Plenty of trial and error in the test lab and at home, but I refuse to go live with something that I don't trust. I trust no other server OS but FreeBSD and OpenBSD for pf (firewall). I run a VOIP system now, a firewall, a mail server, and a series of POS systems across three campuses. Simple, easy work because we keep it simple. We are a no fad shop. The youngest of us is 38. Our oldest just left and he was a hair under 70. Everyone here likes simple, easy and predictable. BSD gives you this. Everytime.
Nor do many people who profess to use it.
In 25 years, I have yet to see a type of project that couldn't benefit from an agile approach...done correctly, of course. At its core, Agile is about breaking down a big project into manageable pieces. This process can be done logically, and it can be done nonsensically.
In IT there rarely are any hard problems. Few people operate Google scale data centres, few people do automatic voice recognition or video codecs.
This somehow seems to cause a desire for solving simple problems in difficult ways. You suddenly have complex frameworks to do more or less trivial things because you are trying to abuse something that's never meant to be used in a certain way. More and more non essential features get crammed into projects.
If you want to stay ahead in IT, avoid complexity. Simple ideas seem to persist in the long run. A typical example is the Unix philosophy. It's an attempt to make everything as simple as possible, so simple that a single person can write a cut down implementation in just a few months. Another example is the Internet. IP is a wonderful simple protocol. You just throw in a packet and it may or may not arrive on the other end. Compare that to ATM or ISDN and you will see how much simpler it is.
As a rule of thumb, if someone tells you about a new technology or trend, ask them to explain it to you in 1-2 sentences, no more than 20 words. Either they will fail, in this case you'll know that it's either just a buzzword or far to complex, or they will actually say what it is.
A blinding flash of the obvious!
If a train station is a place where a train stops, what's a workstation?
In my experience, a huge fraction of the marketing surrounding any IT fad is the promise that it will magically erase or prevent technical debt. This is attractive because in many ways technical debt is THE great unsolved problem of software engineering. TL;DR there is no magic bullet; the only solutions are craftsmanship and paying the technical debt up front. Unless management understands this, no IT fad will ever solve the problem.
"The wisdom of the Patriarchs was that they *knew* they were fools." --Master Foo
... I think a lot of it is driven by people who either don't have the experience or simply can't handle the current tech and so see anything different as a chance to avoid being found out.
Actually, that's probably a lot of the reason for problems, in techs -or- management.
People entering a situation where they know little have a tendency to do things to invalidate the existing knowledge, so that they are on the same level as everyone else. This can be particularly bad with new managers and can destroy companies. Beware, you might not even be aware that you are doing this! 8-P
Also, an appalling number of people only know one thing, and have no idea that they could learn other things. In the software field, I am talking about the programmers that are "fanboys" for one language and don't know any other. Often this is a "new" language taught by a vendor, that is not useful for all (any?) jobs.
Real programmers know more than one language and more than one computer system. If you don't, it might be a good thing to "study up" on. Even if it is only one of the single-board "toys" you can get for around $35. 8-)