Artificial intelligence: silver bullet for software development?

Ki software-entwicklung

It started like a clash between two generations. The “young guys” in development and support rushed out, built entire screens with AI and found solutions for errors. The “old stagers” exclude the usage of AI in software development forever.

Then, of course, this the matter was examined in detail using different examples. The results and recommendations were presented in an internal meeting.

Artificial intelligence is here to stay

50% of large German companies and 17% of small enterprises already use Artificial Intelligence. The growth rate from 2023 to 2024 was 8%. AI is already present and nothing which may come in the future. The rate of usage in small enterprises could even be much higher if the required knowledge was available.

In short, AI offers some advantages for us. We have to use it well-considered to avoid disadvantages which are included, too. It is also important to distinguish different areas of usage and not to mix up everything.

Case example 1: Graphical user interface

The task for AI was to create a login screen for a web-application. The programming language and the required fields were given.

And really, AI built a login page with real code. It was amazing, and for a short while the team was tempted to use this page in the application. But soon reason was allowed to prevail and the AI-product was not considered to be finished and usable without verification. This example and the analysis of the code provided us with a lot of important insights for software development with AI.

Scope of application and advantages

  • Repetitive tasks using html and css can be made easier and more efficient.
  • A basic structure can be generated dynamically following a detailed specification.
  • Customer-related adaptations can be made visible quickly.

 

Disadvantages

  • Parts of graphical user interfaces may be displaced, because AI cannot see it.
  • When working with JavaScript or more complex programming languages, AI can only be a basic help.
  • The proposed code may include errors or may not be clean enough.


Conclusion and recommendations

  • It requires a lot of adaptations and human performance until a usable software product is available.
  • The developer always has to verify the AI code and must fully understand it.
  • AI cannot replace a developer, but it can provide useful support in selected areas .
 
 

Case example 2: Research and eLearning

AI was used for research in order to find a suitable text editor. The result was a well-arranged list of different tools with their features, advantages and disadvantages and a final recommendation. AI extracted the most important pieces of information from a large pool of knowledge and transformed it to propositions.

The other use case was to get a basic knowledge of MySQL in a short time. AI provided explanations on basic structures and best practice examples in different steps. If desired, additional informations were available for every step. This allowed the junior programmer to learn the basics by himself and to prepare special questions for the experienced colleagues later on.

Conclusion and recommendations
 

AI can do the first steps of a research which would take a lot of time for the user. The comprehensive result is a good base for further research with human intelligence, looking for more details or examples. AI is also a good tool for the collection of ideas.

Nobody should become hooked on AI. Human intelligence has to verify and improve every result provided by an AI tool. This is valid for general subjects as well as for code produced by AI. Young developers have to gather knowledge using different methods and learn of course also from their experienced colleagues.

Case example 3: Server problem with docker

We had a problem with server overload during the start of a docker container. We did a traditional web search which provided us with a lot of hits. Unfortunaltey, the informations were either outdated, incomplete or contradictory and thus not useful.

Then we used ChatGPT. We asked for the best settings during the start of a docker container to avoid the container from being switched off due to server overload. Other questions related to reasonable values for CPU, memory limit and OomKill.

The answers we got were combined with human intelligence and really resulted in a lasting solution.

Conclusion and recommendations

The questions to AI have to be precisely worded in order to get helpful answers. There will never be a solution by AI alone without the use of human intelligence.

Case example 4: Finding a syntax error

AI can examine existing code which runs in an error. In our example AI did not only find the syntax error and proposed a solution but could also explain why the error ocurred and how the solution works.

Conclusion and recommendations

AI can help the support team to solve problems or to do helpful preparation work for the developers. An important aspect in this is data security. Sensitive data, links or passwords must not be provided to AI tools for analysis. It is also necessary to respect copyrights when entering exisiting code in a public AI tool. It would be different for a private AI tool, but this one requires much more training efforts before it will work in a reasonable way.

Conclusion

Artificial intelligence is no silver bullet for software developers. It cannot replace an experienced developer. Nevertheless it can increase productivity and do repetitive routine jobs for developers.
 
AI has to be used wisely and with a clear goal. Precise questions will bring good answers, which will have to be checked and enriched by human intelligence later on.
 
These case studies re-united the two generations mentioned in the beginning of this post. Nobody objects to reasonable support provided the internal quality guidelines will be respected. We will see, what the future brings. it will for sure be a dynamic development offering lots of new possibilites.

Ki software-entwicklung
Cookie Consent with Real Cookie Banner