For the first time in history, the magnitude and relatively low cost of computer storage and the speed at which computers process large amounts of data have created a confluence that makes the use of machine learning and artificial intelligence possible at scale. Artificial Intelligence (AI) works by using artificial neurons, called perceptrons, that mimic the use of the human brain to pass information from one perceptron to the next, making small decisions along the way that culminate in larger, very accurate decisions.
Though the perceptron was first invented in 1958, machines in that day and age filled entire rooms and, even so, could only store enough data to hold a couple of songs. Science fiction of the 50s and 60s was filled with fears about what machines could become, but these were quickly put to rest when people realized machines just weren’t up to the task…yet. Now, as of 2024, you can fit one terabyte of data in a Micro SD card the size of the tip of your finger and costs less than $15. One thing that Artificial Intelligence relies on is an incredible amount of data, so it is incredibly important that it be cheap enough and practical enough to store this data.
Now we are experiencing a disruption similar to the discovery of fire. Many of us want to know what we can do to prepare for the future so that we can use it to our benefit without getting burned by it. Several jobs in the tech industry will be disrupted. Prominent jobs may change or be reduced as a result. In this article, I will call out potential roles and note the identifiable disruptions we may see in the industry, and offer suggestions as to what can be done.
The first major job function to be discussed is in the field of Agility, whether you call yourself a Scrum Master, Agilist, Team Coach, etc.
Answers to agile questions will be easily accessible via AI: The agilist is the de-facto expert in the realm of business agility, but these answers are now available from a chatbot instead of asking an agilist. This isn’t too far removed from the current climate, however, as people could just have used a search engine to find their answers anyway. The human touch that has always brought value, and will continue to do so today, will be the application of agile to the business context. In other words, it isn’t about knowing agile, it’s about being agile and helping teams get there.
Meeting scheduling, agenda creation, and meeting summaries via AI: While agilists know that their job responsibilities do not necessarily include these activities, it is nevertheless often expected of the agilist to take on these roles, so the disruption is still valid. There is an opportunity for the agilist to leverage the tools available to perform these activities, which will free them up from being the “glorified admin” because these roles can be more or less automated, freeing the agilist to focus on the important manner of their job, which is helping teams to pursue agility.
Reporting via AI: There are tools available that can take raw data and parse it into meaningful charts and reports that can be shared with the team, which is traditionally a staple of the agilist role. It will be important to cleanse this data, as it could be misleading and lacking context. Additionally, the report isn’t an end in itself but should facilitate conversations, and creating improvements around conversations are the important end result of these reports, and that still falls on the agilist to ensure it occurs.
This will be followed by Software Development, Product Management, Quality Engineering, and DevOps.
Code Generation via AI: New tools allow software developers to describe the kind of problem they would like to solve, and AI is able to generate code for this in the language specified. This requires heavy supervision, however, as the code usually doesn’t get things completely correct. Additionally, the tools available only do well in solving problems that are included in the training data for the AI in question, so new-to-the-world problems, or very complex ones, are difficult for AI to get right. Software developers can leverage AI to up their game by creating their code faster than writing it from scratch, but then again many developers have already been doing this by finding code on online communities.
Code Improvements via AI: One major way to use AI to up your game as a developer is to make use of the tools that exist that can suggest refactors to improve readability or performance.
Code Reviews via AI: Using the features that have already been discussed, it is possible to use AI as a code review companion, helping you to find things that your eyes alone may have missed. This helps you up your game not just as a developer but as a code reviewer as well.
Creation of AI tools supplants standard development: More and more companies will be asking for AI tools to be a part of their application, so learn to develop these tools. The good news is that many developer tools are already in place, including APIs to connect into the AIs that already exist, which are the most likely use cases for the development of AI tools.
User Story creation via AI: AI tools exist that can take several inputs from the user, including journey maps, process flows, etc., and generate User Stories from them. The primary role of the product manager in this process is to ensure that the user stories are accurate, convey the right information, and the product in the right direction. Many AI tools exist to help the product manager make great product decisions, but at the end of the day, those decisions are squarely in the hands of the product manager.
User Story refinement via AI: It is possible to refine User Stories simply by using publicly available AI chat tools, simply by pasting the text of the User Story in and asking it to improve it in various ways. This requires a bit of supervision as users will need to ask for changes here and there as the output becomes clearer and clearer.
Basic UI design via AI: Tools are available which can take a prompt from the user and create a basic UI. This process needs to be supervised, however, due to the complexity around creating a meaningful UI that fits well into the user experience desired. These AI tools can be utilized as time savers but still require a human to ensure they are of quality.
Meaningful user insights via AI: AI is able to take data from several sources, such as user reviews, and create meaningful insights that turn into a prioritized list of User Stories. This is great for a product manager’s tool belt, and can really help them up their game and ensure that the product they are creating is meaningful to users and addresses their key concerns.
Product-Led tools via AI: AI is able to assist in the production of tools such as User Personas, Journey Maps, etc. and it even offers the ability for product managers to test their designs with synthetic users instead of finding users in the wild on which to perform their research. These tools and activities are great for crafting usable requirements for the development team, and all of this research and development has been owned by product management, yet it will likely continue to be owned by product management in the near future since this is a job function the requires supervision, due to the fact that some of these outputs are rather complex. AI can certainly save the product manager time as opposed to creating the outputs from scratch, but the function of the product manager shifts to making sure these are of high quality and used correctly to create great requirements.
Test Plan creation via AI: AI can generate test cases based on requirements, code analysis, or historical data, which could minimize the role of QEs in test design. QEs can transition to roles that involve guiding AI algorithms in generating relevant test cases and ensuring they cover edge cases. They should also focus on understanding and validating the AI-generated tests to ensure they meet quality standards.
Automated Test creation via AI: AI-driven testing tools can create tests more quickly and comprehensively than doing so manually. Quality Engineers should focus on designing test strategies that leverage AI tools effectively. They can also shift towards roles that involve configuring, maintaining, and interpreting results from AI-driven tools. Continuous learning and upskilling in AI technologies will be crucial.
Self-healing of broken tests via AI: As changes occur to the environment or the underlying code itself, tests break and need maintenance. This sometimes, though not always, falls on the QE to problem-solve. Using AI can offer insights into why these tests might have broken, and if the problem is easy enough to fix can self-heal. Many broken tests require code changes to fix bugs that have been introduced, or are otherwise outside of the scope of AI tools to fix, and it will be important for QEs to be able to address these more complex issues.
Test data creation via AI: Maintaining test data can be a complex part of the QE role, especially as the application grows and the test data needs to become more robust. AI tools can assist in creating this data, but supervision should be used to ensure data quality and that the data serves the needs of the users.
Visual comparison via AI: AI can simulate user interactions and provide insights into user experience, potentially reducing the need for manual exploratory testing. QEs should focus on areas where human insight is crucial, such as understanding nuanced user experiences and providing qualitative feedback that AI may not fully capture. They should also work on enhancing AI tools to better align with real-world usage scenarios.
CI/CD Pipeline management via AI: AI can enhance CI/CD pipelines by optimizing build processes, automated testing, and deployment strategies, potentially reducing the need for manual pipeline management. DevOps engineers should focus on designing and refining AI-enhanced CI/CD pipelines, ensuring that they are robust, secure, and aligned with the organization’s goals. They can also work on monitoring the effectiveness of AI optimizations and adjusting configurations as needed. They should also be experts in the environment at their particular workplace, especially those areas that are so unique that AI is not very good at managing yet.
Container management via AI: Similarly to the CI/CD pipeline, AI container management tools are also available for use, and can be used to up your game as a DevOps engineer, but just like with the CI/CD pipeline, many workplaces have very specific and complex rules that make it difficult to use AI right out of the box and supervision is needed. This is where a human is needed to bridge the gap between what AI can do out of the box and what your organization needs it to do.
Self-healing infrastructure via AI: Infrastructure can be managed via AI, but when it goes down, it can be difficult to pinpoint the exact reason for the issue. AI tools can then be leveraged to determine the probable reason for the issue and even self-correct it if the issue is simple enough, but often the issues are more complex than AI can handle, or AI is unable to perform the functions needed. This is a great use case for using AI to assist you in identifying and fixing issues, but a human needs to be in place to make most of the adjustments.
Locate trends in application data via AI: Application monitoring tools often come with AI tools built in at this point, and these tools assist in locating trends in data that could be problematic and alerting the teams before they otherwise might have been reported with traditional alarms. This is great for maintaining the kind of uptime and performance that the organization wants or requires, and the role of a DevOps engineer in this should be to ensure that these are set up and working properly and that the correct action can be taken when these alerts are given.
Query creation in application data via AI: Application monitoring tools often require complex querying to get the kinds of data required, but AI tools are now available to assist engineers in creating these queries. Similar to code generation. However, these tools are not 100% perfect and require some level of supervision to ensure that they are accurate and usable.
This era of AI has been called the “AI Spring,” and although it can be scary to think about how our jobs might be disrupted, it would be better to look at the future with optimism and intrigue. As we move forward in this world, remember to be adaptable and curious about what is ahead. Enjoy the change we are seeing, and have fun learning new things and how best to partner with the technology that is emerging, but continue to press into the things that are truly unique to humans, such as communication and engagement, and knowing those intricate and unique things that make your organization tick that AI cannot penetrate at this time.
Here are some tips and valuable resources that might help in your adjustment to the new world that AI and AI tooling have introduced: