Agile has become the new priority for software development across a variety of organizations, but it comes with some critical adjustments for teams used to waterfall. When a new process is implemented, it has numerous considerations and reform attached to it. In this case, agile is impacting the very responsibilities that quality assurance and development professionals have known for so long. The question now is just how much will agile processes change your role within the team? Today, we aim to find out by looking at the new structure and overall duties of agile teams.
Transformation of traditional roles
While there have been many positions associated with software development, some traditional roles have been pared down while others have acquired new expectations. An agile quality assurance team typically has three specific roles: scrum master, product owner and development team.
These positions have many things in common with their traditional counterparts, but they also involve new responsibilities. The scrum master must guide the team through the development process, handle roadblocks and communicate with stakeholders. The product owner establishes priorities and acts as the final decision-maker. The development team is a cross-functional group that strives to complete the assigned tasks.
So what exactly happened to some of the other traditional roles we're used to like business analyst, designer and project manager? Industry expert Scott Ambler stated that the responsibilities of these positions have been assumed by other members under the new system. So project manager leadership activities have been acquired by the scrum master and technical skills are executed by team members through self organization. The point here is that although the name itself may no longer be included in agile testing team setups, the activities of many traditional roles are still occurring.
"For example, the details behind requirements are being explored but they're being done so in an agile manner by product owners and developers instead of in a traditional manner by business analysts," Ambler wrote. "This can be disconcerting at first, particularly if it goes against the training and education which you've received over the years and more importantly against the belief system that you've built up based on your traditional experiences. Moving to agile requires a paradigm shift, and part of that shift is the acceptance that the project roles have changed (for the better)."
Collaboration and planning imperative
The biggest shift in roles comes from the fact that everyone must collaborate on projects, especially QA and developers. This is a major difference from waterfall setups, which were largely segmented and didn't often involve much interaction between groups. However, these opportunities have now become imperative to the software development life cycle. For example, if a QA member spots a significant defect or an issue with the design of the app, they can easily relay this information to the developer in order to fix it. This communication drastically improves the overall quality of projects and ensures that everyone is always on the same page.
Another change involves just how much governance the development team has over their projects. Atlassian noted that this group drives the plan for each sprint and estimates how much work can be completed over the iteration's timeframe. Not only that, but team members will also be required to participate in daily meetings discussing the progress of current tasks and the ultimate demonstration of the product. Software quality assurance staff must have clear understanding of each story and how it functions to send a clear message to stakeholders. Without the appropriate collaboration and planning in these instances, QA would likely be unable to meet expectations or communicate effectively to the audience.