Azdan AgilePM is an Artificial Intelligence Project Management tool. AgilePM fully integrated with Oracle Netsuite and it produced based on “Adaptive Fuzzy Query Approach for Measuring Time Estimation and Velocity in Agile Software Development” scientific research published in CiiT scientific international journal mentioned in reference. The main objective of this article is to clarify the foundations on which the AgilePM tool is built (A- Agile Software Development and B- Artificial Intelligence Fuzzy Queries in Database).

Introduction

Many companies need to estimate the size of what they are building and measure the velocity or rate at which they can get work done. Depend on that information; the companies can derive the likely product development duration and the corresponding cost. The estimation in the domain of product development depends on forecasting the amount of work effort required to produce the product or service. Estimation is usually uncertainty, imprecise and vague in nature, which unfortunately is used in prediction and speculated building the entire business decisions. To estimate the close time to reality, it should depend on historical data related to that team velocity, equivalent team velocity, or tasks close to estimated tasks. Based on artificial intelligence field fuzzy set theory and data-sensitive fuzzy sets, this article proposes the Azdan AgilePM (Agile Artificial Intelligence Project Management Tool) as a more flexible fuzzy set-based approach for supporting adaptive time estimation and velocity in agile software development according to the user profiling criteria based on rates with scalable values, accordingly time estimation and velocity will vary depending on historical data in the current database state in a human-like query manner.

Agile Software Development

Azdan AgilePM

Agile Software Development (ASD) is both a philosophy and an umbrella methodology for a set of methods or approaches (such as Scrum, eXtreme Programming (XP), Feature Driven Development (FDD), Dynamic Systems Development Method (DSDM), Adaptive Software Development (ASD), Crystal, and Lean Software Development (LSD).) that share general agile characteristics. To arrive at a brief working definition. ASD an iterative and incremental approach to software development which is performed in a highly collaborative manner by self-organizing teams within an effective governance framework with “just enough” ceremony that produces high quality software in a cost effective and timely manner which meets the changing needs of its stakeholders. ASD can be categorized into six foundations, almost Twenty-two principles pops-up from those foundations. The following table.1 represent agile foundations and principles.

Foundations of Agile Principles

Artificial Intelligence Fuzzy Queries in Database

Fuzzy SQL is a powerful extension to the Structured Query Language (SQL). Conventional SQL joins tables and screens (or selects) rows based on comparisons using Boolean Logic and ordinary arithmetic. Fuzzy SQL allows defines semantic concepts namely linguistic variables, linguistic values, linguistic hedges and fuzzy numbers on data elements. A linguistic variable is a variable having fuzzy (i.e. linguis-tic) values. For example, the linguistic variable “task unit” may have the linguistic values “large”, “Medium” And “short”.  Each of such fuzzy values is represented by its membership function. The fuzzy vales “TaskUnit”, “Medium” and “short” are shown in figure 2. Four different levels can be distinguished in the definition of a linguistic variable as shown in figure 6. At the top level, we have the name of the variable (e.g., TaskUnit). At the level below it, we have the labels of fuzzy values (starting with an initial set of values called primary values or term set). Further down, we have membership values, and at the bottom, we have a universe of discourse.

Fig. 6. The linguistic variable “TaskUnit” with a set of linguistic values: “Large”, “Medium” and “Short”

It is important to observe that linguistic variables have a dual nature; at higher levels, we have a symbolic linguistic form, and at lower levels, we have a wall–defined the quantitative analytical form that is the membership function. After defining the set of fuzzy linguistic terms, it can be easily used to specify the criteria of the selection operation from a database. For example, the user can generate a query statement to retrieve tasks with a large unit and medium value.

Reference:  Adel A. Sabour and Nagy R. Darwish, “Adaptive Fuzzy Query Approach for Measuring Time Estimation and Velocity in Agile Software Development”, CiiT Coimbatore Institute of Information Technology, International Journal of Fuzzy Systems, Vol 10, No 5 (2018), http://www.ciitresearch.org/dl/index.php/fs/article/view/FS052018004.