Ontologies for Software Project Management: A Review

Software Project Management is a knowledge intensive process that can benefit substantially from ontology development and ontology engineering. Ontology development could facilitate or improve substantially the software development process through the improvement of knowledge management, the increase of software and artefacts reusability, and the establishment of internal consistency within project management processes of various phases of software life cycle. A large number of ontologies have been developed attempting to address various software engineering aspects, such as requirements engineering, components reuse, domain modelling, etc. In this paper, we present a systematic literature review focusing on software project management ontologies. The literature review, among other, has identified lack of standardization in terminology and concepts, lack of systematic domain modelling and use of ontologies mainly in prototype ontology systems that address rather limited aspects of software project management processes


Introduction
Project Management (PM) is widely accepted today as an important management tool in business development and business success. In this context, a large number of PM frameworks, methodologies and approaches have been developed over the past few decades. Among the most popular are the "Project Management Body of Knowledge" (PMBOK) from Project Management Institute [1], the "IPMA Competence Baseline" (ICB) from International Project Management Association [2] and the "Projects IN a Controlled Environment" (PRINCE2) from the Office of Government Commerce in UK [3].
Similarly in the area of software engineering, the goal is to find repeatable processes that improve both productivity and quality. For this reason, a large number of software process models have been developed, namely Waterfall, Prototyping, RAD (Rapid Application Development), Incremental, Spiral, UP (Unified Process) XP (Extreme Programming), Scrum, etc. [4] attempting to address the optimal way to develop software based on the specialties of each problem domain and the characteristics of each software development paradigm. Even though software project management attracted significant attention from both industry and academia, a great number of projects still fail to meet their requirements in terms of time delays, cost overrun and quality restrictions. These failures are attributed to the facts that software projects are complex undertakings, relying heavily on human knowledge and human interaction. Many studies on various types of software projects have proven that their outcomes are far from the complete fulfilment of the initial requirements [5] [6].
Srikantaiah et al. [7] argued on the need of convergence of project management and knowledge management subject areas since knowledge management is becoming a very important element for project success and organizational performance. In order to achieve project knowledge management and knowledge reuse, several enabling activities and alternative approaches should be considered. One of these approaches is considered to be ontological engineering.
Gruber [8] defined ontology as the formal specification of a shared conceptualization. Ontologies allow the specification of concepts with attributes of a specific type. Concepts can be organized in a hierarchy (using the specialization relationship between two concepts). A general review regarding ontological engineering foundations and a survey of most well-known ontologies can be found in [9]. An illustration of the relationship between ontological engineering and other disciplines (software engineering and object oriented software development, in particular) is given in [10]. The most prominent and standardized ontology languages is OWL 2 [11] and among the development tools, Protégé ontology development tool has been widely used in many cases.
Ontology development in the field of project management and software engineering could benefit substantially the software development process through the improvement of knowledge management process, the increase of software and artefacts reusability, and the establishment of internal consistency within project management processes, to be used for specialized purposes in various phases of the software life cycle.
Considering the large number of ontologies developed, ranging from generic ontologies to domain and application specific ontologies and the lack of taxonomy and standardization, it is quite difficult for the researchers and the practitioners to evaluate and use these ontologies in a successful way and to develop further the concepts, the methodologies and the tools needed for applying the ontological paradigm to real life projects. This is the problem that this survey is attempting to address: to present in a systematic way the available in the literature ontologies addressing project management, as well as ontologies modelling specific software development lifecycles or addressing specific problem areas of software projects from the software project management perspective.
The remainder of the paper is structured as follows. Section 2 provides an overview of project management methodologies and of ontological engineering and defines the context of this survey. Section 3 presents the research methodology and Section 4 introduces the ontologies and offers a classification of them based on various criteria. The final section presents the conclusions and possible future research directions.

Project Management and Ontological Engineering
Traditional software development methodologies grew out of a need to control large development projects, and from the difficulties of estimating and managing these efforts to reliably deliver results. These difficulties are inherited in the nature of software and they were identified from the early years of software system development and unfortunately most of them still remain. Most of the scepticism expressed in the legendary book of Frederic Brooks, "the mythical man-month" thirty years ago is still a reality [12].
Agile methodologies attempt to overcome these obstacles by changing the approach used to develop software and manage projects. Agile software development attempts to put the software being developed first and to acknowledge that the user requirements change, responding quickly to the users' needs, producing frequent and regular, software releases, etc.
The Manifesto for Agile Software Development was released in February 2001 by a group of 17 software process methodologists, who attended a summit meeting to promote a better way of developing software and then formed the Agile Alliance. The Manifesto for Agile Software Development can be found on the Agile Alliance website 1 .
Since then, a number of software development methods subscribed to this approach. The list varies depending on different viewpoints and interpretations, but in general the list in the literature includes Extreme Programming (XP), Scrum, Feature-Driven Development (FDD), Adaptive Software Development (ASD), Crystal Clear Methodology, etc.
Most agile development methods were created within corporations by software process experts as an attempt to improve existing processes. For example, XP was created by Kent Beck during his work on the Chrysler Comprehensive Compensation System payroll project. Kent Beck refined the development method used and the result was published in his book "Extreme Programming Explained" [13]. Similarly, FDD was initially introduced by Jeff De Luca to meet the specific needs of a 15 month, 50 person software development projects at a large Singapore bank in 1997. FDD was influenced by ideas of Peter Coad on object modelling. The description of FDD was first introduced in the book "Java Modelling in Colour with UML" by Peter Coad, Eric Lefebvre and Jeff De Luca in 1999 [14]. A more generic description of FDD decoupled from Java can be found in the book "A Practical Guide to Feature-Driven Development" [15].
On the other end, more conventional methodologies rely heavier on processes, linear development cycles and waterfall like software development life cycles. Along with predictability, they inherited a deterministic, reductionist approach that relied on task breakdown, and was predicated on stability-stable requirements, analysis and stable design. This rigidity was also marked by a tendency towards slavish process "compliance" as a means of project control [16].
Project Management Body of Knowledge (PMBOK) developed by Project Management Institute is the best representative of this approach [1]. PMBOK formally defines a large set of project processes that describe activities throughout a project's life cycle. These processes are organized into two axes: into five process groups and into nine knowledge areas that will be described briefly in the following section. Within PMBOK each process is described in terms of inputs (documents, plans, design, other data, etc.), outputs (documents, products), tools and techniques (mechanisms that are applied to inputs for producing outputs) and without being too specific provides guidance to someone that wishes to apply the processes [1].
Similar approaches have been introduced by other international bodies or associations such as International Project Management Association (IPMA) 2 and the Association for Project Management in UK (APM) 3 . IPMA defined a Competence Baseline (ICB), which describes the necessary competences for project management. According to IPMA ICB three are the basic capabilities areas: a) contextual (project orientation, objective, portfolio; implementation of plans and portfolio; permanent organization; business; system, product and technology; personnel management; health, safety, security and environment; finance and legality); b) behavioural (leadership, liability and motivation; self-control; self-confidence; relaxation; openness; creativity; outcome orientation; efficiency; consultation; negotiation; conflicts and crisis; reliability, appreciation values, etiquette); c) technical (successful project management; interested parties; project requirements and objectives; risk and opportunity; quality; project organization; teamwork, problem resolution; project structure; scope, area and capability of fulfilment; time and project phases; resources; costs and finance; delivery and contract; changes of management and administration; information and documentation; communication; initialization; termination) [2].
Software engineering community has recognized quite early, ontologies as a promising way to address current software engineering problems [17] [18]. For example, ontologies are proposed to be used in requirement engineering, software design, software maintenance, software reuse and knowledge management etc. Moreover, software engineering technologies have been proposed and developed for modelling and reasoning with the use of ontologies. These synergies between ontologies and software engineering have also attracted attention of standardization bodies and have some on-going activities.
In order to facilitate the work of researchers and practitioners Happel and Seedorf [18] defined a simple classification scheme that allows a better differentiation among the various software engineering ontologies. They use two dimensions for ordering ontologies. Firstly, according to their position in the Software Engineering life cycle (analysis, design, development, testing, etc.) and, secondly, according to their usage.
Ruiz and Jilera [19] in their survey presented the state of the art with regard to use of ontologies in software engineering and software technology. They offered a taxonomy for software engineering ontologies and they presented representative cases of such ontologies. On the same topic Zhao et al. [20] classified available ontologies for semantic web based software engineering, and presented the overall picture in this area. According to Zhao, each ontology is characterised by: • The software process model used (e.g. Waterfall, Incremental, Spiral, Agile, etc.); • The software development phase (e.g. Requirements Engineering, Design, Implementation, Testing, Maintenance, All); • The artefact type (e.g. Software Architecture, Code and Document).
In this paper, and according to the taxonomies presented, we utilize Zhao [20] classification to review various software development ontologies presented in the relevant literature, according to the project management approach used, the software process employed, and the software development phase used.

Research Methodology
The aim of this paper is to study software project management ontologies in order to reuse/develop an upper software project management ontology that will be used for automated knowledge extraction from social networks. Having this as the main objective it becomes obvious that existing literature had to be reviewed in order to: • To better understand the fundamental concepts and the knowledge that constitute the software project management knowledge area; • To examine and if possible to evaluate software project management ontologies; • To determine the main application areas of the existing software project management ontologies.
The examined area is quite wide since it refers to the intersection of project management, software engineering, software life cycle processes and knowledge management In order to achieve these objectives, a systematic literature review, was conducted by the authors. This survey relied on surveying and using secondary sources [21].
The study consisted of two steps. The first step involved literature search, while the second step was focused on the taxonomy of the works and their critical analysis.
At the first step of the literature search, the authors attempted to locate and retrieve articles focused on ontologies that are related to: a) Project management in general; b) Project management knowledge areas based in PMBOK; c) Project management methodologies (e.g. ICB IPMA, PRINCE); d) Software process models; e) Software life cycle phases.
The study was mainly conducted with the use of Google Scholar 4 , since this tool is indexing texts from all major on-line repositories (e.g. Science direct, IEEE, and ACM). The study examined only books, articles in academic journals/conferences and grey literature while we excluded industrial white papers and articles on IT professional websites. Table 1 presents all the terms that were used for this research along with the number of works that satisfied the research queries.
Subsequently, the retrieved articles and materials were systematically and critically analysed. The inclusion criteria were: The study should be focused mainly on project management topics; The presented ontology or system should have a project management perspective; The study should be focused on software development or software maintenance processes (other studies were excluded).
The set of remaining works is presented in the next sections.

Ontologies Focusing on Project Management Process
The ontologies presented in this section are focusing on project management models without focusing software  projects. A short introduction to the main concepts of each ontology along with possible applications is presented. PROMONT [22] is a project management ontology developed to model project management specifications. It provides the basis of common vocabulary of terms and methods and thus enables better project management. PROMONT formalizes the typical elements used for project structuring (such as task, milestone, resource or checklist). Further PROMONT defines a set of relationships. The categorization builds on the fact that, just like concepts, relations can be arranged into a "is derived from" hierarchy.
Hughes [23] developed an ontology based on the PRINCE2 project management method [3]. The prototype ontology has been developed in OWL as a collection of axioms and using the Protégé 4 ontology editor. The produced ontology is used in checking the compliance of suppliers stated methods with standards. However, it presents difficulties for domain experts as its reasoning rules can be counter-intuitive.
Sheeba et al. [24] presented an ontology to be used for the automatic classification of learning materials according to PMBOK structure of knowledge. This facilitates the search for learning materials within the given domain. The Rational Unified Process (RUP) was used to define axioms describing the relationships between the main concepts.
Bodea et al. [25] developed SinPers system which is a web based personalized e-learning system focused on project management. The learning material that was used was structured with the development of an ontology that modelled International Project Management Association Competence Baseline (ICB) [2]. The ontology developed in SinPers contained 200 concepts, 406 competences, 366 learning objects, and various relationships.
Ruiz-Bertol et al. [26] used OWL and SWRL languages for defining the PM ontologies and rules, respec-tively. They presented an example of different types of rules that can be applied on this specific ontology. In this way, they demonstrate how further knowledge can be derived and, thus, decision-making for managing projects can be improved. Aramo-Immonen [27] explored project management by providing a PM ontology for managers. This ontology is a classification of management disciplines for project managers. The objective of this study is to help system integrators to manage the evolution of projects during their life-cycles in terms of this ontology. The disciplines defined in this ontology are project integration management, project scope management, project time management.
Dong et al. [28] proposed an ontology for a real-time project monitoring system (ORPSM). Their objective was to resolve the ambiguity issue in project monitoring processes produced by a number of factors. This ontology is part of a framework that incorporates a series of ontologies for knowledge management and term disambiguation by focusing on project monitoring processes, and a number of metrics for assisting management of project organizations to monitor projects.
Wong et al. [29] presented in their paper "Developing PMIS for Business Projects Based on Social Science Research Findings and Ontology Modelling" a model, to be used as a reference, to guide the business project management practice in order to increase chances of project success. Its representation as the Business Project Management (BProjM) ontology and expedites the injection of this new domain knowledge into a software solution. The ontology has been defined in Unified Modelling Language (UML); and provides an example of how the resulting model can be used as the foundation to support the development of an integrated Project Management Information System (PMIS) for business projects.
Further, a number of PM ontologies have been developed focusing on specialized PM subject areas. For example, Project Metrics Ontology (PMO) was an ontology originally developed by BBN Technologies/Verizon in 2002 and is not meant to cover all typical project management issues. Instead of this, it focuses on providing an ontology that represents metrics for a specific project. This allows for example to perform performance measurements of specific projects or sub-projects 5 .
IT-CODE is an ontology that was defined to describe the project team of a building project within the IC-CODE project itself. This ontology focuses on providing typical project management classes such as "Task", "Actor", "Project" or "Activity". It contains 32 different classes and an additional set of 26 properties 6 [30].
The OZONE ontology [31] is an ontology that focuses on task scheduling. It provides a generic perspective for building scheduling systems and was used for configuring constraint-based scheduling systems. In OZONE, scheduling is defined as a process for feasibly synchronizing the use of RESOURCES by ACTIVITIES to satisfy DEMANDS over time.
Similarly, Rajpathak et al. [32] developed a generic task ontology again focusing on scheduling. It is referred as a "task ontology" for emphasising that it describes the class of scheduling tasks, independently of the various ways by which these tasks can be solved. Further, it takes into account cost related issues.
On the subject area of human resource management, personnel selection, competence management, etc. are common issues addressed by Human Resource Ontologies. Mochol, Oldakowski and Heese [33] have developed a Human Resource Ontology to support the Recruitment Process. This HR-ontology is mainly based on the German version of the HR-XML standard developed by the HR-XML Consortium 7 . HR-XML is a library of more than 75 interdependent XML schemes which define data components for various HR transactions, as well as options and constraints governing the use of these components. The ontology was adapted so the Industry sub-ontology to use both the German Classification of the Industry Sector (WZ2003) and the North American Industry Classification System (NAICS). For the occupational classification the German Occupation Codes (BKZ) are used along the Standard Occupational Classification (SOC) System.
Dorn et al. [34] developed an ontology containing concepts of HRM for two different projects: a meta-search engine for job searching in job portals and for a university competence management system. In their paper, they presented the requirements derived from these two projects and they describe the design of the ontology. This ontology is characterized by its integration of job descriptions, concepts for evaluating competencies on different levels and evidences for competencies. The definition is also aligned to HR-XML for the definition of competence profiles. Schmidt and Kunzmann [35] [36] describe an ontology that integrates concepts from skill management and learning. Their approach is similar to Dorn et al. [34], however, they do not consider job descriptions composed of required competencies. In the same paper a holistic view of the organisation and of the HR problem area is presented showing how the ontology is covering different organizational aspects.
Gómez-Pérez et al. developed an ontology for HR based on standards [37]. More specifically, they developed SEEMP ontology as a common "language" as a controlled vocabulary in order to describe the details of a job posting and the CV of a job seeker. SEEMP Ontology is composed of thirteen sub-ontologies: Competence, Compensation, Driving License, Economic Activity, Education, Geography, Job Offer, Job Seeker, Labour Regulatory, Language, Occupation, Skill and Time.
Peng and Nunes [38] systematically analysed research works and proposed a total of 40 ERP post-implementation risks related to diverse operational, analytical, organization-wide and technical aspects. A risk ontology was subsequently established to highlight these ERP risks, as well as to present their potential causal relationships. An overview of the project management ontologies, their focus and their application is presented in Table 2. General approach of Project management The ontology represents project metrics in order to perform project performance measurements.

Smith and Becker/OZONE [31] Scheduling problem domain
The OZONE ontology is focusing on scheduling problems and can be apply from manufacturing production scheduling, project planning and it mainly concerned in modelling scheduling problem domain.
Rajpathak et al. [32] Scheduling problem domain The task ontology can now be used as a knowledge capturing tool in various domains for increasing reusability. The given ontological framework provides a fairly fine-grained structure that is needed to build the scheduling systems.
Mochol and Oldakowski [33] Human Resource Management/ Recruitment process To be used for the development of a recruitment platform.
Dorn et al. [24] Human Resource Management To be used for a meta-search engine for searching for jobs in job portals and for a university competence management system. The risk ontology can be used as a systematic tool and checklist for risk identification, assessment and management, as well as for strategic planning and decision-making.

Ontologies Focusing on Software Process Models
A software process ontology [20] defines software activities, phases, and process models. Each phase is specified by a sequence of activities, each process model is described by process phases and each activity is associated with the artefacts it produces. Generally, a software project regardless its size and type, follows a Software Development Life Cycle (SDLC). In this section, we will discuss ontologies that are coupled with specific SDLC, such as Scrum, RUP, etc. In the next paragraphs ontologies based on SDLCs are presented. Lin et al. [39] developed an ontology, named K-CRIO that allows the description of a specific kind of business processes: those that are dedicated to the design of a product. K-CRIO ontology describes the key concepts and relationships of software development process and it illustrates the use of the ontology by taking the example of the Scrum development process.
Santana [40] attempted to model Scrum [41] software methodology in OntoSCRUM ontology. The main purpose according to the author for this ontology was to reuse project artefacts and to share tacit knowledge within organizations and project teams.
Zualkernan [42] presented an ontology for Generating Assessments for the Scrum Process. The motive is to create assessments for a correct understanding of a process that can be used in a software development company.
Similarly Valaski et al. in [43] developed an ontology so called OntoRUP having as purpose to classify the learning material in software engineering. For this purpose they combined Software Engineering Body of Knowledge (SWEBOK) [44] and the Rational Unified Process (RUP) [45]. SWEBOK was used to define the structure of the software engineering knowledge area, while RUP was used for defining the axioms that represent relationships between concepts and to enable the reasoning to SWEBOK knowledge areas.
An alternative proposal for software process ontologies was made by Parson [46], who designed an ontology based on an analysis of a number of commonly used agile methods like Scrum [41], XP [13], FDD [14], etc. Parson took seven agile methods and attempted to summarize their terminology, and built an initial ontology of agile methods that attempts to encompass the various characteristics of commonly used methods. On this sense, his work can be considered as a generic ontology for agile process. Advancing on his research, Parsons [47] deals with Aspect Oriented Software development and agile methods integration. The author proposed an ontology enabled development based on an analysis of existing ontologies of aspect oriented programming, a proposed ontology of agile methods, and a derived ontology of agile aspect oriented development.
Ceravolo et al. [48] defined Extreme Programming Ontology (XPO), a formal model that describes the concepts of Extreme Programming (XP) methodology [13]. XPO is based on a set of core components modelling three main concepts: Organisational Role, Product and Phase. XPO can be used for indexing relevant documents, XP artefacts and Wiki pages, in order to mine and analyse agile processes, programmers' activity and repositories content.
Siddiqui and Alam [49] developed an ontology for Feature Driven Development (FDD) life cycle that can be used for application model development to feature design and implementation. Features are precisely defined in the OWL-based domain model. Transition from OWL based domain model to feature list is directly defined in transformation rules.
Capability Maturity Model Integration (CMMI) is a process reference model that was developed by the Software Engineering Institute (SEI) of Carnegie Mellon University. CMMI addresses the development and maintenance activities applied to both products and services. This model could be used for improving processes, and measuring the capability of a process or the maturity of an organization. CMMI components (including a model, its training materials, and appraisal related documents) are designed to meet the needs of some specific areas of interest, which is called constellation. There are three constellations as supported by the framework: CMMI for Development [50], CMMI for Services, and CMMI for Acquisition.
There are only a few studies on CMMI ontology in the literature. Soydan and Kokar [51] developed an ontology of the capability maturity model, the staged representation CMMI-SW (focusing on Software Engineering). The ontology has been developed in OWL-DL 8 . The ontology includes 309 classes and 4 kinds of properties (consistsOf, satisfiedBy, achievedBy and subClassOf).
Similarly, Sharifloo et al. [52] introduced an ontology for CMMI for Acquisition based on SUMO [53] upper ontology.
Gazel et al. [54] presented an ontology-based software process assessment tool which was developed to support data collection phase of process assessment and to track conformance of software processes to CMMI as the process reference model.
Using on the work of Soydan et al. [51], Rungratri and Usanavasin [55] developed Project Assets Ontology (PAO), an ontology which merges CMMI process areas and project assets. PAO was developed in the context of a framework called "CMMI v.1.2 based Gap Analysis Assistant Framework (CMMI-GAAF)" that has a primary objective the automatic gap analysis with respect to CMMI.
Lee et al. [56] [57] developed an ontology-based intelligent decision support agent (OIDSA) for project monitoring and control of capability maturity model integration (CMMI). Liao et al. [58] aimed to create generic Software Process Ontology (SPO) and strived to ensure that it covered the requirements of both CMMI and ISO/IEC 15504 [59]. A process was represented by atomic practices and to that end; an organization's process model could be represented by using SPO.
Líška and Navrat [60] presented an approach that uses Software Process Meta-Model (SPEM) [61] for improvements that are rooted in knowledge engineering approaches. They show how SPEM can be used in the Semantic Web technical space by developing a SPEM ontology. Consequently, they use this SPEM ontology for project plan generation and verification Falbo and Bertollo [62] based on the idea of standard software processes, created the Software Process Ontology -SPO. This ontology evolved over the last years, with help of a Foundational ontology (UFO, unified foundational ontology). In addition, Falbo et al. [63] evolved all these artefacts and created what he called Ontology Language Patterns for Software Process (OLP-SP). The idea lying behind was to define pieces of software process ontologies that can be reused by other ontologies. This ontology is shown to be expressive enough to be used as a common ground for mapping the software process fragments of standards such as ISO/ IEC 12207-ISO 9001:2000-ISO/IEC 15504, CMMI, RUP and SPEM.
In [64] an ontology model of software engineering to represent the knowledge needed in software development is presented. They have analysed the characteristics of software engineering ontology and defined graphical notations of modelling software engineering ontology as an alternative formalism.
Klieber et al. [65] introduced an ontology to automatically support the software documentation process. Therefore, they introduced a software documentation ontology that is populated automatically through analyzing source code, documentation and code executions and made accessible to developers via a wiki.
Guizzardi et al. [66] presented the latest developments in the UFO foundational ontology. In particular, they presented new versions of two fragments of UFO, namely UFO-B (concerned with events) and UFO-C (dealing with social and intentional concepts).
Sarantis and Askounis [67] developed a project management ontology as a reference for e-Government projects. Their model enables knowledge reuse, collaboration and interoperability between all stakeholders related with the implementation of such type of projects. On the same topic, Magoulas et al. [68] developed a quality ontology that formalizes all the needed knowledge for the realization of a multi-perspective and adaptive evaluation of e-government services.
ICONS project [69], even though it was a research project, developed a Structural Fund Project Knowledge Portal for managing projects of European Commission Structural Funds that included a domain ontology. This Domain Ontology provides the conceptual foundation for all knowledge management applications, mainly PM related, and included the Concept Glossary, which defined the Structural Fund domain ontology. Moreover, this ontology provided support for both expert and non-expert use of the underlying knowledge representations and knowledge management services, as well as support for the automatic inference engine helping users find and merge information.
Mendes and Abran [70] presented a prototype of an ontology, which is able to represent the domain of Software Engineering, based on the SWEBOK guide. A literal extraction from the guide results in approximately 4000 concepts.
Sicilia et al. [71] also proposes a SWEBOK based ontology with a descriptive part in order to identify artefacts and activities and prescriptive part, with approaches and concrete activities' rules for "commonly accepted" practical activities.
Hilera et al. [72] proposed an ontology called OntoGLOSE based on the Software Engineering Terminology Glossary, published by IEEE. OntoGLOSE includes about 1500 concepts, corresponding to 1300 glossary terms with their different meanings. Zualkernan [42] SCRUM To create assessments for a correct understanding of a process that can be used in a software development company. Valaski et al. [43] RUP, SWEBOK To classify the learning material in software engineering.
To summarize the terminology of agile software development methodologies terminology, and built an initial ontology of agile methods that attempts to encompass the various characteristics of commonly used methods. Ceravolo et al. [48] defined Extreme Programming Ontology (XPO)

XP
For analysis and mining of agile processes in order to identify critical factors in agile software development.
Siddiqui and Alam [49] FDD The ontology will be used for semantic web application, for feature design and implementation. Soydan and Kokar [51] CMMI-SW Modelling CMMI-SW.
Gazel et al. [54] CMMI The ontology was used to support the data collection phase of process assessment and to track conformance of software processes to CMMI as the process reference model. Rungratri  Klieber et al. [65] Expert Location To be used for knowledge discovery within "KnowMiner" framework with the primary goal to ease usage for non-knowledge discovery experts.

Sarantis and Askounis [67] E-Government
To be used for e-Government projects to enable knowledge reuse, collaboration and interoperability between stakeholders.
Magoulas et al. [68] Quality Management A quality ontology to be used for the evaluation of e-government services. OntoGloss ontology is used for a document annotation tool that uses pre-defined concepts in ontology to mark-up a document with software engineering terms.
Ruiz et al. [74] Software maintenance projects The ontology is part of MANTIS software engineering environment having as objective to reuse information, knowledge and expertise generated during the maintenance of software projects. García et al. [76] Software measurement For standardizing the software measurement terminology. González-Pérez and Henderson-Sellers [78] Software Development An ontology for software development methodology that include a metamodel and an architecture.
Lin et al. [39]/K-CRIO Process management K-CRIO is an ontology of organizations for their understanding, analysis and also enables reasoning. The K-CRIO ontology is illustrated by an example of a software development organization that follows the waterfall process. Fable et al. [79]/ODE Software Development To be used in an ontology based software development.
Settas and Stamelos [73] developed a Software Project Management Antipattern Intelligent System (PROMAISE) that uses antipattern ontologies in order to provide intelligent and up to date advice to software project managers regarding the selection appropriate antipatterns in a software project.
Beyond the above, the literature contains a large number of ontologies can be found for various engineering aspects such as metrics, software maintenance, software quality, various software processes, specialised subjects or sectors, etc. [74]- [78]. However, these ontologies are not focused on project management and as such they are not included in this paper. An overview of the ontologies focusing on software process models is presented in Table 3.

Conclusions
This paper confirmed that a large number of ontologies in the areas of software project management and of software engineering have been developed. The authors performed a systematic literature review and they focused on ontologies that address the project management process or on ontologies that enable Ontology-Enabled Development (ontologies are used as a support tool for developers). Further, even though in the case software project management lower level processes have been examined (e.g. project time management and project cost management), we have selected to examine only generic software engineering ontologies addressing well established and well known software engineering processes (e.g. RUP and CMMI) or practices (e.g. XP and Scrum). This choice was made since a very large number of ontologies have been developed to address software engineering specific subdomain (e.g. requirements management, analysis and design). In many cases, there are overlaps making it extremely difficult for the research to categorize ontologies in disjoint categories.
This systematic research has illustrated that the most important issue in ontology usage in the area of software project management is standardization. The large number of project management methodologies and of software process models creates an extremely difficult environment to comprehend and to use. The reasons that contribute to this complexity are the existence of various overlapping standards both in the areas of project management and in the areas of software engineering. Quite commonly ontologies based on SWEBOK or PMI include hundreds of concepts and terms. Further, the large number of available software process models makes knowledge sharing difficult. Secondly, in many cases studied ontologies are experimental which implies that they have not been used in real cases or they do not cover all subject areas of PM or all phases of software process.
From this study, it was made clear that a reference ontology in the subject area of software project management is missing. This ontology should be developed from an international and well established organization in order to increase the likelihood of increased adoption and of usage in real life cases.