Celebrating 2 Years of Using AI in Software Development: Key Takeaways and Where We Go From Here

Celebrating 2 Years of Using AI in Software Development: Key Takeaways and Where We Go From Here

Almost exactly wo years ago, we started to integrate AI into our software development processes. Sounds very exciting? The truth: we subscribed to GitHub Copilot ??

While this simple addition was a crazy transformative experience, this doesn’t even scratch the surface of what AI is capable of. Yet, me included, there are dozens of leaders and execs that with usage of tools like this claiming their organization are AI ready or AI enabled.

As I reflect on this milestone, I’m challenging myself to rethink what it truly means to "use AI."With this article I’m ?chatting from my sewing box“ and give some deeper, practical insights and lessons learnt from the past two years.


What It Means to Use AI in Software Development

Using AI in software development can be understood in two fundamental ways:

AI as a Development Tool:

Employing AI to create, review, or debug code. This includes using tools like ChatGPT or Codex to write code snippets, analyze errors, and streamline documentation.

AI as an Enabler for Features:

Leveraging AI to power specific features within applications, such as natural language processing, recommendation systems, or predictive analytics. The essence lies in integrating AI either as a support system for developers or as a driving force behind the functionality of the software itself.


Levels of Integration of AI

The degree of AI integration in software development varies widely:

Low Integration:

This involves manually using AI tools via user interfaces, such as inputting prompts into ChatGPT or similar tools and manually applying the results to the development process.

High Integration:

AI is embedded directly into the development workflow or product features. For instance, AI models may automatically review code, suggest improvements in real-time, or operate autonomously within the software, requiring minimal human intervention.


Where and How We Use AI in Software Development

We’ve adopted AI across multiple areas, with varying degrees of integration:

Code Creation and Review:

AI assists in generating boilerplate code and conducting detailed reviews for quality and adherence to standards.

Low integration:

  • manually query AI tools

High integration:

  • AI embedded in the IDE for real-time assistance
  • AI embedding into CICD pipelines to provide consolidated feedback and add as auditor

Testing and Debugging:

Low integration:

  • critical code snippets are sent to AI to identify bugs and recommend fixes, speeding up the debugging process
  • Creating synthetic test data for showcases and mass testing purposes simulating real life scenarios, edge cases and unconventional but possible combinations

High integration: none!

Documentation & Requirements Engineering:

Natural language processing models create clear and concise documentation, saving significant time.

Low integration:

  • Manual input of Explanation of required features to create user stories, tasks and tickets based on corporate requirements
  • Manual input of Explanation of features to create marketing material for campaigns, visuals and socials

High integration: None

Feature Enablement:

AI powers advanced product functionalities, such as intelligent search and validation, user behavior analysis, and personalized recommendations. These features often operate autonomously, representing high-level AI integration.

Low integration:

  • review and amendment of customer upload files to ensure consistency in file name and structure

High integration:

  • automated processing, classification and management of documents of different types from different companies


The Impact of AI in Software Development

The influence of AI is evident in multiple dimensions:

  • Productivity: Developers are more productive, delivering features faster and with fewer errors.
  • Quality: Code quality has improved through automated reviews and intelligent debugging.
  • Innovation: Teams are exploring creative solutions and pushing boundaries, inspired by AI-generated insights.
  • Talent Utilization: AI enables developers to focus on high-value tasks, fostering engagement and job satisfaction.

Impact for me:

  • thousands of dollars saved by consulting AI vs consultants especially for soft topics like marketing, communication and best practices
  • Significantly reduced the time and effort spent to assess quality of development, understand complex problems and reducing the gap between technical and commercial and leadership knowledge and capabilities


Lessons learnt

Through trial and error, we’ve identified several best practices:

  • Focus on Augmentation, Not Replacement: AI is a tool to enhance human capability, not replace it. Every single line of code is worthless if the developer doesn’t know how to integrate it into the application and what business problem to solve
  • Invest in Training: Teams must be trained to use AI tools effectively. I literally sit down with my team and show them my prompts, how is use certain tools or which tutorials are helpful. As much as I am excited about the opportunities, this doesn’t guarantee everyone else is. Fact is that AI replaces need for human workforce. The fear that my job can be replaced is real - but only if I don’t further develop myself either. Use AI to automate your tedious task and free up your time to work on new, other exciting things.
  • Try, Test, Iterate and Adapt: AI is our ultimate tool to try things quickly. If we achieve PoC we then double down and invest (e.g. better tools, people, consultancy to enterprise-grade our solutions).However, not everything works:
  • Overreliance on AI: Blindly trusting AI outputs can lead to suboptimal decisions. AI is as good as its data provided. Giving complex problems to AI without reviewing is like Russian roulette. You need to remain the owner of the solution end to end.
  • Unrealistic expectations on AI: the first result of a non-refined model will seldom work. It’s quite surprising to see that people lose trust after a single prompt or try run and decide to continue doing it themselves. It’s like if the new hire can’t create a PR in a custom SAP system without support the first day and gets fired. Manage expectations. Integrated and automated AI will take time. But then Gosh the sky is the Limit!


Outlook

Although we successfully use AI in various stages and levels of integration, I feel like we barely scratched the surface. Especially on the integration side there are tons of potential to leverage.

The key theme for me the next years is clearly the evolution into Agentic AI. High degree Agentic AI models will solve a lot of challenges mentioned from above and increase integration by its design. I’m heavily going to invest into developing Agents and Agentic Frameworks as I truly believe this is going to be the future of the way we built software and solutions.


I hope this very detailed insight will inspire you to use AI in your processes or at least give you comfort that you are not the only one who’s just at the beginning of journey.

Dhani Ram Nepali

Former Sr. Finance & Operation Officer at Helen Keller International

1 个月

Big congratulation !

回复
ANKITA RAJ

CS EXECUTIVE ?? BCOM(H) GRADUATED ?? Sebi nism certified???? Pursuing Llb ??

2 个月

Useful tips????

回复
Engr. Muhammad Khalil

PEC? Industrial Engineer |HubSpot 4x Certified |Community Builder |

2 个月
Ahmad Ali

Amazon FBA Specialist | PPC Advertising Expert | Scaling 6-7 Figure Amazon Brands | Listing Optimization & Brand Growth Strategist | Amazon SEO Manager | E-commerce Marketing

2 个月

Andreas Kurz Congrats on 2 years of using AI in software development! It’s inspiring to see how tools like GitHub Copilot can transform processes. Looking forward to reading your insights and lessons learned

回复
Sobia Bashir

Search Engine Optimization Specialist Driving Traffic, Boosting Sales & Generating Leads for Website | 3+ Years of Experience |

2 个月

Congratulations on your two-year anniversary of integrating AI into your software development processes.

回复

要查看或添加评论,请登录

Andreas Kurz的更多文章

社区洞察

其他会员也浏览了