Integration of artificial intelligence activities
in software development processes and
measuring effectiveness of integration
ISSN 1751-8806
Received on 2nd May 2016
Revised on 26th July 2016
Accepted on 16th September 2016
doi: 10.1049/iet-sen.2016.0095
www.ietdl.org
Rajesh H. Kulkarni
1
✉
, Palacholla Padmanabham
2
1
Department of Computer Engineering, JSPM NTC, Pune, Maharashtra, India
2
Department of Computer Science and Engineering, BIET, Hyderabad, Telangana, India
✉ E-mail: 2015rajeshkulkarni@gmail.com
Abstract: Recently, the modelling of whole process of software (SW) development is performed using extended waterfall and
agile models. The further advancement of extended waterfall and agile models in the main phases like communication,
planning, modelli ng, construction and deployment can improve th e overal l quality of the product. Ac cordi ngly, in this
study, artificial intelligence (AI) activities are integrated into SW development processes. The important AI activities like
intelligent agents, machine learning (ML), knowledge representation, statistical model, probabilistic methods, and fuzzy are
integrated into the extended waterfall model. Again, AI activities like intelligent decision making, ML, Turing test, search
and optimisation are integrated into the agile model. Two metrics such as, Usability Goals Achievement Metric and Index
of Integration are evaluated in five independent SW projects. Once SW projects are developed using these models,
feedback queries have been collected formally and the collected data are extensively analysed to identify the individual
characteristics of products, identifying correlation behaviour of products with respect to model and metrics.
1 Introduction
In recent years, there is a remarkable growth in research in software
(SW) development field. A well-known publication on waterfall
scheme was presented by Winston Royce’s in the year 1970 [1].
Waterfall scheme is the method that made a revolution in SW
development field, where the SW development is considered to be
tremendously complex and user-specific and several limitations
may occur when it is not properly arranged. The waterfall scheme
acts as the traditional way for SW development. In waterfall
model, communication, planning, modelling, construction and
deployment are the important stages. Moreover, this model
consists of iterations in the form of system development life cycle
phases. The waterfall model provides a lot of advantages to the
SW developers. The first advantage is that the staged development
cycle enforces control since a phase will certainly have a starting
and ending, which permits the salesperson and the clients to set
targets to decide the developments in a significant way. As the
requirements and design are defined before the execution of code,
the effort to be applied and the time will be minimised, hence, the
divergence from the schedule is avoided.
Attaining the requirements and design at the early stage provides
many advantages including quality enhancement. Furthermore, the
faults that are expected to happen can be revealed and corrected in
the design stage itself. In the testing phase, all the elements will be
integrated and thus detecting the faults and correcting it will be
complex and hence it is not performed. The starting two phases
results in a proper specification and so, the purpose of waterfall
model is to aid in expressing the knowledge to the team members
dispersed in several locations. The application of waterfall process
is possible only if the entire requirements presents for
re-engineering the currently available SW. This model cannot be
used for business purposes due to the existence of iterations
between the phases. Furthermore, it requires more time and cost
for the system development and implementation. If the
requirements of the customers are uncertain, then definitely it will
results in failure. Collecting the whole requirement details is
extremely not possible in the initial stage of the project and this
model works only after providing all the requirements [2].
In this paper, essential artificial intelligence (AI) activities,
methods, deliverables and skills are identified and integrated in
SW engineering (SE) processes. This work is about to integrate AI
activities and proposes extended waterfall and agile models. This
approach is to integrate all the essential AI activities with a point
in the SE process where the AI deliverables will be most useful,
and at the same time to keep the original intents of the SE
processes intact. The integrated AI activities in extended waterfall
and agile models are then evaluated using two metrics such as
Usability Goals Achievement Metric (UGAM) and Index of
Integration (IoI) which are used to demonstrate the impact of
integrating AI activities. The first metric UGAM is a product
metric that measures the extent to which the design of a product
achieves its user-experience goals. The second metric IoI is a
process metric that measures the extent of integration of the AI
activities in the SE process. The paper is organised as follows:
Section 2 presents the literature review and Section 3 presents the
AI activities. Section 4 presents integration of AI activities in
extended waterfall model and Section 5 presents the integration of
AI activities in extended agile model. Section 6 presents the
experimental study and Section 7 concludes the paper.
2 Literature review
In the literature, the discussions on various phases involved in SE
like communication, modelling, planning, construction and
deployment [3] can be seen. Hutchinson et al. [4] have dealt with
a development process containing four stages, which depends on
the components. The implementation of this model was naturally
found to be more complicated. Instead of employing in-house
development, the integration of the off-the-shelf components with
the freshly developed components was the central theme behind
this model and it failed to make use of the repository. Costabile
[5] has discussed the means with which the human–computer
interaction (HCI) activities and the waterfall model can be
integrated. Göransson et al. [6] have come up with a novel
discipline, termed as the usability design, to achieve integration
between the HCI activities and the rational unified process. Joshi
IET Software
Research Article
IET Softw., 2017, Vol. 11, Iss. 1, pp. 18–26
18
&
The Institution of Engineering and Technology 2016