Skip to content

Anatomy of a Software Development Role: Quality Assurance

The Quality Assurance (QA) role is the role responsible for guaranteeing a level of quality for the end client, and to help the software development team to identify problems early in the process. It is not surprising that people in this role are often known as “testers”. Of course, the role is more than just testing. It’s about contributing to the quality of the final product. (If you’ve not been following the series, you should read Cracking the Code: Breaking Down the Software Development Roles.)

What’s the Quality Assurance role?

The quality assurance (QA) role is one that is focused on creating a quality deliverable. In other words, it is the responsibility of the QA role to make sure that the software development process doesn’t sacrifice quality in the name of completed objectives. Click here to see how the QA fits within the full organizational chart.

The QA role works with the Functional Analyst (FA) and the Solutions Architect (SA) to convert the requirements and design documents into a set of testing cases and scripts, which can be used to verify that the system meets the client needs. This collection of test cases and scripts are collectively referred to as a test plan. The test plan document itself is often simple providing an overview of each of the test cases. The testing cases and scripts are also used to validate that there are no unexplained errors in the system.

How to create a technology replacement strategy

When you are considering the cost of your organization’s technology, you must consider its life cycle and make allowances not only for the purchase price of the technology but also its support costs.

Life cycle

Every mechanical device has a life cycle. In the early days of the device, there is a period of “shaking out” when a relatively large number of problems will be discovered. This’s why many mechanical devices go through a burn-in period at the manufacturer in an attempt to work out the problems. This is generally followed by a long period of relatively low problems. Finally, a gradual climb in support costs ensues.

Think of it like buying a car. If you have ever bought a new car, or have known someone who has, often the new car has a few kinks. After the first month or so, the car settles down and generally has few problems. Once the car has become a few years old, it begins to develop problems. The problems may be gradual at first but eventually, if you keep the car long enough, you begin to feel that it is nothing but problems.

The technology that you use in your organization is the same way. Every piece of technical infrastructure you have will work well at first, or at least well after the burn-in period, and then slowly start to deteriorate.

This is one of the reasons that older computers need to be replaced — even if they’re still operating fast enough for their users. Eventually, they’ll break down and will need to be repaired or replaced.

http://www.techrepublic.com/article/how-to-create-a-technology-replacement-strategy/

No Service

[Note: I wrote this a year ago, mainly as therapy for the frustration. I thought it might be interesting for others to see.  Since the event of more than a year ago things have substantially improved and I like my service except for the occaisional quirk.  I’m just glad I don’t have to work through problems every day.  –rlb]

No Service: Painful Portability

The plane lands and turns onto the taxi way.  The flight attendants politely but firmly let you know that you should sit in your seat until the aircraft comes to a complete stop and the pilot turns off the fasten seatbelt sign.  Then she informs you that cellular phones can now be used.

You turn on your phone to the startup tone.  You look down at the signal bar.  No signal.  You try to check your voice mail and receive a message of no service.  You look out the window and confirm you are in a large city.  Looking back down again you realize that this is more than just some added delay in getting the phone to wake up.

The Saga Begins

A situation quite similar happened to me recently.  I landed in Seattle, WA which is just about as far from my home in Indianapolis, IN as you can get without leaving the continental United States.  Although concerned, I felt comfortable that this was just a minor glitch that could be easily resolved.  I made it to the hotel, missing the opportunity to call my wife and let her know that I landed safely before she went to bed.

I picked up the phone at the hotel to call Cingular, the wireless carrier I had switched to only three weeks before hand.  I was greeted with a prompt that told me that customer service was closed, but there was, luckily, an after hours support number.

After a brief interaction, and a technical support person who couldn’t locate the problem I was told to turn the phone off until the morning and things would probably work themselves out.

Broken from the Start

Three weeks prior when trying to activate the service I learned to be somewhat skeptical as I went through a week and a half of trying to get things working.  I ordered the phone from TeleSales and activated service for two lines.  One for my wife and the other to support my needs.  I decided to port my telephone number from Sprint PCS to Cingular in no small part so I could see how bad portability really was.  Sometimes writers have to do things that they know are wrong so they can remind others not to do it – or so I’ve been told by my similarly masochistic friends.

Things were broken from the start as my wife’s phone arrived on time two days after I ordered it but mine was nowhere to be found.  A phone call or two later I was told that the phone hadn’t shipped because they were waiting on the portability department to OK the phone’s shipment.  Over the course of the next few phone calls and countless hours wasted I realized that the process for shipping new service on a ported phone was completely insane since Telesales was waiting on portability.  Portability was waiting on me to have the device so they could activate it in the system.

When two more days passed and I still hadn’t seen the device I called back in only to find out that TeleSales couldn’t track the phone.  However, they were able to finally confirm that the phone shipped – a day after it was supposed to.  By the time the phone arrived it was nearly a full week later.  The device was ordered on a Saturday and arrived the Friday following.  When I called in to activate the phone they couldn’t get the system to take it.  They explained that something was wrong but they’d put in a ticket which might take two business days to get an answer to.

On a whim I called back on Monday and received an activation for the phone.  While on the phone I made a quick outbound call.  Success!  At least that’s what I thought until I went to call the phone back and setup my voicemail.  Neither one of them worked.

Another call back and a few more wasted hours got me no where.  Over the next two days I logged literally hours on the phone trying to get someone who would resolve the problem.  The first day I was told that the phone wasn’t “fully” in the system and that I’d have to wait until Tuesday.  Tuesday came without voice mail or inbound calls.

