Software Development Is Neither Art Nor Science

January 10th, 2012 by The Director

The software development community has an axis of partisans that runs from those who want to view themselves either as free-wheeling creative types channeling form out of the aether and putting it beautifully, elegantly into code to those who view themselves as white-suited scientists or engineers reasoning natural laws and applying those laws to GUIs. Hence, we get a constant stream of articles like this one, “Software engineering: Art or science?” from the November 8, 2011, SD Times magazine. November 8? Jeez, how deep is the pile of things on the left wing of my desk?

Point of order, Mr. Chairman: Software development is neither art nor science.

Were it art, the product would be meaningful only in invoking thought or providing a comforting sense of beauty. I mean, you don’t use a painting or a concerto for something other than enjoying the painting or concerto. Unless you’re breaking prisoners of war with them or something.

Were it science, the product could be replicated over and over again by others in other organizations and come up with the exact same result. I’m not talking about duplicating CDs or packaging distros; I mean when one wanted to connect to a database, one would use the proven method that had been established, basically, by Isaac Newton. Software development is not that way; its experiments–that is, the development of individual projects or products–do not yield a similar result when done over a series of time and in different location.

What is software development, then? It is handicrafts.

  • The end product does something. The end of the coding process is not some pretty Matrix-drizzle of green numbers to make everything pretty. The end of the coding process is some sort of tool. Ergo, the application is not a work of art. While crafting often produces just art, in other cases it produces something that does something else, however twee. Quilting produces a device that retains heat; woodworking produces furniture. And so on.
     
  • The end product is unique. Assuming you’ve built a phonebook database, a Web site that allows users to enter into a sweepstakes, or a Web service that seeks and receives data from a database to dish to a presentation layer somewhere, you’ve built something different from all the others that have been built before, even those that do the exact same thing. If this were science, your process would yield a finished result that matched the others.
     
  • The end product bears certain trademarks of the craftsmen. Come on, your fingerprints and foibles are all over your software. The tweaks and ways you do things are different from everyone else’s, and someone who’s familiar with your work and with the industry will see your marks on what you’ve done.
     
  • Each end product will have unique defects. In handicrafting, it might be a little glue showing in the gaps of bonded surfaces, maybe a little nesting somewhere in a seam. Maybe they won’t be glaringly obvious, and only another craftsman will see them. Maybe they’re obvious enough that nobody will buy them from your table in the bazaar. Regardless, the defects will be unique to the product, and your other products even if they’re very similar products will have different defects. Or maybe you make the same mistakes over and over and your defects are your trademark.
     
  • Best practices and technologies are faddish. The things you’re coding in and the ways you’re doing it are not necessarily the end result of some evolution or even rational processes. They might just be what someone read in a magazine and thought would be worth a try. Evaluating the practices’ effectiveness might become secondary to trying something novel. I know how to paint the glass into which I pour my candles–what if I try etching the glass? What, indeed?
     
  • Truth does not determine what tools or technologies you use. You know, for that pyrography design, perhaps a wire nib is called for. However, your budget only allows enough for a cheap Walnut Hollow solid nib woodburning kit. As in software development, sometimes the “best” tool is the open-source product that meets some subset of your needs, but it’s free. So you make do. Like a scientist working with studying particles with a Moderately Sized Hadron Collider.
     
  • The craftsmen are more like gossipy ladies at the Singer sewing classes than steely-eyed doctors. I mean, granted, even steely-eyed scientists can be a gossipy lot, but. Any time your craftsmen speak from authority, they’re speaking from some experience, some faddish magazine or blog articles, and/or some education, but they’re not as ex cathedra as they’d like you to think.

Does the metaphor break down? Assuredly. I am a mere craftsman. But if you try to pour software development into some metaphor to make it comprehensible to non-IT people, you could do worse. Like saying it’s an art or a science.

Decoding the Credit Card Number

January 9th, 2012 by The Director

If you work with credit card processing, this graphic will explain how the credit card is derived.

