The Right People, Processes, and Tools For Agile Transformation [Podcast]
Doing agile and being agile are two different mindsets. How do you balance agility, speed, efficiency, and reliability in such a fast-moving environment?
Join the DZone community and get the full member experience.Join For Free
In order to drive individuals in a fast-moving environment and inspire innovation and creativity, the enterprises need to achieve an optimal balance between speed, efficiency, and reliability.
Mark Bland, Senior Global Test Manager at Premier Farnell, and Nanda Padmaraju, Senior Vice President at Cigniti Technology, recently talked about the key processes, leadership skills, and tools & technology required to do Agile the right way. This blog is an excerpt from their discussion on the podcast.
Difference Between Doing Agile and Being Agile
Doing agile and being agile are two different mindsets. While if an enterprise is simply doing agile, it is following the steps, rules, and guidelines of Agile processes. But doing so is like dipping only your toe into the water.
On the other hand, being agile is about building an enterprise based on the culture and principles of Agile, and integrating them into every step of the way.
This leads to the complete Agile transformation.
To explain further, Mark put it as, "You can follow all the steps and run an agile process and stick to all the rules and guidelines set out for best practices. We're running agile and you can do all that while still underneath I'll believe it's just a fad or a strand and just pay the whole thing to lip service. So, you'll manage, you'll get well delivered, and you'll be doing agile."
"But then what you hope happens is that over time you will start to realize the benefit of delivering in this way and will start to buy into the principal and the culture of it. I think that’s when you stop being agile when everything that you do is approached in the agile, collaborative way.”
“So, any challenge you face, you don’t go back to the drawing board and go back to old methods of dealing with these problems. You come together with a new solution, not problem.”
Leadership Characteristics Required in an Agile Transformation
There are four key leadership characteristics that are needed to drive a successful agile transformation in an organization:
- Openness to change
- Humility and approach of collaboration
- Leadership that does not micromanage
- Trust - fostering that within your team, and instilling trust in your leadership as well
Mark elaborates on these four characteristics as,
"You’ve got to be open-minded and willing to embrace change. It will give you an opportunity to work together as a team and really deliver something with a common goal rather than traditional methods, which would have been some way that teams working against each other at times.”
“You’ve got to have the ability to listen to other people’s opinions and be willing to have your opinion challenged. You've got a collaborative mindset. You've got to be one willing to work with other people and contribute to work as a team. Learn to step back and allow your team to self-organize. Not only make but learn from their own mistakes without jumping in and micromanaging them. It takes a lot of courage and trust.”
“I think as a manager, I need to trust my team and I need to have the courage to stand back and let them deliver using the skills that I hired them for. But also, pass that message back up to my management and go the other way with that and coach my management to trust that we will deliver what’s been asked of us.”
Building Customer-Facing Digital Experiences With Transformation
Customers today expect a frictionless, smooth digital experience. For building these customer-facing digital experiences, enterprises should not only embrace Agile but the right testing practices as well.
Mark recommends a few changes to orchestrate a seamless digital experience for the customers, based on what he is implementing in his organization:
“Implementing testing practices as a whole that enable a faster delivery and the test code in a really short timescale is the key. Contributing more to the team, getting more involved with the solution and the sculpting side of the applications, the new things that we were delivering and making sure we are catching any failure at all and risks, but also making sure that we can offer feedback at that point about the experiences we’ve had with customers and the negativity we’ve seen with things that haven’t worked in the past.”
“One of the things that moved us forward a lot in terms of providing a better solution for our customers was introducing the likes of security test into our basic automation tests, smoke tests, and principles. So we are covering another risk that customers’ base is very aware of in terms of their security and financial data security, but also looking at how you can then expand on that and look at introducing early testing for accessibility in those kinds of usability challenges that you’ve started to come to the forefront in terms of creative design and application design.”
“We tried to focus on expanding our automation coverage to cover more variations, of user scenario, a more compatibility type way – different browsers, different types of setup within the actual application, including mobile variation and tablet variations – to deliver a much more rounded quality experience to you customer.”
Role of Test Automation in Agile Transformation
Test automation helps organizations achieve effectiveness, efficiency, and coverage of software testing. And, with shorter sprints in Agile, test automation becomes the sole guard of the quality aspects in any release.
Talking about the benefits of test automation, in addition to shorter time-to-market, Mark said, "Automation, if you implement it correctly, it doesn’t just add another layer of testing. What, in theory, it should do is move obstacles out of your current test team’s way to enable them to do much more complex and interesting testing. You get your teams more engaged because they’re doing the more interesting testing themselves manually. But then you give yourself this capability to expand the breadth of your automation coverage, and your test coverage to cover multiple web browsers, cover multiple combinations of compatibility issues to cover security, to cover a lots more functionality.”
Mark recalled his own testing challenges in his organization as –
“For ourselves, one of the big challenges we had was that we actually have 48 websites. Across those 48 websites, we cover 28 languages. So, there’s a lot of variation in that as manual tests. If you were to test all of that and make sure it was right in all those scenarios, you’ll be there for weeks. The automation gives us the ability to write a single set of tests that we can roll out with just environment variables to cover those variations.”
“It gives you that capability to test wider, reduce regression times, and expand the amount of tests you are doing, all in a much smaller timeframe, which is invaluable because, as we all know, time–to–market is the biggest demand now.”
“I’m a firm believer that there’s a shift in our market from quality assurance to delivery assurance where people are more concerned about getting things fast and about getting things right. So, we’ve really got to cater to our customers with that and be able to deliver at that pace while keeping that risk low.”
Importance of Having an Enterprise Test Strategy
Having an enterprise test strategy helps realize the benefits of scalability, reusability, and maintainability, which can drive a lot of efficiency gains t translate ing into multi-million dollar savings per year for large enterprises.
Nanda lists a few factors that make an enterprise test strategy a must-have and says, “Having a signed off enterprise test strategy is fundamental to ensuring quality in everything that goes into production. The test strategy will act as a Bible and not just for the testing function, but also for the upstream Dev and downstream Ops.”
- It will guide the business analysts to document not only the functional requirements but also the non-functional requirements upfront.
- It will analyze how we can drive the ambiguity out of the requirements early on using the shift-left practices.
- It will clearly state the quality gate criteria.
- It will encourage the adoption of agile and DevOps as their enterprise test strategy needs to be aligned with the overall objective of IT and that of the business.
Identifying the Right Test Automation Tools
While building a test framework, you should think of it to act as an augmented resource for your activities. A lot of the time, people want automation but they don’t want to spend a lot of money on tool for automation upfront. They want to know that it can work.
To anybody out there who’s looking to implement automation, Mark strongly recommends that you pull up proof of concept together first and prove its worth before trying to get buy-in for funding.
While identifying the right tools, Mark says, “you learn from trying to overcomplicate an automation framework and you learn what was actually important to the framework and gradually get to this point through those exercises where you understand what the key things are that you need to put in place and the tool becomes agnostic.”
“At this point, once you understand what is it that you’re trying to achieve with the automation tool, it really doesn’t matter which tool you use.”
To Sum Up
While automating, people often end up trying to automate too much too soon. If you just automate every test that you do, what you actually create is a massive maintenance task, not helpful automation framework.
In such cases, partnering with a pure-play testing company can help you navigate through smoothly as they bring the wisdom, they bring experience with multiple applications, and they bring the solutions to all the challenges that you will face if you try and develop your own frameworks.
Published at DZone with permission of Hiren Tanna, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
From On-Prem to SaaS
Top 10 Engineering KPIs Technical Leaders Should Know
Exploratory Testing Tutorial: A Comprehensive Guide With Examples and Best Practices