ChatGPT has breathed new life into the topic of artificial intelligence: since the debut of the AI tool, even people who are less interested in technology have realized that intelligent assistants are no longer a dream of the future.
For many developers, ChatGPT was not a surprise, but it was an irresistible tool.
And as it turns out, clever minds have developed thousands of AI tools in recent months to make software development easier for us.
But what are these tools really good for and what impact will AI have on the industry?
ChatGPT instead of Google
Every project needs research – traditionally with Google and in programming forums such as Stack Overflow.
But Google’s days as a search engine for software development questions may be numbered.
For us at Panter, Google has had its day as the first port of call: instead, we ask ChatGPT for a problem-solving approach.
This is not only faster, but also easier.
The AI assistant understands natural language and responds with concrete step-by-step suggestions.
Of course, the AI is not a complete replacement for Stack Overflow, for example, but ChatGPT provides ideas and approaches for the first steps.
In many cases, this is already enough.
Instead of trawling through forums, we can invest more time and effort in software development.
The amount of AI tools and their possible applications is enormous – and the number is growing every day.
But what is really useful?
At Panter, we know from experience that the right solution always depends on the specific case and need – so there is no “perfect” AI tool for software development.
It is best to try out as much as possible to find the optimal solutions for your own processes.
Two important guidelines are key for us here:
- Adapt new tools quickly and share experiences internally. At Panter, for example, this is possible as part of internal demo meetings.
This means that the work invested is not lost and other employees can build on the findings. - Data protection must be guaranteed. Sensitive data must not be disseminated carelessly.
Panter has defined clear guidelines for this and set up an internal contact point for data protection issues.
5 proven use cases for AI in software development
Here are five use cases for AI tools that we use in practice:
(1)Create user storiesmore efficiently
User stories are essential, but creating them can be time-consuming.
At Panter, we have therefore been using a simple template with three components for a long time:
- Title
- Description
- Acceptance criteria
Thanks to ChatGPT, we can generate a user story according to the template based on a simple prompt such as “increase test coverage”.
The results are better than expected, even if they still need revision.
The automatic generation according to the template saves a lot of paperwork.
Thanks to the automatically generated proposal, it also helps to avoid tunnel vision and keep all important aspects on the screen.
Find out more: Improve user stories with ChatGPT (Medium article)
(2) Automate meeting minutes
Meetings are (unfortunately) also part of everyday life in software development.
However, AI tools can now take over the writing of minutes.
OpenAI has taken speech-to-text to a new level with the Neural Net called Whisper.
Whisper is not only accurate and robust, it even reliably recognizes Swiss German.
It converts the audio recording of a meeting into text – and ChatGPT then creates a summary from the transcript.
It couldn’t be simpler.
Read more: Speech-to-text with Whisper (Documentation)
(3) Code Assistance
“Code Assistance” is a category that includes various AI tools that help to automatically complete your own code.
This includes tasks such as:
- Generating code fragments
- Refactoring of fragments
- Creating documentation
- Naming variables
Code assistants such as GitHub Copilot relieve developers of such standard tasks.
Copilot offers suggestions based on prompts directly in the editor and delivers fully functional code for simple or repetitive tasks.
Such assistants are already quite reliable.
However, a final check remains important to ensure that the code works as desired in the specific use case.
Copilot uses the OpenAI Codex to display code suggestions directly in the editor. Click here for the CoPilot
(4) Create commit messages
Documentation is important, but it is often neglected.
Thanks to OpenAI and tools such as GPT Commit, git histories can be automated with meaningful commit messages.
Some tools allow the output of the “diff” prompt to be routed directly to ChatGPT and, if necessary, truncated appropriately so that the input limit is adhered to.
If entire features are combined in a commit, you can also link the user story using the ticket ID.
The result is not only more efficient than manual commits, it is also easier for third parties to understand.
Read more: Commit with ChatGPT (github)
(5) Code Review
ChatGPT contributes to more effective code reviews and therefore also to improving code quality.
For example, the tool can explain the code logic within a very short time and identify any code smells or structural defects in the code.
This provides reviewers with important information and saves a lot of time and effort.
ChatGPT can also concisely summarize changes in the code.
To do this, we enter the “diff” of the changes in the dialog box and simply ask for a summary.
In response, we receive the changes in a compact list.
Prompt Engineering: Getting the most out of AI tools
As always in IT, the more precise the instruction, the better the result.
Prompt engineering is the art of giving the AI tool the right instructions to obtain the desired output in the right quality.
The big advantage of ChatGPT and other natural language tools is that there is no need for code syntax.
Developers can simply write what they want.
But it’s still not easy.
A simple command rarely leads to the goal.
Prompt engineering is an iterative process: the input must be improved and refined step by step until it delivers the right result in the right format.
It helps to refer to previous instructions and provide additional data sets of your own.
In this way, the tool can learn from this and is trained in the best possible way for the specific application.
For good results, it helps to give the AI tool as much context as possible: How is the task not to be solved?
Is the task based on previous tasks or results?
The more you restrict and specify the input, the better the result can be refined.
Conclusion: Think for yourself and iterate faster
ChatGPT and other AI tools are a welcome help in software development.
They help to automate simple and repetitive tasks and increase the quality of the software.
Above all, the speed of iterations will increase, which will ultimately lead to the desired product and further improvements more quickly.
AI tools will definitely increase in use.
However, good results do not come automatically, they require skills and a lot of training.
Only then will developers be freed from repetitive tasks and have more time to devote to more complex tasks.
Although ChatGPT and other AI tools are changing the way software development is done, they cannot take over all the tasks of developers.
Talented developers are still needed at the latest when it comes to software architecture or when creative and innovative solutions are required.
Artificial intelligence has enormous potential for companies, whether for optimizing internal processes or better understanding customer needs.
Do you have a specific project in mind and are looking for a strong development partner?
Then you’ve come to the right place.
We are happy to support you with our expertise in AI-supported software and data engineering.