Notes from the 15th Annual Next Generation Testing Conference
I had the good fortune to host a round table session at this year’s Next Generation Testing Conference. There were several concurrent round tables on:
- Implementing Agile Mobile Test Strategy (hosted by Mark Roberts and Colin Deady);
- Security Testing (hosted by Declan O’Riordan);
- Test Automation (hosted by Dot Graham);
- Agile Testing (hosted by me, Stevan Zivanovic)
Since attendees could only participate in one session, we thought it would be beneficial to take notes on our session and then share them with a wider audience. So without further ado, here is a recap of the Agile Testing round table session.
Enterprise Agile: How do you manage a project that has multiple Agile delivery teams?
The specific issue raised was how to manage a project that had to be delivered using multiple teams.
The single largest aspect is around communication. This is not just within teams but also, critically, between teams. Having a clear set of objectives that all of the teams can buy into can help. Remember, the Agile manifesto calls for “Individuals and interactions over processes and tools”.
Backlog management becomes critical. Visualise the backlog at a high level so that there’s visibility into other teams work / backlog. This could involve having a high-level task board that all teams can see.
Scrum-of-scrums: key people from each team meet regularly to discuss and understand progress and particularly what may be blocking people. Keep these short (follow the daily stand-up format). Keep them regular but not daily. It can be useful to rotate who attends.
Look at how epics and features are split into stories. The approach to building user stories from these can impact the ability for teams to deliver.
There are a number of things that you can do with backlog refinement:
- Keep the team involved (but necessarily all of the team).
- Try to fit it in about two thirds of the way through the Sprint.
- When looking at the priority and order, consider what other teams may need from you so that they are not blocked. Also consider what you need from other teams. If as another team is not going to work on a story that you need, you need to talk to the teams and work out the best plan. In other words, backlog management is bigger than the just what the agile team needs.
- If something is holding you back, you need to raise the issue right way; do not leave it to a manager…see the manager as a ‘Servant Leader’: serving the team, not commanding them. Theerfore, developers and testers need to be proactive within a team. They should be looking to support others in the team to get the work done. The key aspect is that everybody in the team has a responsibility to achieve the sprint goals. If all else fails and the individual in the team has insufficient work, then ask at the Standup or approach the Scrum Master.
There are a number of models that provide approaches to managing testing in a Enterprise. One model is SAFe: Scaled Agile framework. However, as with any model, “All models are wrong but some are useful” (G Box).
Test Automation in Agile: How do you get valuable tests automated during a sprint?
The specific issue raised was on how to get valuable tests automated during a sprint.
The key feedback within the group was that tests should be automated within a sprint. Carrying over test automation builds technical dept.
Some of the methods of enabling this are:
- Get developers to help with testing and hence allowing time to automate
- Use the right test automation framework to allow for the rapid building of tests
- Ensure that the effort required to automate tests is considered as part of the backlog refinement and sprint planning.
Test Estimation: How do developers and testers effectively estimate one another’s stories?
The specific issue raised was how do you estimate stories and story points with testing.
Tips on estimating:
- Planning meeting: each person presents their estimates. If there’s discrepancy, there’s a discussion and the estimate is decided as group. As a Tester, do not be phased by others who appear to know better to direct your estimate.
- Developers and Testers aren’t always able to assess how long a task will take for the other’s work. Each person will work at their own rate, with their specific strengths and weaknesses. These will be different to others in the team.
- Estimation should ideally be on relative size, i.e. use story points, rather than trying to estimate exact durations.
- Velocity and burndown will not always matchup; not to be a guarantee. It depends on unexpected variables. e.g. someone gets sick and misses time, external dependency (e.g. waiting for the user to provide information)
- Retrospectives at end of sprint. They are as critical when a sprint goes well as when it does not. Understanding the constraints that made the Sprint run as planned is useful.
- Enhancing estimation tips. Consider: Dependencies, underlying complexities, test constraints such as data, environments and automation.
- Unit testing is not enough, even at 100% unit test coverage. While unit testing covers that specific piece of code, it doesn’t account for integration or user experience
- Never miss a test phase, as you will need to do unit, integration, system, system integration, non-functional and acceptance testing. Planning these into Agile teams needs careful consideration.
Test Management: What’s the role of the Test Manager in Agile?
While this topic was not discussed during the session, one of the participants was interested it so I wanted to share some thoughts on it.
There is no specific role as a Test Manager in Agile teams. However, Test Managers have two main options within Agile organisations, through a change in their role:
Become a Scrum Master.
The skills that good Test Managers develop can be utilised to becoming effective leads. The tester’s general high level of knowledge of the product, technical set up and experience of managing stakeholders is vital and can be of great use. The key is to review the leadership style. The “command and control” approaches do not lead to effective leadership with Agile team. Rather, servant leader skills should be enhanced.
Head up a Community of Practice
Communities of practice are cross-team groups, specialising in specific areas of interest. The role is to pull together people interested or involved in the specific area (such as testing), advocate new approaches, facilitate the use of test tools and advise new projects and programmes on how to approach testing.
Other options are available and some Test Managers have successfully move into being Product Owner or Practice Lead. The key is that some of the traditional roles may have disappeared in concept, but much of the work continues to be needed. Find out what your organisation is doing, adapt and find the right niche for yourself.
We asked the question, “Is there such a thing as Agile Testing?” but did not have time to discuss this. Keep an eye out for an Infuse blog post on this soon.
1) Agile Manifesto: www.agilemanifesto.org/
2) Mentioned at the session was Mike Cohn and his blogs: www.mountaingoatsoftware.com/blog
3) For communities of practice, have a look at the definition for the Scaled Agile Framework:www.scaledagileframework.com/communities-of-practice/
4) To contact Stevan, please connect through LinkedIn or via Infuse Consulting.