Digital Transformation (DT or DX) and IT Modernization projects have come to the forefront of organizations’ focus as a remedy to the current business environment resulting from the COVID-19 pandemic. As some organizations are having to “do more with less” as a result of a slashed budget, others are pressing the gas pedal and adding funding under the guise of “Innovate or Die!” The problem here, though, is that by moving quickly, issues can arise during these projects, and many organizations are either unaware of them, or try and mediate them in risky ways. As organizations begin or accelerate their Digital Transformation or IT Modernization projects, one thing is for certain: QA or Test Teams need to be at the center of these projects, and their expertise needs to be utilized to the fullest extent.
What is a Digital Transformation and IT Modernization?
Digital Transformation and IT Modernization are broad terms for big projects.
A Digital Transformation (DT or DX) is the adoption of digital technology to transform services or businesses, through replacing non-digital or manual processes with digital processes, or replacing older digital technology with newer digital technology. Digital solutions may enable––in addition to efficiency via Automation––new types of innovation and creativity, rather than simply enhancing and supporting traditional methods. IT Modernization focuses on bringing your IT infrastructure up-to-date and addressing operational challenges, including efficiency, mobility, security, and agility.
Often, these types of projects or paradigm shifts can easily overwhelm a company; this is for a variety of reasons, including:
- Software development practices have changed significantly.
- Continuous Delivery (CD) toolchains have grown rapidly to automate and orchestrate the build promotion and deployment, relieving Developers of some headaches and getting faster, increased integration with IT and Operations Teams (DevOps).
- Staffing changes due to COVID and price pressure have caused many companies to redistribute Software Testing tasks across teams and look for alternative, ramp up/ramp down staffing models.
- Adoption and modernization of new technologies, incorporation of new hardware and devices (WiFi/IoT), integration of new technologies into the digital customer experience, like chatbots, mobile access to more data and more systems, integration with Alexa and Siri, collaboration with other systems. as well as integration with CRM systems, or customer support for sales or marketing.
- Legacy systems are often difficult to integrate and will continue to be supported through the upgrade/modernization projects.
You may be asking: If there is the possibility for so much to go wrong, why are these projects happening en masse right now? There are many reasons, but the notion of both Digital Transformations and IT Modernizations were transformed from thought-through, long-term projects to becoming the “We need it now!” fast-tracked, top-priority project in many companies due to COVID-19 disrupting everything, everywhere. But, when we delve deeper, we can see that these projects most likely would have occurred soon anyhow, with reasons including:
- Business models and processes have changed
- Demand for full mobility
- Customers or end users’ demand taken more into account
- “Innovate or Die”
- Take advantage of new technology
The difficult development situation we have is a new, rapidly changing need that is not well understood and requires evolving use cases, new technologies, and speed. This is a strong suit of Test Teams. Test Teams very often work in situations like these. Leverage well-trained and skilled QA staff. Doing “the Tester thing” is crucial to success.
Testing’s Inherent Value: What Do You Use Testers For?
Testing is discovering. Testing is exploring. It’s looking for gaps and alternative workflows. Testing is NOT ONLY user story acceptance criteria validation, and your UI-driven Automation. Yet, in many organizations, I see the Test Team’s primary use as this. Developers now do acceptance criteria checking, and UI Test Automation is reduced by a more mature Automation strategy’s reliance on unit and API Automation. If your Test Team only does AC validation and UI Automation, you need to rethink your plan––you’re underutilizing your Test Team!
In my consulting work, I see many companies every year and one of the most common––if not the most common––sources of issues I hear is, “We did not even know the users did that! That was a gap in the Product Owner’s (PO) thinking.” Perhaps the cause is not understanding the customer or the power of what is developed. Or perhaps, simply, the problem is not having time for great, fully-thought-through user stories. Whatever the problem is though, remember that part of your Test Team’s job when running tests, experimenting, and spending time in the application is coming up with alternative use cases and paths, which may not be the “happy path” or the intended path, but are still possible with the functionality of the system.
In regards to user stories, think about where you would land on this scale:
- We have great user stories that are fully thought through. We have regular, easy, transparent collaboration with the PO.
- Developers and Testers have a good understanding of the users and their needs. They work closely on how the system is built.
- The user stories are sometimes vague and/or have gaps. With new, technical functions, the PO leaves it to the Tech Team to finish the acceptance criteria.
- The user story normally lacks details. There are gaps in thinking about how the function works, little to no information on error conditions and handling, and not many alternative use cases.
- Our user stories are one vague sentence for us to figure out.
If your team is closer to #1 or #2 on the scale––good for you! Your team will probably go faster and release a better product. If your team is closer to #3, #4, or especially #5, your Test Team will have to do more R&D on unexpected side-effects, looking for gaps, and discovering how the function works––particularly with new technologies and systems that are the focus of Digital Transformations. It’s too big of a risk to deliver systems without investing in the Test Team’s efforts spending time in the system and learning it.
The Marketing Team, Product Owners, or Business Analyst might do a good job at specifying some happy path or main workflows. But, in my experience, many teams don’t have a great grasp of how their users use the product nor do they truly understand the customers. Making matters worse are incomplete user stories without a lot of understanding of how a new feature is expected to be used.
What is often lacking is alternative uses, alternative workflows, and, specifically, workflows from various personas who have different needs and goals. Alternative roles or personas with alternative paths are often not defined. Additionally, what can be particularly troublesome is not thinking through error conditions: Where do our users need more help? Where in the new system may our users become more frustrated? What about error conditions that push the system into more unstable states?
It’s understandable that these issues happen––particularly with new technologies, new business models, and demanding customers; however, all of these problems that I’ve identified are the strong suit of Test Engineers. A Test Team’s core skills are a combination of knowledge of the user, knowledge of the technology, and knowledge of Quality and Testing practices. It’s the knowledge of how to test that is particularly useful here.
Even with a good Product Development Team culture in place, it is important to have modern development practices already in place, such as:
- Have a great Test Automation strategy
- Developers validating acceptance criteria (AC) in unit tests
- CI/CD, with your build delivery and promotion process defined and automated
- Test-driven development (TDD)
- Agile / SAFe (Scaled Agile Framework), SCRUM@Scale, or DevOps––whatever your SDLC, it supports the team with time to innovate, learn, experiment, and, most of all, test.
Development Team Culture
The COVID pandemic has exacerbated team issues and disrupted software development practices. Even in the best performing teams, open communication and collaboration have been impacted. On teams with motivation, focus, productivity, or distributed team issues, COVID has left profound changes to the workforce and workplace.
Overcoming these obstacles, along with any staffing, budgeting, or a number of pandemic fatigue issues, has led some organizations to alternative or reduced project staffing. There are a variety approaches an organization can take when looking to bolster their in-house testing capabilities, from long-term in-house arrangements to quick ramp-ups and ramp-downs of offshore test teams.
Since COVID, teams have changed. DIfferent companies and teams have had success, had failures, or are living under long-term “wait and see” uncertainty. With a high-profile project where the cost of failure or cost of quality is significantly higher, and perhaps tense, culture matters. Teams may need more virtual hands-on time, more “feel-good” motivation and supported with solid staffing and supportive management.
COVID’s impact on all work life has been profound. Some companies are still reeling from the changes. At the same time, it has also forced many companies to ramp-up existing or new DX or IT Modernization projects. Put to the right task, Test Teams are potentially the most valuable asset on Digital Transformation and IT Modernization projects, especially when it comes to exploring, automating, and developing evolving use cases and user stories. Core testing skills are key for these situations. Good Test Teams bridge the technical system to delivering a product with customer value. Thus, it’s direly important that your Test Teams are at the center of these projects as your organization embarks on them––they will be key in determining the success of any Digital Transformation.
Team culture is especially critical in personal, work, and financial turmoil. These types of projects and paradigm shifts can easily overwhelm a company. Don’t let the hype be your downfall; take the time to not only thoroughly think-through any large paradigm shift, but also time to fully understand the risks, benefits, and need for this shift in your organization. And, of course, utilize your Test Team’s knowledge and expertise when doing so.
It is true: We must Innovate or Die. We all know this. We can do it right. Teams can be staffed and supported properly. And DX or IT Modernization can catapult you into a very successful position in the post-pandemic world.
*Disclaimer: This article is not endorsed by, directly affiliated with, maintained, authorized, or sponsored by any of the companies mentioned in this blog (Alexa, Siri). All product and company names are the registered trademarks of their original owners. The use of any trade name or trademark is for identification and reference purposes only and does not imply any association with the trademark holder or their product brand.