QA Process in Plan driven environments

Background
It had only been two days since I left Saflink … a small-sized software company, working within an enthusiastic, agile project group in Seattle Washington … to a large, bureaucratic, development team working on a government contract in Edmonton Alberta – and the differences were already starting to wear on me.

Before I continue, I feel the need to state my intended purpose for writing this blog. While I do admit a certain amount of spite and malcontent (and I’m sure this will become obvious), I do not intend to speak ill of plan-driven environments and their effectiveness – I’d be foolish to think that these methodologies are not needed in certain scenarios such as large, governmental, highly formalized projects. However, I do believe there are many lessons to be learned and practices to be adopted from the agile startup world that could benefit these top heavy projects. Having a background … and what I like to refer to as a startup mind … I am constantly seeking ways to infiltrate the seemingly impenetrable wall of process definition, best practices, and documentation with injections of agile practices. The intended purpose of this original blog is to define these two environments. Further blog contributions will discuss ways in which I (and hopefully others) have effectively instilled agile methodologies within a process-driven environment.

The agile culture
Instead of going to great lengths describing the previous agile, startup environment I worked in, I will attempt to summarize briefly. Our small project team was proud, passionate, and had ownership and belief in the product that we were building. We were small, adaptable and not bound by procedures and best practices. Each team member was not defined by their role (as a matter of fact, we avoided using words like project managers, developers, testers) however we were expected and trusted to do whatever work was necessary to succeed. This included seeking common or unnoticed tasks and completing them. Side effects of such a culture were long hours, hard work, innovation, new technologies, team lunches, playstation sessions, over the shoulder code reviews and troubleshooting, ad-hoc collaboration, outside the box thinking, and a lot of progress towards our end goal.

The plan-driven culture
In contrast, the environment which I have been immersed in recently is a plan-driven culture. People feel comfortable and empowered only when there are clear policies and procedures (and a document) defining their roles. Their work is done when their current task can be ticked off on a spreadsheet. As a matter of fact, you are discouraged from starting up a new task until given direct instructions (in the form of a new task in a gant chart). Developers (who insist on being referred to as “analysts”) are instructed (only by project managers) on exactly what to build and exactly how long they have to do it. I often reflect on a comment made by a project manager – “Our goal is to define the software to such a degree, that we can hand off the specification document and developers can simply *puke* out code”. While this would be about enough to cause any believer in agile practices to jump off the 10th floor, I have tried (unsuccessfully however) to believe that the nature of some projects (such as ours) require such definition and precision. After all, developers … er I mean analysts here … don’t seem to mind this mentality.

Boardrooms outnumber test labs 5 to … well … there are no test labs. This would disgust Vincent Maraia who wrote in “The Build Master” that the success of a software organization can be directly measured by the ratio of computer labs to board rooms.

Finally, the sense of ownership and pride is non-existent. On my first day, my question on how to acquire remote access to the domain was answered by a look of confusion. People simply don’t have an affiliation and a sense of ownership over what is being built.

Removing barriers and applying agile methodologies
Again, I am a strong believer in agile approaches and feel this is where I’m most effective. However, I believe there are some projects that call for more of a structured approach. The challenge is finding the balance between the two … I believe the lessons I have learned from the agile startup environment can be applied to this top heavy process. It is our challenge (as startup minds in slow-down cultures) to cut through the red tape, and fly under the radar in our attempts to speed up (while not undermining) the processes currently in place … and overall, maintain our sanity.

Quality Assurance in a software startup

Friday morning 7:10AM: I stare down the sprinting lane at the University indoor track. I am anxious, not about my final sprint in a series of 10, but of an analogy that has just entered my mind. I am one of 3 founders trying to startup our company collabomatic, produce an alpha, get users, and raise some capital. I’m at the track this morning training for the sport of ultimate Frisbee, an activity that I try to cram into a day filled with 9 hours of contract work, 1.5 hours of commuting, 5 hours of work towards our alpha product, and 5 hours of sleep.

I am troubled as I’ve just been reminded by my co-trainer that a sprinter gains maximal velocity after just a few strides and spends the rest of the race slowing down. I find this incredibly analogous to a startup company. A successful startup is the one that manages to slow down the least. My quandary in this analogy is my role as QA lead in past software projects, and the heavy regulations that my teams have often injected into the development process. While the two other founders and I have fully adopted the startup/agile approach avoiding titles like the plague, I can’t help but worry that my past experience and strengths in QA will prove to be more of a douse on our sprint than fuel.

From here my mind wanders back to childhood days training for hockey; a game that I was heavily involved in. Boy, did I feel fast skating around the arena on Sunday afternoons – free of constricting shin pads, vision limiting visors, and bulky hockey pants that had hindered me throughout a week of practices. Are shin pads, shoulder pads, and hockey sticks comparable to test plans, code reviews, and regression test passes?

At the beep of my Timex, I am off sprinting … thoughts of founding a company and my role within left temporarily behind. The relief is short lived however, and as my heart rate returns to normal, so do my previous thoughts. As I think through my predicament, some compromises start to arise. While one of the keys to a successful start up may be getting to the finish line fastest, there really is more to a sprint than maximal velocity.

– As everyone knows, the closest path between two points is a straight line. Aha!! … part of my role as a founder has been to ensure that we’re not spending energy delivering features the customer may not want.
– The speed of Paul Kariya would be in vain if it was applied in a sprint to the wrong finish line. Yet another win for my role … I have been providing the customer voice and looking to ensure that their needs are being met and that we’re moving towards that voice.
– Once you’re at the finish line, we ought to be somewhat prepared for what awaits us. What good is the puck in the slot without an Easton Synergy to blast it home! Win! The automated tests that I have been developing are hitting the mark ensuring the product works as designed – and these tests haven’t been slowing development down much at all.
– While speed is essential, a certain level of precautionary equipment like a helmet is necessary along the way. Surely an unprotected website holding credit card information needs SSL even though it may require the investment of a day or 2 of sweat equity.

Alas my role has some definition … I’ll insist on for the helmet, the hockey stick and provide the hollering and encouragement as I help fuel and steer our team towards that finish line …Go Go Go ……

Ah relief … I am convinced that I have a role again … I am providing value … and I have just finished my final 100 yard sprint of the day … and now I’m going home to start the real sprint. 0 comments