Open In App

Introduction to Exploratory Style of Software Development

Improve
Improve
Like Article
Like
Save
Share
Report

Exploratory program development style refers to an informal development style or builds and fix the style in which the programmer uses his own intuition to develop a program rather than making use of the systematic body of knowledge which is categorized under the software engineering discipline. This style of development gives complete freedom to programmers to choose activities which they like to develop software. This dirty program is quickly developed and bugs are fixed whenever it arises.

This style does not offer any rules to start developing any software. The following block diagram will clear some facts relating to this model :

Figure – Exploratory style of software development

In the above diagram, the first block is the initial briefing by the customer i.e brief introduction of the problem by the customer. After the briefing, control goes to initial coding i.e. as soon as the developer or programmer knew about the problem he starts coding to develop a working program without considering any kind of requirement analysis. After this, the program will be tested i.e bugs found and they are getting fixed by programmers. This cycle continues until satisfactory code is not obtained. After finding satisfactory code, development gets completed. 

Usage: 

This style of software development is only used for the development of small programs. Nowadays, this style is only used by students in their labs to complete their assignments only. This style is not really used in industries nowadays. 

What’s wrong with this model? 

In an exploratory development scenario, the effort and time required to develop professional software increase with an increase in program size. An increase in development effort and time with problem size has been indicated in the following figure :

Figure – Increase in development time and effort with problem size.

In the above figure, the thick line plots represent the case in which the exploratory style is used to develop a program. As program size increases, required effort and time increase almost exponentially. For large problems, it would take too long and cost too much to be practically meaningful to develop a program using the exploratory style of development. The exploratory development approach is said to break down after the size of the program to be developed increases beyond a certain value. The thin solid line is used to represent a case when development is carried out using software engineering principles. In this case, it becomes possible to solve a problem with effort and time that is almost linear in program size dotted line is used to represent a case when development is carried out by an automated machine. In this case, an increase in effort and time with size would be even closer to a linear increase with size. Exploratory style causes perceived difficulty of a problem to grow exponentially due to human cognitive limitations because whenever the case arises in which a number of independent variables increases in the project then it is beyond the grasping power of an individual and due to this requires more effort.

 You may still wonder that when software engineering principles are used, why does the curve not become completely linear? The answer is that it is very difficult to apply decomposition and abstraction principles to completely overcome problem complexity. 

The shortcoming of this model:

  • Using this model, there is the exponential growth of development time effort and cost with problem size and large-sized software becomes almost impossible using this style of development.
  • This style of development results in unmaintainable code because programming without planning always results in unstructured and poor-quality code.
  • Also, it is difficult to use this style when there is a proper developing team because in this style every developer uses his own intuition to develop software.

Last Updated : 05 Dec, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads