January 8, 2018

The Tester in Beautiful Delivery

BY :     January 8, 2018

Based on my work on Beautiful Delivery with autonomous cross-functional teams (for more details, see Use Beautiful Delivery to Speed Up Your Digital Transformation), I have set out to define the different roles in a bit more detail. This time I will focus on what I call the Tester.

The main responsibility of the Tester is to make sure that the end result has high quality. This means proactively work with everyone in the team to make sure that all work happens with quality. This is in contrast to the traditional role of the Tester, which was to find bugs. Now, the Tester should instead prevent them from happening in the first place. Therefore, the Tester works together with the other roles in finding ways to ensure high quality.

Tester

Like creating user stories together with the product owner and tasks together with the agile coach that are easier to implement and validate. It could be creating higher quality service interfaces and definitions of master data as well as defining a secure infrastructure and implementation together with the architect. It could also be improving the development practices together with the DevOper to ensure code with fewer possibilities for bugs, like a simple structure, clear naming, etc. It could even be working together with the designer to make sure that the user experience and the user interface is designed to minimize risks for problems.

Just like all the other roles in an autonomous team, the Tester has to be hands-on, so another task is to implement the automatic tests for the user interface, and integrate those tests into the continuous delivery pipeline. To achieve high quality, there is simply no way to do it manually, but instead as much as possible of the testing has to be automated. This is critical for the key user scenarios, like searching for products, create an order, and make a purchase. So there has to be automated regression tests for these scenarios, but the ambition is to automate as much as possible. This means that the Tester needs to know programming, which is also in contrast to the traditional role of the Tester. Common tools are test automation frameworks, like Selenium and Appium.

Despite test automation, it’s usually impossible to reach 100% coverage of all (edge) cases, and therefore the Tester also spend some time on manual, usually exploratory, testing. But even that is not sufficient, so the Tester makes sure that any issues found by real users are also captured, fixed, and learned from. The real users can be anyone using the app, from early adopters such as beta testers to all the normal users. Typical tools used for this is ways to capture crash logs and other analytics, as well as allowing users to enter feedback directly.

Finally, this new proactive role of the Tester, will make it a more attractive job, and someone that the other members of the team will appreciate more. It’s never fun to work with someone that only finds problems.

Christian Forsberg

About

Chris Forsberg is Sogeti's Global Chief Architect, and his current passion is serverless architectures with microservices, cognitive solutions like chatbots, automation, and beautiful delivery. He has a long background as an architect of digital solutions for many clients on all the major platforms, and love to experiment with new technology. For example, he has put together a YouTube video series on how to get started with the Internet of Things, and has been involved in the implementation of more than 100 apps on iOS and Android. With a global network of 600 architects, he is devoted to creating intellectual property, and one example is Digitecture, a reference architecture for digital platforms. Other examples are Appitecture®, a start package for app projects, and Appcademy®, a certification program for app developers. Chris has received several technology leadership awards including Top 100 Developers (Sweden), and ten years awarded Most Valuable Professional (MVP) by Microsoft. He was an official writer for Microsoft Developer Network (MSDN) for many years and has also co-authored a book on mobile development in 2001.

More on Christian Forsberg.

Related Posts

Your email address will not be published. Required fields are marked *

9 + 3 =


  1. Jonas Arvidsson · February 9, 2018 Reply

    Good post that clarifies the need for a well-suited test competence. In my opinion though; what you decribe is not necessarily a new type of skill/role for a tester. I have 20+ years of testing and being proactive has always been part of the goal for a tester and/or test team. Or should have been at least. This for example includes participating in reviews of requirements/use cases/interfaces, support developer’s unit testing etc. However I agree on your point regarding the different skills for a good tester, and the difference now is that the development process has evolved, and with that the teams tend to be smaller and more autonomous.
    What you describe is/was usually the role of a QA person, such as a Test manager, who manages a team of testers with different skills e.g. automation, usability testing, performance testing etc. With the teams of today, the different testing skills often needs to be handled by the same person.
    My point is that the role of a (competent and dedicated) Tester has never been -or at least should not have been- just “to find bugs”, but to ensure the quality of the end result. But I agree in the transformation of the test approach in today’s projects.
    //Jonas

*Opinions expressed on this blog reflect the writer’s views and not the position of the Sogeti Group