Continuous Integration and Testing is a Must

From the pmStudent Blog
by
Ranting and raving about project management and systems engineering.

About this Blog

RSS

Recent Posts

The Problem with Project Management

The Problem with Project Management

The Problem with Project Management

LinkedIn Recommendations Are Easy

The Catch-22 of Project Management Certification and Experience


Categories: Integration and Test


Learning a lesson the hard way for the second time is a bitter pill to swallow.

It will suffice to say that my believe in continuous I&T has been strongly reinforced.  Partially due to my late arrival on one of my projects, and partially due to circumstances beyond the control of myself or my team, we were only able to do real integrated testing in the last few months.

We're still reeling from the consequences of not having started doing so much earlier.

Benefits of end-to-end testing, early and often:

  1. Find internal interface problems early - In a complex software system, unit testing is necessary but not sufficient.  Those internal components need to be speaking the same language to talk to each other properly, and even if you are coding to the same set of specifications there will be difference in interpretation.  That is why integrated testing is so important.
  2. Find external interface problems early - When your system interfaces with other systems built by other teams, this becomes even more important.  There are more changes for interpretations to be different when teams attend different discussions and assumptions get made.
  3. Team building - I can't stress this one enough.  If your team is made up of people working in silos on their own little components who rarely throw them together and see what breaks, you lose out on so much beneficial communication and collaboration amongst your team.

So, even if you are not doing an agile approach, it's still important to do a build of your system every few weeks or once a month and see what breaks.  After all, the purpose of testing is to try to break what you've built.  Your team may be uncomfortable with this, especially if they are used to being able to polish their own individual pieces before displaying them to the world.

In this case, it pays dividends to be uncomfortable.  Discipline yourself and your teams to be comfortable with little, continuous simulated failures, so that you don't have to deal with a large, catastrophic failure on your project.

Share this with your network
Posted on: January 28, 2011 08:16 AM | Permalink

Comments (0)

Please login or join to subscribe to this item


Please Login/Register to leave a comment.

ADVERTISEMENTS

"All progress is based upon a universal innate desire on the part of every organism to live beyond its income."

- Samuel Butler

ADVERTISEMENT

Sponsors