Summary of Test Focus Roundtable Discussion on Agile Approaches @ London
Digital is the new reality of life. Digital transformation has necessitated the rise of new methodologies and practices to deliver faster, better and scalable products. Agile Methodology is at the epicenter of the new technology philosophies and tactics.
Recently, Qmetry Team with Test Magazine hosted a roundtable discussion on the Agile & Shift Left approaches at the Test Focus event. Agile is a very hot topic was evident from the sheer number of attendees and the vocal debates at the session. We had three power packed roundtable sessions with expert practitioners, scrum masters, new agile converts and fence sitters. They represented large enterprises, mid-size companies and startups. Experts from testing organizations also joined the deliberations. All of this contributed to very insightful and interesting interactions.
Agile, like love, it is a used, over-used and abused term. To me, agile is essentially a mindset. A mindset of breaking up tasks into smaller pieces of work, quick and frequent feedback and adapting to changes. From this perspective, agile way of doing things is as old as the mountains. In fact, the agile principles have been seen in extreme programming and other practices.
Agile is not just scrums and sprints. These represent only the tools and methods. Apart from the mindset, core agile practices include the adoption of following concepts from a testing perspective:
1. Unit Testing
2. Distributed Teams
3. Refactoring
4. Continuous Integration, Continuous Delivery & DevOps
5. Automated Acceptance Testing
6. Test Driven Development
7. Behavior Driven Development
8. Pair Programming
Organizations should implement the agile methodologies that work of them rather than blindly following the manifesto. They can have Agile, Wagile etc.. At the end of the day, going agile is a decision linked to the organizational need and business case. It is not necessary to adopt all of the above ideas if it does not work for the team.
One interesting point that emerged in the discussion was about automation. The importance of automation is increasing in the agile world. In-sprint automation is a key goal for most of the practitioners and scrum QA teams can work on the same. Some have a separate automation team if their project demands the same. It all boils down to the sprint planning. Many teams are already at Sprint minus 1 automation. Automation of acceptance test is a key success for many organizations.
How to go agile? The fundamental point is to identify the reason to go agile. What is the business case? What is the technology case? Be clear about the expectations and goals. The next stage is to identify agile champions and enthusiastic team members and get a strong cross-functional team of product owners, business users, developers and QA team members. The team with the right attitude is going to make or break the agile projects. It is always important to identify failure or success as a common event rather than finger-pointing at others. The role of the product owner cannot be over-emphasized in setting the right environment and empowerment. The reporting structure of the team needs to be understood and appreciated.
Agile means different things to different people. Hence the most important task is to get the team or organization’s definition of agile right. Let there be a common definition and it should be consistent across the organization. Definition of ‘done’ is so important in determining the success and failure. Developers want to ship products quickly and QA wants to ensure the right assurance – but both should agree on the definition of done.
The final step is to have the selection of right tools. Agile has distributed teams and proper test management tool is required for creating a common view. Agile is about transparency, flexibility, collaboration and joint success. A good test management tool will provide the required transparency and provide a single honest view to all the stakeholders. Rich reports and metrics will help for continuous improvement. One of the important aspects is using the information from the past runs and improve – that is where analytics and actionable intelligence comes into the picture.
So, what did I learn? What do we believe as the key success factors for agile implementation?
1. Clarity of goals
2. Transparency
3. Collaboration
4. Right Tools, Processes & Metrics
5. Flexibility
Image Credit: Lillehammer 2016 Youth Olympic Games