I finally found a supervisor willing to commit to resolving my issues.  A few hours later I had inbound calls.  A few more calls from me finally got my voice mailbox setup correctly since apparently the device wasn’t setup right before it was shipped and there were some other configuration issues with the phone.

For the time after these problems and before my journey to Seattle all was well.  I was enjoying the extended coverage area and service.

Disaster is in the Air

When the next morning of my Seattle trip came I still had no service.  When I called back in I was told that they couldn’t see the device and would have to put a roaming ticket in and that those took two to three days to resolve.  I was also told that it was most likely an equipment problem and that the phone should be looked at.

Over the next three days I wasted three or so hours trying to get them to identify a store that I could go into to get a resolution.  It seems that the multi-mode (GSM/TDMA) phones that I had weren’t popular in the area so none of the local stores sold them or could diagnose them.  The store which was less than a block from the convention center where I was going to be was useless because they didn’t have the ability to resolve the issue.

I was offered the ability to order a new device from TeleSales – which couldn’t send devices any faster than two day air and I already had experience with them not shipping the same day.  Ultimately this meant that I’d be on my way home before a replacement device could get to me.

The end result was four days in Seattle without the cellular coverage I was paying for.

What’s wrong with this picture?

Perhaps the most frustrating part of the whole situation was the fact that there weren’t any quick solutions to the problems I was sharing.  Everything was a two or three day wait.  Every solution was presented with the caveat that it probably wouldn’t fix my problem.

Each solution that I presented was met unceremoniously with a reason why it wouldn’t work.  They couldn’t reprogram the SIM card in my phone because I wasn’t in my home market.  They couldn’t get me a SIM card with a Seattle local number because I didn’t live in Seattle and Indiana and Seattle use different billing systems.

It’s just too bad I can’t live without my cell phone.

VCard Burster

So, at Crowe we run Lotus Notes.  (I hate Lotus Notes.)  Sorry, it’s an automatic response.

Anyway, I wanted to export my contacts to sync with my Exchange infrastructure here at the home office.  No problem.  Notes will export to vCards.  Ok, there is a problem.  Notes exports to one huge vCard file with multiple vCards.  Outlook only recognizes files with one vCard.  The net result is that you can only import the first record in the Notes vCard export.

So I wrote a utility which bursts a single vCard file into multiple vCard files so you can double click the ones you want and add them to outlook.  It’s really quick and fairly slick.

I’m working on getting a license created that I can use to distribute free stuff like this, but in the mean time send me an email if you need a copy of the utility (or the code).  I’ll send it to you if you email me.  The standard disclaimers apply… I wrote it for me, it may or may not work for you.

Anatomy of a Software Development Role: Developer

In a previous article, The Many faces of the Developer , I walked through some of the different types of developers that there are – different specializations that developers have worked on. In this article we’ll take a look at what the job is in general, how to get it, and what to do once you have it. (If you’ve not been following the series, you should read Cracking the Code: Breaking Down the Software Development Roles.)

What is the developer?

Ask any developer and they will tell you that the heart and soul of the development process is the developer role. Developers are often the huddled masses yearning to create software. They are the workhorses of the whole system creating the code that the other roles only influence. (The exceptions are the development lead and solutions architects who write small amounts of code from time-to-time.) Click here to see how the SA fits within the full organizational chart.

http://www.developer.com/java/other/article.php/3511566

DataViewWebParts are Cool…

I’ve always avoided front page like the plague.  In part due to the fact that I don’t want to unghost my pages but also in part because I just dislike the tool.  However, that’s changed…

The ability to create data view web parts and more importantly to convert list view web parts into dataview web parts (with a simple right click I might add) is very cool.  Add the list view web part to your page, right click in front page to convert to a dataviewweb part and you’re done.

Of course using front page will unghost the page you’re working with — however, you can always export the DWP file and use it other places.

Another useful tool…

Rob

SharePoint Advisor Live! Day 1

I’m out at SharePoint Advisor Live!.  It’s good to get to talk to the other speakers to learn about how they’re using SharePoint in their worlds and talking to the attendees to learn about their challenges.  A few of the highlights from the day…

  • Echo for SharePoint (www.winapptechnologies.com) – A winform based application to migrate lists and web part pages from one site to another.  Currently only works on the local server (meaning they’re using the SP API).  No command line yet — so it won’t fit into automated deployments.  It does, however, manage to get past some of the issues that the two migration utilities that I’m working on are still having.
  • ParallelSpace (www.parallelspace.com) – Content migration utilities and security assessment utilities for SharePoint.
  • Microsoft/Domino connection (www.msdomino.net) – Allows for Domino/Notes to be shown in SharePoint.  Not clear on how it all works yet, the demo wasn’t fully functional yesterday when I went by but it’s definitely interesting.

There were some interesting conversations about off-line clients and rich clients for SharePoint.  Mostly the idea that Access might be a front end to SharePoint.  Specifically the thought of adding relationships to SharePoint list data was discussed.

Not fit for print

OK, I give up.  I keep getting asked if I have a blog.  I get asked at work, at community events, and even in personal interations.  So I give up.  This represents the first entry in my new blog.

On a more positive note, as I’ve been thinking about what I would put on my blog, I’ve come up with some of the following ideas…

  • Stuff I want to remember and be able to search for (so I’m selfish)
  • Stuff that I can’t get a publisher to pay for
  • Personal updates that aren’t appropriate for articles

I’ll probably also post links to articles as they come up … at least as I think about it just in case you want to see all I’m writing.

Recent Posts

Public Speaking