The benefits of Agile can be significant to a business, particularly in the current era and upcoming turbulent times we’re likely to be facing. Scrum master and Agile Lead, Tom Clark shares the benefits of ‘real Agile’ and how to avoid the buzzword version.
Even since I started writing this, ChatGPT-3 has become ChatGPT-4, and Google has announced its own AI chatbot, Bard. We’re going to be seeing more and more of this kind of AI tools launching, and each development will – for a time, worry a few people.
ChatGPT has taken the world by storm; it reached 100 million users in days as opposed to other technologies, which took months, sometimes years to reach the same sort of level of users, and that’s really alerted people to the potential capability of this type of AI.
There’s been a lot of press around the topic and journalists are concerned about the capability of these types of Generative Pretrained Transformer (GPT). They’re concerned because they can see the potential of a GPT to write like a human, and more worryingly, write better than a human. The potential for GPT to replace the need for writers, will certainly alarm journalists and other writers.
In many ways, it’s an evolutionary process comparable to the many advances we saw during the industrial revolution: humans dug up fields with a spade but then horses with a plough attached to them could do it faster. Eventually of course, tractors proved more efficient than horses. And now semi-automated tractors with touchscreen controls are making tractors even more productive.
Since the industrial revolution, industry has introduced Robotic Process Automation (RPA) has been introduced allowing production lines to become more even more productive.
Of course, we’ve seen it with computers too: machine code was too slow to write, so software languages were developed, then low level and high level languages were created to improve the speed at which code could be created. After that, we’ve seen IDEs created to enable software engineers to write software languages more quickly. And then we’ve seen various frameworks evolve to improve overall productivity of software engineers.
More recently, we’ve seen things like continuous delivery, and test-driven and behavioural driven development that have been created to improve the quality and the productivity of software development.
In my opinion, ChatGPT (and others) is just another tool to increase productivity and automate a process that without it, would take longer. It will never replace the human element of software development.
What we have to consider is that ChatGPT works by learning from lots of other, previously completed pieces of work. It’s a very useful tool for improving efficiency and productivity and it needs to be embraced, however, it’s only ever going to be as good as what it has learnt. In the future it will be able to significantly improve speed of writing code, but it will also make mistakes, and that’s one area where humans need to be knowledgeable enough to see where it’s got things wrong.
There is a second area of concern. The human brain’s creativity and vision goes far beyond what ChatGPT is capable of. Therefore, the process must start with a human because a human is the only ‘thing’ capable of working out what the business objective is. It’s important to keep in mind that as a tool, a GPT must be managed in the right way to achieve the desired outcome.
Of course, software itself is another example of automation, and if you’re looking to create very effective software, you can automate the writing of it. However, the overall objective and design of a system will still require humans to be able to make decisions based on their experience and knowledge about what the software system will actually do.
How should a tech company use ChatGPT?
At Headforwards, we’re looking at how ChatGPT and others can be used to increase productivity.
A software developer typically looks at examples of really great software that everybody thinks is good and gets widely adopted, and is also mindful of the vast array of pieces of software that aren’t good and aren’t widely adopted.
The difference between very good, popular software, and poor, unpopular software, is down to how effectively it has been designed. More specifically, it comes down to how well the team producing it has interacted with the Product Owner and the business during the process of defining the objective and need of a piece of software.
Of course, if anyone can write any software more quickly and more effectively, it’s likely to mean we will end up with lots more being produced; headlines will be grabbed by shocking assertions that humans will be replaced. Actually, the true value of effective software development teams will become ever more important as the volume of software being produced increases.
The winners in business will be those who identify the business cases and the opportunities to create software that satisfies the needs of people more effectively than poorly designed software.
Software teams and businesses working together need to be innovative and ingenious in how they produce software so that their focus is not on how much they will produce, but rather, how much each piece will achieve, and how they will make that happen.
Appendix: What does ChatGTP think about it all? It gave the answer below.
ChatGPT is a powerful language model created by OpenAI, designed to generate human-like responses to written or spoken prompts. As with any new technology, some have raised concerns that ChatGPT could potentially replace software developers and put them out of work. However, this is not the case. ChatGPT is not a threat to software developers, but rather a tool that can help them produce more efficiently.
ChatGPT is a language model that has been trained on a massive amount of data, allowing it to generate responses that are often indistinguishable from those of a human. However, this does not mean that ChatGPT can replace the work of a software developer. While ChatGPT is capable of generating code, it lacks the context and understanding of the underlying technology that a software developer possesses.
A software developer’s job goes beyond just writing code. They must also understand the business requirements, design the architecture, and ensure that the code is efficient, maintainable, and scalable. Additionally, software developers often have to work with other team members, such as project managers, designers, and quality assurance specialists, to deliver a product that meets the needs of the end-users.
ChatGPT can be a powerful tool for software developers, allowing them to quickly generate code snippets and automate repetitive tasks. This frees up their time to focus on more complex tasks, such as architecture design, problem-solving, and optimization. ChatGPT can also help software developers by providing them with suggestions and insights that they may not have considered before, allowing them to improve the quality and efficiency of their work.
However, even with the help of ChatGPT, software developers are still required. As mentioned earlier, ChatGPT lacks the context and understanding of the underlying technology, making it incapable of making decisions based on business requirements, user needs, or the overall architecture. Furthermore, ChatGPT is limited by the data that it has been trained on, meaning that it may not be aware of newer technologies or industry trends.
In conclusion, ChatGPT is not a threat to software developers. Instead, it is a tool that can help them produce more efficiently and improve the quality of their work. Software developers are still required to design the architecture, understand the business requirements, and ensure that the code is efficient, maintainable, and scalable. ChatGPT can be a powerful tool, but it cannot replace the human expertise and understanding that software developers possess.