01 Sep, 2023
For instance, in a study by Stack Overflow, a surprising 41% of developers deemed the learning of syntax peculiarities unnecessary in the next iteration of software development.
Envisaging such a transition immediately prompts the question: how will it influence the developers and coding fraternity? In search of the answer, our team at PDLT dove deep into the prevailing literature and came across an insightful McKinsey research on the impact of Generative AI tools on software development. It is this research and our analysis of it that forms the basis of this article.
According to Evans Data Corporation, the number of developers worldwide is projected to grow from 23.9 million in 2019 to 28.7 million in 2024. A simplified, more accessible coding language could significantly accelerate this growth. As Grady Booch, IBM Fellow, puts it, “The future of coding is no coding at all.”
Tools like OpenAI’s Codex are already showing promise in converting natural language to code, reducing the cognitive load for developers.
Recently, our team came across an intriguing McKinsey study that delves into the impact of generative AI-based tools on software development. Being one of the top AI consulting companies, PDLT team could not stand aside and we wanted to comment the thorough research our collegues from McKinsey did.
McKinsey’s approach to understanding the role of AI in the future of software development was solid – they established a lab involving over 40 company developers from across the US and Asia. These developers, with varying years of experience, served as the test bed for assessing the developments in the software industry, more so the impact of generative AI–based tools on coding productivity. The study involved:
We see this research as a cornerstone in the ongoing conversation about how AI is poised to revolutionize the development sector. Our aim in this piece is to provide PDLT’s nuanced perspective on these findings and their implications for AI developers, AI development companies, and those seeking AI development services.
In a bid to expedite software development, technology pioneers are turning to generative AI. However, harnessing the full potential of this game-changing technology takes more than just sophisticated tools. As per our most recent findings, which build on extensive empirical research, the use of generative AI can lead to significant speed enhancements on many standard developer tasks.
These time savings can be harnessed to boost productivity significantly, surpassing previous engineering productivity improvements, driven by innovative tools and workflows.
However, our research also highlights that the extent of time savings can fluctuate based on the task’s complexity and the developer’s expertise. Time savings can drop below 10% for highly complex tasks, often due to developers’ unfamiliarity with certain programming frameworks. The same is true for developers with less than one year of experience, with some tasks taking these junior developers 7 to 10 percent more time when using these tools rather than not.
Quality over Speed
Importantly, quality hasn’t been compromised in the pursuit of speed. AI-assisted coding resulted in slightly improved code quality concerning bugs, maintainability, and readability, all crucial for code reusability. This improvement indicates that generative AI is best utilized to supplement developers, not to replace them.
Therefore, to uphold quality, developers must comprehend the characteristics that constitute quality code and guide the tool to produce the desired results accurately.
This research implies that to optimize productivity using generative AI tools and negate potential risks, engineering leaders must adopt a systematic approach. This includes generative AI training and coaching, careful selection of use cases, workforce upskilling, and implementing solid risk controls.
In this examination, McKinsey’s developers were presented with rudimentary assignments usually handled by software teams; these included code refactoring into microservices, customer experience enhancement by introducing new application functionalities, and documenting code capabilities for smoother future modifications.
Authors found that Generative AI–torqued tools greatly amplified productivity in these four particular areas:
Generative AI has shown remarkable proficiency in automating routine tasks. This includes auto-filling standard coding functions, wrapping up coding statements mid-way through typing, and documenting functional aspects of the code in standardized formats. AI development services like these free developers from monotonous tasks, allowing them to tackle complex business hurdles and accelerate innovative software development.
The research illuminated how generative AI generated pertinent code suggestions when given a prompt by developers facing a blank screen. This AI for developers significantly reduced the spin-up time, helping them immerse into the “flow” of coding more swiftly. It’s important to remember that it’s not always necessary to use chatbot as a UX in every AI application, as recommended by top user experience consultants
This speedy automation extends to coding modifications as well. Effective prompting led to quicker adjustments to existing code. For instance, to avoid the time-intensive process of tweaking code borrowed from online coding libraries or optimizing pre-existing code, developers could use these prompts to give iterative directives to the AI software development tool regarding the adjustments needed.
Even when it came to more demanding tasks, the research identified benefits of generative AI–based tools: these tools enabled developers to quickly familiarize themselves with previously unknown codebases, languages, or frameworks. Like a seasoned colleague, these AI developers facilitated knowledge enrichment, concept explanation, synthesis of information, and the provision of methodical guides to use a framework. This elevated the efficiency levels of developers using generative AI-based tools by 25-30% compared to those employing traditional methods.
These productivity enhancements aren’t the sole benefits, however. The study found that boosting developers’ productivity improved the developer experience overall. This improvement, in turn, can enhance talent recruitment and retention efforts for companies. The use of generative AI–based tools led to twice the reported levels of overall fulfillment, happiness, and a state of flow among developers. These AI development services automate mundane tasks and augment access to information more rapidly than manually scanning disparate online platforms for solutions.
While AI technologies possess extensive potential, McKinsey’s detailed study reveals that their efficacy is highly dependent on the proficiency of the engineers employing them. Specifically, three critical areas have been identified where human intervention remains irreplaceable:
1. Identifying and Rectifying Code Defects: Based on the feedback given by several participants, AI-based generative tools often suggested incorrect coding solutions, if not outright creating new coding errors. One participant stated the necessity to supply frequent prompts to revise a tool’s faulty assumptions, enabling the participant to retrieve the accurate response. Another developer needed to guide the tool meticulously to debug the code appropriately.
2. Injecting Organizational Insight: AI tools, despite their advanced coding abilities, lack understanding of specific project prerequisites and organizational demands. For example, software applications must flawlessly blend with other existing functions, align with the company’s performance and security protocols, and cater to the demands of the end-users. According to the feedback of the participants, software developers must feed these tools the essential information. This includes details about the context of the code usage, the types of interfaces it will engage with, the data it will handle, and more.
3. Handling Complex Coding Parameters: Participant feedback indicated that AI-based generative tools were adept at managing simple tasks, such as enhancing a snippet of code. However, they struggle with complex tasks like incorporating multiple frameworks with distinct code logics. One of the participants explained that he had to either manually integrate components or divide the code into smaller portions to fulfill a multi-faceted requirement. Highlighting the limitation of AI tools, another participant concluded, “Generative AI struggles when the complexity of the problem rises and needs an overarching view.”
Incorporating generative AI in software development offers significant potential for productivity improvements and time savings. However, translating these opportunities into tangible gains, while minimizing risk, poses a challenge for technology leaders. Drawing on the experiences of research participants, McKinsey’s strategy illuminates four key areas for transformation: developer skill development, advanced use cases pursuit, skill shifts planning, and risk management.
Generative AI technology can substantially supplement daily software development tasks. Yet, to leverage it to its full potential, developers need both training and coaching. This training should provide:
Even though these subjects form the core of the initial training, McKinsey emphasizes the continuous need for developer skill development which can be achieved through ongoing coaching and community building. This approach fosters continuous learning, promotes sharing of best practices, and helps identify potential issues at an early stage.
McKinsey’s research highlights generative AI’s capabilities beyond simply generating new code. Advanced applications of AI could play a pivotal role in tasks such as refactoring existing code or modernizing resource-intensive legacy applications. By using generative AI–based tools to manage these tasks, developers could redirect their efforts towards tackling a backlog of improvements or boosting architectural performance across the software platform. However, McKinsey advises a careful assessment of tooling before deploying new use cases, as different tools specialize in distinct areas.
As AI tools augment developer productivity, leaders must plan for the inherent skill shifts. The surge in productivity may create a new capacity within the organization, calling for strategic decision-making about how to best use the additional capacity and address emerging skill gaps.
Generative AI–based tools introduce new risks regarding data, intellectual property, and regulatory compliance. Leaders should anticipate these risks and develop appropriate governance strategies to handle potential challenges such as data privacy, AI behavioral vulnerabilities, legal and regulatory changes, ethics, reputational issues, and security vulnerabilities.
In conclusion, the implementation of generative AI is set to revolutionize software development at a pace and scale unprecedented by other tools or process improvements. However, the full potential of this technology can only be realized with a structured approach that encompasses thorough generative AI training, strategic use case selection, workforce upskilling, and stringent risk controls. McKinsey’s strategy offers a robust foundation for organizations aiming to leverage generative AI’s promise of extraordinary productivity and innovative software development.
Stan and his team are expert blockchain developers with excellent full stack experience and I can't recommend them enough! The work is high quality, communication is excellent, and they are available at all times to connect live to discuss key project decisions in real time and to provide regular progress updates. For someone with limited development experience, Stan was also very willing to help walk through key architecture decisions in a way that was easy to understand and that made the process very smooth. In addition to being great at blockchain development, Stan and his team also have excellent startup business experience and we regularly had in-depth strategy discussions where Stan served as a trusted advisor to brainstorm product features, customer segmentation, go to market, and launch strategy for a blockchain startup. If you're looking for an excellent blockchain development team, full stack development resources, or a trusted startup advisor, these are the guys!
"When initially looking for a team for this build the interview process was paramount. within minutes stan had me at a comfortable spot knowing we would be in the best care, we have been working together for months. this team & stan especially are top tier. we have had hard thought discussions around smart contract development, optimization, payments, routing of transactions, ecosystem architecture, design. this team solves problems so you wont have to. apart from being entirely flexible im at ease knowing the team is efficient with top quality full stack work. "
Michael is very knowledgeable in his area. He delivered the work within a very quick time period but equally took time to provide the necessary support that came with building the decentralised app script. I would recommend him to any other client on upwork. I just hope that he doesn’t get soo much work that he can’t work with me again.
Great communication from the team. The finished Coinbase Wallet reader script works great and we were able to adapt it to our specific needs.
The platform met our expectations. Pragmatic DLT’s team provides transparent communication, and are skilled experts in blockchain. Their effective project management and responsiveness have facilitated the potential for a long-term partnership.
Great communication and attention to detail, the design process went really smoothly and the results were excellent.
Michael and team completed backend development of my web3 app in 1 week where it took months for others to complete the same work. The quality was high and well-documented. This team is my go-to resource for future blockchain development.
Very uncomplicated to work with. Did the job well and exactly as requested.
Pragmatic DLT offered helpful, transparent advice about blockchain technology and data security. Their clear communication and efficient Agile methodology set them apart.
They ultimately surpassed our initial expectations. The MVP was delivered within the agreed timeframe and scope, and the design that Pragmatic DLT implemented processes one order per second for more than 2,000 worldwide merchants. The team had a proactive approach, was responsive to the client's needs, and took ownership of their work
Everything was very good! The team managed the engagement effectively and fixed errors prior to the launch. Moreover, their resources were highly competent. Overall, the project was a success.
Michael and the team did an amazing job! I am pretty demanding customer and the project was not a trivial one. Mike, however, jumped on the task and a) Captured my requirements really well. Guys put it on paper and in the meantime I happen to better understand what I wanted than ever before. I am so grateful they saw my perspective and put it in a perspective of technical viability. b) Delivered very clear and concise architecture. Now I am very clear on how the big project may look and how much will it cost. Finally the thing I am grateful the most. Guys didn't push me to buy the development, they really rose the challenges and questions of viability in a manner I would never be able to do myself. And, effectively, talked me out of the project! They are true professionals and I can now fully trust that they would not sell me solutions they don't believe in. Absolutely recommended!