You can use it to better create test data or whatnot.

QA Music: Last Chance

January 9th, 2012 by The Director

Today might be your last chance.

Personally, I’m logging a defect about a potential boundary issue: “Your life is short as hell”? I am no theologian, but I understand hell was considered eternal. Unlike life.

A Consultant’s Cri de Couer

January 6th, 2012 by The Director

As a consultant, I feel this way sometimes:

I love giving advice. I write blogs, articles and a newsletter. I host a radio show. I tweet, Facebook and share nuggets of advice almost daily. So what is it in all of that, that would make anyone think they can still have the right to “pick my brain”?

I can’t tell you how flattering it is to be approached by representatives from major companies seeking my wisdom and advice. It shows they are listening, and like what I have to say.

But often I find the road ends when they are just on a fact finding mission. That mission is to pick my brain to gather as much free intel and knowledge they need to make their jobs easier.

Usually I get that feeling when someone says Hey, can you look at this Web site real quick for me? or Hey, what’s the best tool to use for this task?

Which happens. More often than someone wants to throw money at me to do it, sadly.

(Link seen here.)

Book Report: Get to Work! by Steven Pressfield (2011)

January 5th, 2012 by The Director

Book coverIt would be a facile take on this short motivational book to try to explain that QA should look at everything in this book and to do the opposite. This book is all about jumping into a project of some sort and how to best thwart the resistance that will come up when you try to complete it. The book focuses on creating a work of art, a book, a musical compostion, or whatnot.

Unfortunately, in the hands of an evangelist or a developer, he or she will think computer software falls directly into this realm, but it does not.

The tenets of the book include to slop out something before overthinking or before rational thought (seriously) overtakes you. How often have we seen software written like that? Every day? Several times a day? When we sleep fitfully because developers are effectively quashing resistance (that is, anyone who would say that it’s not good enough. Like us.) Begin before you’re ready. Get to work, so to speak.

While that might work for a symphony where the trumpet player blowing a flat note because there’s a misprint on the score won’t bother anyone but the purists or where a typo in a novel is going to cause a little tittering amongst the grammatically aware crowd but won’t derail the narrative, probably. But computer software is not like these things. Computer software, at best, is more akin to nonfiction than a sonnet. Mistakes will impact users in more than superficial ways.

Sure, the book does nod that sometimes you have to evaluate what you’ve learned to correct what you’ve done, but the main impetus of the book is charging recklessly forward. Kind of like when they promise to get some bug fixes into the next sprint, but at the next sprint planning meeting, they are eager to slop new feature out before overthinking or before rational thought overtakes them so that they’re always getting to work and not fixing stuff that’s broken.

I think the book probably does capture the creative mindset and motivates it. Unfortunately, it doesn’t necessarily mean that something of quality will result. But if you read it, maybe it’ll get you started on some project you’ve put off, or maybe it will just give you some resistance to the first-to-market-users-will-forgive mindset that leads to something like Circle more often than it leads to something like Microsoft.

Don’t you read it and go all soft on me now, QA professionals.

And before you ask, yes, this was given to me by a developer.

Books mentioned in this review:

Is Zodiacal Sign A Protected Class?

January 4th, 2012 by The Director

Because I think I need some more Aries on my team.

You Know What Proved Popular This Christmas?

January 4th, 2012 by The Director

The project manager’s wall clock:

Not actual size

The QAHY Shop sold a pile of them last quarter.

If I were making any money on them, I’d have made some money.

Robertas in the Mist

January 3rd, 2012 by The Director

I’ve mentioned early and often that people used WebTV in 2005 and that I encouraged my employer at the time to account for that browser on its Web sites.

It’s 2011. Surely you can not consider a twentieth century technology now, right?

Well, here’s an indication that they’re still out there:

Robertas in the mist

And trying to use Facebook, a modern gee-whizzed up Web site.

Feeling all excited about the prophecied end of IE 6? Microsoft hasn’t completely killed WebTV / MSN TV yet.

Microsoft continues to support the subscription service for existing WebTV and MSN TV customers.

(An explanation of “Roberta” here.)

A Syntax Error? How Quaint.

January 2nd, 2012 by The Director

A CBS radio site throws up an error for my viewing pleasure. And check this out: It’s an old-timey syntax error:

My grandmother used to run into these with those old timey interpreted languages

What, not a missing resource? Not a null passed where a value is expected? This is particularly amateur work.

And it’s from a third party, again, fouling up the radio station’s Web site and doing who knows what. Brothers and sisters, I’ve had slightly more mature computers’ virtual memory swallowed up by these third party scripts running if I’ve left the Web site open overnight. Like it or not, this third party crap is a part of your Web site and its failures will reflect upon your company, not your ad server.

QA Music: What Do You Know About The Ways Of The Underside?

January 2nd, 2012 by The Director

Puscifier, "The Mission":

Just When You Think You’ve Tried All The Date/Time Test Cases

December 29th, 2011 by The Director

The real world intercedes with something that would never happen in the real world:

THERE is no today in Samoa.

The tiny nation will jump forward in time as it crossed westward over the international dateline to align itself with its main trading partners throughout the region.

At the stroke of midnight on December 29, the time in Samoa will leap forward to December 31 – New Year’s Eve. For Samoa’s 186,000 citizens, Friday, December 30, 2011, will simply cease to exist.

I wonder how many automated processes melted down. Or are still going to melt down.

Remember to test all of your future applications that allow you to select a birthdate and country or a start/end date and country that this particular rule should exist.

Oh, man oh man, I can’t wait to log my first defect and start my first fight over it.

(Courtesy Trisherino.)

An Oversight That Never Goes Out Of Style

December 28th, 2011 by The Director

Ah, the old “insecure images on a secure Web page error”:

It's like a classic songbook standard of Web site errors

That one is classic. And ongoing on oh so many sites that try to use their insecure templates on their secured Web pages.

Is Your Application-User Interaction Like Bad Customer Support?

December 27th, 2011 by The Director

Penny Arcade today has a long chain of emails that transpire when a customer is disappointed with an arcade controller’s long delivery time and the eventual tone of the distributor when responding to his concerned emails over the course of two months. A taste:

From: Dave
To: Ocean Marketing
Dec 26, 2011, at 9:47 AM

I noticed the updated info on the webpage, and I don’t understand why there is absolutely no benefit given to those like me who have already ordered, and paid their money. You’ve had my money interest free for nearly two months, yet now ANY new order will get $10 off….meaning I should just cancel my order for 2 controllers, get my money back, then re-order.

My other questions is regarding item compatibility. Ocean Marketing seems to be involved with the Xtendplay controller holder, so I was wondering if the Avenger N-Controller can be used in conjunction with the Xtendplay (for both Xbox and PS3)? Thanks

From: Ocean Marketing
To: Dave
Dec 26, 2011 10:14 AM

Yes it can be used with xtend play if you remove the stand and no one is allowed to cancel and re order if we catch anyone doing it we will simply just cancel your order all together and you can buy it retail somewhere else.

Things happen in manufacturing if your unhappy you have 7 days from the day your item ships for a refund. You placed a pre order just like any software title the gets a date moved due to the tweaks and bugs not being worked out and GameStop or any other place holds your cash and im sure you don’t complain to activision or epic games so put on your big boy hat and wait it out like everyone else. The benefit is a token of our appreaciation for everyone no one is special including you or any first time buyer . Feel free to cancel we need the units were back ordered 11,000 units so your 2 will be gone fast. Maybe I’ll put them on eBay for 150.00 myself. Have a good day Dan.

When JasonS. alerted me to this story, I immediately thought about how I see similar attitudes when dealing with software releases and excuses for not fixing defects.

I mean, you get the normal arrogance of developers combined with a risk-to-punishment reasoning that says, “If the bug just happens to one person, it’s cool. Or at least it’s not a problem worth worrying about.”

