Overwhelmingly they said that getting their teams organized was what they had the most difficulty with.
Traditionally, you see organizations struggle with the amount of time a product is “stuck” in testing as being their number one issue, but this survey revealed that there are a good number of companies out there who still see their organizations as immature, lacking structure, and can’t figure out how to come together to release their product. That’s amazing to me.
In my 30 years of experience in software and product delivery, both for large and small companies, what has worked for my teams has been when you have a good mix of skills on a continuous-development or Agile scrum team. That means that the developers, analysts, testers, and test architects have regular access to one another – these folks make up the scrum team and have daily stand-up meetings to share their challenges and help one another reach the common goal of “done is done” for a given sprint. Everyone has a role in this type of organization.
It starts with the Business Analysts. BA’s are the folks who know the product from a user’s perspective. They’ve been in the trenches with the customers and have created the requirements and generally take overall ownership for the product functionality that is being delivered. Their contribution to the team is very clear – if the team doesn’t build what they want them to build, and deliver it with a high amount of quality, they didn’t do their job. Given that, it’s a mystery to me why they would want – or absolutely need – to be involved on a day-to-day basis. Sadly, that’s not the way most companies operate. The BA’s silo themselves, handing down requirements and hope to heck that’s what comes out the other end.
Next are the developers, whose role is seemingly straight-forward. They are the ones who create the product to be released. But they should first be demoing their prototypes to the team to make sure that this is the right feature set and look-and-feel.
The testers should be segmented into different areas. Test automation is clearly critical, but there also needs to be structure around how tests are developed, using the same types of coding standards used in development, and a test environment needs to be setup and maintained. That job is for the test architects. Since not all tests can be automated, there also need to be some test leads who can make this determination and direct the test automation engineers on what to automate. They themselves can run the tests that can’t be automated.
Everyone on the team must be familiar with the release objectives in a continuous or agile release delivery model and everyone must be working together to make that happen. Silos and hierarchies are a thing of the past. So get organized!