Software development, conventionally called Systems Analysis and Design in technical schools usually follows the waterfall approach. In the early nineties, I was teaching SAD in a Government Engineering College in Goa to Post Graduate students. As time passed by more practical models of software development have emerged. This link explains some of the most popular software development models (click here). In general, software utilization process follows the three phases of software development, testing, deployment and maintenance. Each phase is very detailed and time consuming.
Digital Transformation is hitting the world by storm and organizations are transforming to the digital model at great speed. Companies these days are able to overcome competition and gain customer satisfaction based on the speed at which they are able to roll out new features and changes.
There is general talk on whether the new technology of Artificial Intelligence can help accelerate the process. While going through the article in Harvard Business Review of Feb '21 (click here), this issue was discussed in great detail. Some of the points are being highlighted here.
Since digital transformation is the key to remaining competitive, maximizing the productivity of the expensive and scarcely available software developers is very important. Usual situation is that software projects are delayed and developers and testers work overtime to ensure it is released before the competition. With more and more organizations taking to Digital Transformation and the trained quality human resources are not developing at a similar pace, is putting a strain on the system. It is a question of doing more with less, and it is the right situation for Artificial Intelligence to step in.
Developed codes pass through a basic process called unit testing which is time consuming, employing scarce resources. Advanced testing checking for integration, performance, functionality and security issues. The software testing globally is a $12 billion industry and much is presently being outsourced. leading to challenges of coordination and collaboration between the different stakeholders.Software development is very creative and may not be a ready candidate for AI automation for the time being, but testing can be automated by developing suitable algorithms that can write and execute tests much faster than their human components.
First of all, when it involves testing millions of lines of code, AI algorithms will surpass the human component any day, as it does not have issues of intellectual tiredness, errors creeping in and so on. Also under machine learning situations, these automated AI software solutions can get richer and more efficient and effective in detecting errors with each passing day and project.
Secondly, software and update releases come out more frequently leading to quicker customer feedback and faster error and conflict resolution. The software developers do not have to deal with unplanned work, are more satisfied with work and hence organizations find it easy to retain talent.
Thirdly software developers work with challenging creative projects that are able to utilize employee talents more creatively and attend to important unplanned work in the process of deployment.
In future we will find AI based automation taking over the software development, testing, deployment and maintenance functions more effectively than their human counterparts, leading to automating writing application software and releasing revisions more frequently. Open AI's massive language model GPT-3, is presently being used to translate natural human language into web page designs leading to finally automation of the coding tasks.
George
No comments:
Post a Comment