Building PPMs Using Support Vector Machine (SVM) and Artificial Neural Network (ANN)

Support Vector Machine (SVM) and Artificial Neural Network (ANN) are concepts/methods employed in the field of Artificial Intelligence and can be useful in building Process Performance Models (PPMs) that in some sense learn and evolve as more data points are fed into them.

What are the key characteristics and advantages of PPMs built using SVM and ANN? Here are some:
  • The PPM can dynamically adjust to underlying changes in the process in the range of Ys and Xs that was used while building the PPM
  • Many of the subjective and fuzzy factors that are important in the software development process can be more effectively modeled. Software development process is influenced by following fuzzy factors, whether or not they can be easily modeled:
    • Competency level of team members on various activities like architecture, design, coding, reviews, testing and in the domain/technology
    • Complexity level of the work being performed
    • Mental fitness level of the team members (remember human brain is the machine used for manufacturing software so if a software engineer is overworked or had a fight at home in the morning it might affect the quality of work performed)
    • Clarity level of requirements provided by the customers and also as understood by the project team (customers themselves may not know what they want until late in the project when they start seeing the first few screens, demos, etc.)
    • Clarity level of the technical solution envisaged by the project team (this might be a big factor in case of projects in new areas or yet-to-be-stable technologies.)
  • SVM and ANN can be used to build a PPM that handles the Y and X relations in an evolutionary manner where a series of Xs influence a Y which along with another set of Xs and maybe some Ys also influence another Y. The PPM in this case is an inter-connected network model (not the typical regression equation that one thinks of at the mention of the term PPM). By being a network model the PPM in case of SVM and ANN has, in effect, n-levels.
  • SVM and ANN based models represent the process to a high degree of fidelity. The various sub-processes, sub-sub-processes, sign linkages, input and control factors can be represented in a SVM or ANN with all its richness and variants to make it almost at par with the real process.
Having understood the advantages of PPMs built using SVM and ANN the question that naturally arises is why are they not being used that widely for PPM building and for building models in areas other than CMMI high maturity? Here are some challenges and constraints associated with PPMs built using SVM and ANN:
  • Building meaningful PPMs based on SVM and ANN assumes the PPM builder has a fine and granular understanding of the sub-processes, sub-sub-processes, "probable" sign linkages based on physical reality, input and control factors
  • Building meaningful PPMs based on SVM and ANN takes long with one of the primary reason being that extensive data are required to be collected.
  • Data used for building PPMs based on SVM and ANN needs to be highly accurate for correctly mapping the relations between a set of Xs and Ys
  • Due to significant, sudden change in the process (which leads to changes to several sub-processes, sub-sub-processes,  input and control factor) the SVM and ANN may be rendered totally ineffective and building the "revised" PPM may take long.
  • SVM and ANN are concepts that are not easy to learn and the PPM builders are required to build statistical expertise of a very high order.
In the end, however, it can be said that PPMs built using SVM and ANN can be much more powerful and hence more useful as compared to PPMs built using Regression and other techniques.

Even if PPMs built using SVM and ANN are not used the exercise of trying to build PPMs using SVM and ANN would allow a profound understanding of the overall process being modeled in terms of the constituent sub-processes, sub-sub-processes, "probable" sign linkages based on physical reality, input and control factor. This deeper understanding will surely help make PPMs built using Regression for example much better than otherwise.

No comments:

Post a Comment