The following article is an excerpt from "Agile Testing" by Lisa Crispin and Janet Gregory.
When software development organizations implement agile development, the testing or QA team often takes the longest to make the transition. Independent QA teams have become entrenched in many organizations. When they start to adapt to a new agile organization, they encounter cultural differences that are difficult for them to accept. In Part II, we talk about introducing change and some of the barriers you might encounter when transitioning to agile. Training is a big part of what organizations making the transition need, and it's often forgotten. It's also hard to see how existing processes such as audits and process improvement frameworks will work in the agile environment. Going from an independent QA team to an integrated agile team is a huge change.
Chapter 4, "Team Logistics," talks about the team structure, such as where a tester actually fits into the team, and the never-ending question about tester-developer ratio. We'll also talk about hiring testers and what to look for in a successful agile tester.
Traditional testing activities, such as logging bugs, keeping track of metrics, and writing test plans, might not seem like a good fit in an agile project. We introduce some of the typical processes that might need special care and attention and discuss how to adapt existing quality processes.
You can expect to find ways that testers and test teams accustomed to a traditional waterfall type of development environment can change their organizational structure and culture to benefit from and add value to agile development.
Many organizational influences can impact a project, whether it uses an agile or a traditional phased or gated approach. Organizational and team culture can block a smooth transition to an agile approach. In this chapter, we discuss factors that can directly affect a tester's role on an agile team.
An organizational culture is defined by its values, norms, and assumptions. An organization's culture governs how people communicate, interrelate, and make decisions, and it is easily seen by observing employee behavior.
The culture of an organization can impact the success of an agile team. Agile teams are best suited for organizations that allow independent thinking. For example, if a company has a hierarchical structure and encourages a directive management style for all its projects, agile teams will probably struggle. Past experiences of the organization will also affect the success of a new agile team. If a company tried agile and had poor results, people will be suspicious of trying it again, citing examples of why it didn't work. They might even actively campaign against it.
Organizational culture is too frequently not considered when attempts are made to implement an agile process, leaving people wondering why it didn't work as promised. It's hard to change established processes, especially if individuals feel they have a stake in the status quo. Each functional group develops a subculture and processes that meet their needs. They're comfortable with the way they work. Fear is a powerful emotion, and if it is not addressed, it can jeopardize the transition to agile. If team members feel that a new agile process threatens their jobs, they'll resist the change.
We'll talk specifically about how organizational culture affects testers working in an agile environment. The bibliography contains resources that deal with other cultural aspects that may affect teams.
Consider an organization's quality philosophy in terms of how it determines the acceptable level of software quality. Does it tolerate poor quality? Does it take customers' quality requirements into account, or is it just concerned with getting the product into the customers' hands as fast as it can?
When an organization lacks an overall quality philosophy and pressures teams to get the product out without regard to quality, testers feel the pinch. A team that tries to use agile development in such an environment faces an uphill battle.
Some organizations have strong, independent test teams that wield a lot of power. These teams, and their managers, might perceive that agile development will take that power away. They might fear that agile runs contrary to their quality philosophy. Evaluate your organization's quality philosophy and the philosophy of the teams that enforce it.