Unless, of course, it’s a vocal user who then speaks up about problems he or she has and that others probably encounter. Then the value of your application drops in all users’ eyes as the Internet clogs with stories of YourApplicationSucks.com.

Your application and its interface are customer service and support. Think about the worst phone tree you endured to make something right or the worst bunch of “dropped” calls and runarounds you got that didn’t make something right. Is that your application in your users’ eyes?

QA Music: Epoch

December 26th, 2011 by The Director

I’ve done Faith No More’s “Epic”, so here’s Narrow Heart’s “Epoch”:

Kid punk bands are so cute, thinking that the twenty-two years of their lifetimes comprise any sort of long-time noun.

Everybody Use Lower Case From Now On

December 22nd, 2011 by The Director

Story: Hold those caps: The average web page is now almost 1MB:

Mobile broadband caps might not be putting the hurt on most mobile subscribers yet, but data usage is going to keep creeping up. And that’s without people doing any more actual browsing.

The HTTP Archive charted the growth of the average web page and found that average web pages have grown from 726 KB a year ago to 965 KB now. The 33 percent jump is due in large part to more images and third-party scripts like ads and analytics. Javascript content, spurred on by the rise of HTML5, has grown over the last year by 44.7 percent, according to analysis by Royal Pingdom.

I remember when 1Mb hard drives cost $1000, you damn kids. Before you were born.

But it does clarify an interesting point: The time your Web page takes to load isn’t the only metric you should check when you’re performance testing your mobile applications or even your regular Web site if you expect mobile users will access it.

Although your leadership might say, That’s okay, we’re not designing for mobile users, if your bloated Web site is chewing up their allocated bandwidth, they’re going to find someone more streamlined.

(Link via Tweet retweeted by Fred Beringer.)

Internet to Crash on February 5, 2012

December 21st, 2011 by The Director

Frankly, I think this is what the Mayans were talking about: NFL playoffs, Super Bowl to be streamed online:

Football’s big game is coming to the small screen.

For the first time ever the Super Bowl, along with some postseason NFL games, will be streamed online and through the league’s mobile apps, the NFL and partner Verizon Wireless announced Tuesday.

Good luck with that.

So what’s going to happen to your sites and applications when third party Internet calls start timing out because the whole Internet is going to be running at half speed?

Things That Make Me Want to Hide in Bed and Pull My Bluetooth-Enabled Blanket Over My Head

December 21st, 2011 by The Director

IBM promises, in an ad:

A car fueled by software

There’s a lot of sugar in the gas tank if your car is fueled by software:

Car manufacturer Jaguar has had to recall nearly 18,000 of its X-Type cars after a serious software bug has been identified in the on-board system of the vehicle. The bug potentially stops a driver from turning off the cruise control system, which is more than a little dangerous.

Yeah, I know it’s an old story, but it took me a couple months after seeing the story to see again the advertisement it reminded me of.

Now, here’s this: Now Every Company Is A Software Company:

Ford sells computers-on-wheels. McKinsey hawks consulting-in-a-box. FedEx boasts a developer skunkworks. The era of separating traditional industries and technology industries is over—and those who fail to adapt right now will soon find themselves obsolete.

On one hand, hey, job opportunities if every company is a good software company and hires some QA people. On the other hand, the whole world is going to become even more buggy than it is now.

Management Lessons from Attila the Hun

December 20th, 2011 by The Director

If you’re looking to improve your management chops, emphasis on the chops, you can take some lessons from one of the legendary leaders of history: Attila the Hun.

I recently completed Attila: King of the Huns: The Man and the Myth, and that book offers these lessons from the reign of the warrior-king:

  • Build a team of diverse talents.

    As a ruler, Attila was an originator, in some respects a revolutionary. He clearly perceived that if the Huns were to become a great power, as he intended them to be, they must learn from other more advanced peoples. His own intimate circle of advisers, in consequence, consisted largely of foreigners.

    If you hire and promote only people who’ve worked in your business line or only in your particular methodology, you’re going to be bound to only insights and knowledge of those. If you hire from outside them, though, the foreigners might teach you something about what you’re doing that someone of your tribe would not innovate.
     

  • Let the farmers farm.

    When the Huns occupied a new territory large numbers of people fled before them, but the numbers of those who remained were larger still. Many of those who stayed were agriculturalists, and the Huns not only allowed them to continue to till the land, but encouraged them to do so.

    When you take on a new assignment or position, some turnover might occur as people leave to follow their mentors or because they feel that they, not you, should be the barbarian king of the tribe. Accept that. Those who stay have a lot of experience in the field. Don’t immediately overturn everything they do to conform to your new methods which might be informed and learned, but might not apply. Let those workers show you how they do things, and you can learn from them and, if appropriate, gradually increase the taxes introduce your improvements. Otherwise, more will fly, and you’ll lost a lot of knowledge with them.
     

  • Avoid the trappings of the title.

    ‘While sumptuous food, served on silver plates,’ he [Priscus] wrote, ‘had been prepared for the other barbarians and for us, for Attila there was nothing but meat on a wooden platter. He showed himself temperate in all other ways, too, for gold and silver goblets were offered to the men at the feast, but his mug was of wood.’

    In dress and general appearance also Attila was noticeably different from the others present. ‘His dress was plain, having care for nothing other than to be clean, nor was the sword by his side, nor the clasps of his barbarian boots, nor the bridle of his horse, like those of the Scythians, adorned with gold or gems or anything of high price.’

    If you’re too busy showing everyone you’re the leader, you’re not leading, you’re pillaging. Back when I was an actual Director of Quality and not merely a Director Emeritus, I had my cards say simply, “Quality Assurance.” Because my title wasn’t important, what I did was important. Plus, you get the respect of the blue collar grunts if you do like they do and live like they do. Or at least you get my respect.
     

  • Break something early.

    The wholesale destruction of a major town early in a campaign was a strategy adopted by Attila in both France and Germany. Metz recovered to become a city of importance. Aquileia did not. But the news of what happened in both places spread, as it was no doubt intended to, and the rulers of other cities duly took note.

    This is not to say you break the process or the methodology early, as I have advised against that above. However, every posting comes with some sort of deliverable, and the sooner after you take your position that you can create absolute havoc with it, the more the developers and other team members will listen to you when you explain how to avoid that in the future. Or maybe they’ll just fear you’ll do it to them, so they’ll be more careful. Either way, making that splash early can really ramp up your influence.
     

  • You don’t need a long contract or employment to make a lasting impression.
     

    Attila was sole King of the Huns for a mere eight years. In that short time the impact he made on his contemporaries was extraordinary. Much of this was due to his conquests. Eight years was a short period in which to hold both the Eastern and Western Empires to ransom with the threat of capturing and destroying both Constantinople and Rome, in addition to overrunning much of Germany and France.

    If you’re audacious and capable enough, you can make a lasting impression on an organization, its product, and its quality that will last long after you’re sacked for drinking kumis on the job on your third day. At the very least, they’ll remember the fermented mare’s milk.

QA Music: The Annual Wish List

December 19th, 2011 by The Director

Stan Freberg, “Nuttin’ for Christmas”:

And for today’s testing exercise: Is QA more like the poet-narrator of the song or more like the snitch?

The Game Within The Game

December 16th, 2011 by The Director

So I was playing Rampage World Tour on the PlayStation 2 because I am 15 years behind in my gaming.

I'll get a Wii in 2023.

After destroying 99% of the first city (what, I missed some part up to 1%?), I got an error:

There are other lockup errors to find?  SWEET!

What? There are other lockup errors one can find? I’ll have to try them to collect them all!

While I do that, join me in recasting the lyrics to this song to fit the occasion. Consider it your Friday software testing exercise: