Thursday, April 24, 2014

A Tale of Two Methodologies

Today, I'm going to explain why working in IT is a goddamn nightmare by comparing two separate firms I've had the misfortune to work at. The first we'll call Company F and the second we'll call Company A.

Company F followed a simple but flexible development process. Customer submits a change request regarding the software. Analyst translates request into technical requirements and passes along to developer. Developer makes change and bounces it back to analyst for review. Analyst either accepts or rejects, and in case of the latter gives developer very specific reasons. All of this was tracked on a company webpage that could be filtered for release schedule, status, aspect of the project, etc.

The problems that came up had nothing to do with the process. First of all, the flagship software was shit on a brick. It was built by a single developer for ten years before he quit and they started passing it from one dev to another in a desperate attempt to keep building on the thousands of lines of spaghetti code. Any changes necessitated wholesale regression testing because even the simplest change could break functionality in some obscure corner of the software. Add to this the fact that all the developers at Company F were useless prima donnas who owed their job security to kissing the boss's ass - save for one - and it makes sense why I was such a regular in Arlington bars.

Now compare this to Company A, where the process is doomed from the start. Utilizing the management fad called Agile, requirements are called "stories" because it sounds different and creative. A story is pieced together at "storytime" where we unfortunately do not get cookies and milk - let alone a clear idea as to where this requirement came from and why it's necessary. Except for certain circumstances, which I'll be getting to in a moment. From storytime, the job goes into this website called Rally - a third-party project tracker that exclusively deals with Agile projects and which nobody actually doing work ever looks at. From there, it eventually gets brought into a "Sprint" which is a two week period focused on a set number of stories and thus makes it crunch time all the time. "Crunch Time" by the way is that period in a software development project where everything is due now! now! now! and is hated by every single IT worker ever.

A story, once in a sprint, can take one of two forms. Either it is committed and must be done within this two week period, or it is a "stretch" and can be done whenever. Theoretically we could work on nothing but stretch stories but then the technically illiterate middle management wouldn't be able to say "We committed to 10 points this sprint and completed 10 points! Checkout the size of my project management penis! It's all quantified and shit!' And then there's something called a "spike" which is "doing the research for a story we should have done before writing it up or assigning people to work on it."

And about those points - they don't matter. The team I'm on assigns values of 1, 2, 3, 5, or 8 to projects because nerds think using Fibonacci numbers make them the smartyest. In theory, these  numbers indicate man hours needed to complete the task. In practice, they indicate fuck all.

And different teams use different numbering conventions so how project managers are using them for their dick waving is another matter all together but has something to do with another Agile concept - "velocity." Basically if the team says "We will do X!" and then do X enough times, they have a high velocity and Polly Project Manager gets his cracker. If instead they do Y or Z... I really have no idea because everyone's velocity is all over the place and the project managers are still dug in like tumors.

As for daily story work, it is discussed every day at the same time in a "scrum." Agile evangelists insist it is not a status meeting but it is and they're stupid. Generally each person is working on a different story, or different subplots of the same story (which isn't an Agile term, thankfully) and if something that's committed looks like it won't get done now! now! now! then theoretically we can "swarm"on it. Because central to Agile methodology is the ideal that everyone on a team can do everything, like interchangeable cogs.

So that's what's wrong with Company A's process. And it gets worse because, as it's polluted with the faithful of Open Source, projects are done in a dozen different programming languages which makes any sort of reliable testing a nightmare. But they apply the same linear Programmer Think to the testing process - Step 1: Write Automation Test, Step 2: Run Automation Test, Step 3: Repeat. In theory, when these tests throw an error it indicates something that needs to be fixed. In practice, the emphasis is on creating tests and creating more tests and never doing any followup whatsoever.

Automated testing is useful and I wish it had existed at Company F, but there's no real point if no one ever regularly checks the results. Most of these tests fail every day and it's shrugged off as either "known bug" or "not my problem." Because no single dev has ownership of any of Company A's dozens of products and projects. That's one thing even the Company F devs got right - at least one of them took enough of a personal interest in some program or web application - or were assigned to do so - that analysts knew who to contact when something looked screwy. Company A has a third party bug tracker. And most of the bugs documented were found through manual testing. Or by customers. And still don't get addressed unless someone, somewhere, writes a story about them. Like "It was a dark and stormy night and my code is shit because I care more about posturing on Linux forums than I do about making a functional product."

Finally, there's training and documentation. Company F, for all its awfulness, did this really well. Everything was documented, if you didn't document you got a stern talking to, and all the documentation was both clear and easily accessible. Training, at least for analysts, was an in-depth one on one mentoring process that lasted the first full month on the job.

Training at Company A consists of either a "ramp up" story - which I never got - or training classes that address broad subjects and don't nearly prepare you for the actual work. They can't because every project has a team with its own "Best Practices" for doing things. This is all Agile's fault as it plays to the hippie-libertarian delusions of most programmers - "Everybody gets to do their own thing because freedom and free software and free porn at Pirate Bay!" And these Best Practices are documented on an equally ad hoc basis, if at all. The company wiki is bloated with information so out of date it references teams and projects that don't exist anymore! Actual Best Practices are more often than not team customs, which you can't possibly learn unless someone tells you. This isn't just sloppy and inefficient, it's how massive data fuck-ups happen.

This dysfunction isn't inherent to IT. Like I said, even Company F did some things right and a sysadmin who sits next to me doesn't buy into all the buzzword bullshit. And he's forever pulling his hair out, trying to maintain a server architecture that's been cobbled together by a dozen Open Source and Agile cultists. Who can't be contacted because no ownership and everyone moves between teams all the time, meaning we're constantly playing catch up and repeating work we didn't know already existed.

So that's why I'm pissed off all the time.

Tuesday, April 22, 2014

Fool's Gold

Mt. Gox, that meeting place of postmodern currency speculators and Magic card traders, is kaput. As if filing for bankruptcy two months ago didn't make that obvious enough, the scammers behind the site are begging the Japanese government to allow it to be liquidated - whatever "liquidated" means in the context of imaginary e-gold.

"But it has Latin! That makes it real, right?"

If you have even the most basic understanding of finance, this is no surprise at all. If you're a reader of the Wall Street Journal, you're having a good laugh. A few of my favorite comments:

"Fake money turns out to be worthless. Whoever would have guessed"
~Christopher Holland

"Fake volatile money. Never understood the value of doing transactions in a currency that's more volatile than AMZN stock."
~Walter Smith

Not one tear is shed and that should clue you in right away that Bitcoin was, is, and always will be a scam. Despite its faults, the Wall Street Journal and other business papers are not in the habit of lying to itself or its readers in the same way as the sucker horde. At the end of the day, the numbers have to add up and with Bitcoin they never did.

"But the mathematics are robust!" I hear you say. It's the favorite excuse of libertarians for their various monetary schemes, whether gold buggery or states printing their own notes. Schemes that are obsessively technical while refusing to acknowledge the human dimension of economics because the proponents can't get a date.

In fact that poor socialization is exactly why Bitcoin was always doomed, regardless of how it looked in theory. Currencies, whether fiat paper or gold shekels or SNAP cards, are all social constructs. Value will always be a subjective quality, dependent on just how many people are willing to pay and be paid with the item in question. The US dollar, for example, is backed not just by the full faith and credit of the US government but also about three hundred million citizens and the most expensive military on Earth.

That's why inflation is such a distant concern for the US dollar, no matter how many are printed, and also why Bitcoin  never had a snowball's chance in Hell. Though it did turn a profit for the more cynical for a while, since the best money to be made in a gold rush is selling shovels.

Thursday, April 17, 2014

La Mer Avait Embrassé Moi

Living in New York can make you forget about the realities of this country. It's a different culture here, more like medieval Germany with all the little ethnic enclaves at each others throats all the time. It's an honest antagonism, so different from the flat homogeneity of the suburban sprawl that makes up the majority of this country. Seeing it all again like I did this weekend brings the existential wretchedness of American existence into sharp focus.

And it made me finally understand the appeal of big budget noisefests like Transformers and The Avengers. Because it's a noisefest and because it's so very different from everyday life out there in the barren suburban landscape. It's two hours of being forcefully plucked out of the all-American drudgery that you can never admit to in this country. Escapism that doesn't allow you any thought or ironic distance, because such things might lead you to really think about your own nothing life in a nothing town where not even your petty tyrant of a boss has a future.

Which brings us to Noah.

Better learn to swim...

It's as big and loud as any other blockbuster, but it's loaded to the gills with real thoughts and ideas. Russell Crowe's Noah isn't the kindly bearded gentleman from those Catholic kid's books, he's a hard scrabble survivor with more questions than answers concerning the Creator's grand plan of purging the world. There's little about this fiction that's "inspirational" as it's called by publishers. Noah views his work as a grim duty, all the more so as he listens to the screams of those still clinging desperately to the outside of his ark or on nearby mountain tops. The film follows a confusing and challenging morality, much like that suggested in Kierkegard's Either/Or. Noah, as the antecedent of Abraham, is presented with the Will of God and must fight his own moral instincts to obey. Depending on your point of view, he ultimately fails.

Much has been made by the Fox News crew about all the liberal bias and evulz of the film and like a stopped clock they're right. Noah is absolutely environmentalist, presenting conservation and sustainable living as not only good but Godly. Noah and his family are even strict vegetarians, because killing and eating animals is presented as defiling Creation - a view shared by some Egyptian Copts, if you didn't know. If that weren't enough, the climate change analogy is inescapable, though unlike many other parables on the subject it offers no easy out. Man has defiled Creation and shall now be destroyed by the elements, forces beyond the scope of the Will to Power so celebrated by Ray Winstone's snake-eating villain.

All of this is delivered in a visually brilliant manner. From the swirling sky to the to the industrial blight of the cities of Cain to the endearingly grotesque fallen angels, Aronofsky's Noah is both familiar and alien in a way not seen in fantasy film since Army of Darkness or Willow. And even with its grim thesis, it champions above all the human capacity for love. Noah believes the Creator intends for all of humanity to die, believes that he and his were chosen to preserve the innocent beasts not because they are any better but simply because they can get the task done. But when presented with the continuation of humanity in the form of his own grandchildren, Noah cannot bring himself to "do what must be done" because of love. And in keeping with its own self-critical morality, it's because of love that the inconstant Ham slays Tubal-Cain and likely starts the cycle all over again. Humanity is purged but not cleansed and the film makes clear Man can still be as much a detriment to creation as a steward, the latter only possible not through blind duty to some inscrutable deity but through compassion for one another and a humble acceptance of our limitations in contrast to the infinite cosmos.

A stirring film... And utterly lost on the audience. Outside the theater where I saw this were four places serving bacon cheeseburgers and a Cold Stone. The people who left the theater stuffed their faces with easy fats - the only legal pleasure allowed in this wasteland, besides petty malice - before driving massive money-hole cars back to their depreciating homes, Aronofsky's work just one more spectacle to distract from the flatness of their lives. Another day spent growing fatter and sicker and meaner.

The rains can't come soon enough.

Tuesday, April 15, 2014

Critical Rhetoric Failure

You ever think about the talking points that get tossed around in this culture? I mean, really think about them? I do, because my day job is about as stimulating as oatmeal. And I have to say, a lot of 'em don't make a lick of sense.

A Rising Tide Lifts All Boats

This has been a favorite since Reagan cut taxes before raising taxes. It's supposed to illustrate how enriching the already rich will make everyone rich, but whoever came up with that was not the most poetic of souls. Because the phrase as it stands merely claims a rising tide, which would represent the economy at large. That everyone benefits from a growing economy is one of those "no shit" assertions.

Whereas if we try to fit the supply-side argument into the metaphor... Well, are the big yachts the supply and the little canoes the demand? Are we making the yachts bigger or filling them with more cocaine and strippers? Increased weight could lead to greater water displacement, raising the canoes marginally but nothing comparable to a "rising tide." And technically, those 1% yachts not only didn't rise but just sank a little.

Makers and Takers or Water Carriers and Water Drinkers

This betrays a fundamental misunderstanding of consumer economics. Without the takers, the makers would have no reason to make save for their own subsistence. And if that's the standard, nobody's gonna make an iPad or any other inedible gizmo.

Of course that's not what is intended by "takers." The idea is instead that there are those engaged in productive work and the evils of the welfare state force them to subsidize the idleness of the masses. Leaving aside the fact that such a claim is ludicrous in the context of routine 60 hour work weeks for stagnating wages and slashed benefits, this still can't get around the issue that the much maligned "takers" are simultaneously the primary market for the products of the "makers." Unless all that's made is art, but few Hollywood liberals complain about paying for the food stamps of single moms.

So there's the sister phrase differentiating who's carrying the water. The most obvious critique - "Why don't you just drink the water you're carrying?" - is met with dull gruntings of "The Gub'mint!" and "Mah freedoms!" because they feel like victims. Which they are, but it's always easier to bitch about the single mother with the SNAP card than about your boss buying another summer home. He might be listening!

There Ain't No Such Thing As A Free Lunch

This, oddly enough, is an entirely sensible statement. At the most basic, anything you consume was first produced by a complex process costing a degree of matter or energy. Even if you just eat grass, you're depleting the grass you'll have available for the next day or until more grass can grow.

But then everyone who offers this argument does so in defense of one free lunch or another. Typically it's used to decry welfare on the way to cutting taxes - the goal being a massive tax cut to maximize immediate personal cash. Except the TANSTAAFL crowd still expects roads and the rule of law, things only possible through a tax-funded system. Or they expect the meat they consume is free of pathogens. Or, ever more frequently, they buy commodities manufactured by Third World slaves rather than local blue collar workers, ensuring that big box retailers are enriched while they themselves suffer greater wage stagnation as all the real work is shipped overseas.

Punishing Success

You have to wonder how anyone can take a look at American culture, where even the most vapid bimbos can be celebrated for being celebrities, and then assume that paying a few more percentages in taxes is somehow a punishment. Maybe the people offering up this line spent their childhoods eating only candy and never taking baths, so now they see anything that is not immediate wish fulfillment to be a punishment. I doubt it though, because then their stinky asses would've died of diabetes long before they could get jobs in cable news.

I Never Got a Job from a Poor Person

What kinda slave's logic is that!?

~ ~ ~

Like so much to do with terrible prose, this really comes back to one Thomas Friedman. As his continued relevance shows, the American ruling class doesn't need or want particularly clever sloganeers. Friedman made his bones using similarly daft and dodgy arguments to celebrate globalization and now that America's imperial war machine is out of gas - thanks, Bush! - we're getting the same nonsense treatment at home. And it sells because all those years Friedman and the rest of the 1% nomenklatura were gloating at foreigners, they were really performing for all the heartland rubes. We're not just dumb enough to accept this dodgy rhetoric, we've been conditioned to.