Constantinos Stylianou
University of Cyprus
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Constantinos Stylianou.
international conference on tools with artificial intelligence | 2012
Constantinos Stylianou; Simos Gerasimou; Andreas S. Andreou
Software project managers are often faced with challenges when trying to effectively staff and schedule projects. Incorrectly planning and estimating the execution of tasks frequently causes software projects to be delivered late and/or over budget, whereas not selecting the appropriate developers to carry out tasks may produce lower-quality, defective software products. To combat these challenges, this paper presents IntelliSPM -- a tool aiming to support software project management activities consisting of several optimization mechanisms borrowed from the area of Computational Intelligence. The tool takes into account technical aspects but also significant human factors, which have been found to play a crucial role in software quality and developer productivity. The purpose of IntelliSPM is to offer suggestions to project managers containing a set of possible project schedules and staffing strategies that minimizes duration and maximizes resource usage. Several simulated and real-world projects were used during the validation process, with results showing that IntelliSPM is capable of providing that much-needed practical benefit to software companies to improve various aspects of development, such as performance and job satisfaction, whilst keeping within the general objectives and particular constraints of each software project.
ieee international conference on fuzzy systems | 2008
Nicos H. Mateou; Andreas S. Andreou; Constantinos Stylianou
This paper introduces a new algorithm for traversing and executing multilayered fuzzy cognitive maps (ML-FCMs) that aim to enhance this methodology, which is designed for handling complicated large scale problems. The methodology is based on the decomposition of the parameters of the problem under investigation into smaller quantities, organised in a hierarchical structure forming a multilayered FCM model. The present work aspires to eliminate the weaknesses of the existing ML-FCM algorithm, which reside in the way activation levels are calculated for those concepts decomposed into a set of parameters at lower layers in the map. The current algorithm calculates these levels by completing a full iteration cycle at the lower level thus losing the information produced between the iterative steps. We attempt to solve this problem by introducing the enhanced ML-FCM algorithm, (EML-FCM) which allows calculations in-between iterations and takes into consideration the change of activation levels in a more detailed form. The strong features of the proposed EML-FCM algorithm are presented and discussed, in addition to the provision of a comparison between the two algorithms.
Intelligent Decision Technologies | 2013
Constantinos Stylianou; Andreas S. Andreou
Allocation of human resources is considered one of the most important activities carried out by software project managers, since human resources are essentially the only type of resource utilized in software development. Part of human resource allocation involves the scheduling of tasks and the staffing of teams with suitable developers, which for project managers are activities that are often very difficult to carry out due to the large number of possible permutations and factors influencing selection. In addition, no standardized technique is available for software project managers that can be adopted to carry out these activities. Consequently, proper human resource allocation is now gradually being regarded as a critical factor that can influence software project success and can directly contribute to providing customers with software products on time, within budget and with the adequate level of quality. The aim of the research work, therefore, is to form an approach to help software project managers undertake the responsibility of scheduling projects and forming teams in the best possible way given a set of tasks and developers. The approach employs a multi-objective genetic algorithm to optimize various aspects of scheduling and staffing in the form of objective functions with respect to project duration and developer skills and at the same time handling constraints concerning task dependencies and assignment conflicts. The approach was assessed using a set of scenarios of varying project size and complexity that depict possible real-world software project instances. The results obtained show that the proposed approach is capable of providing feasible project schedules and team assignments for software projects with differing sizes and complexities, whereas its ability to provide optimal solutions is limited by the complexity of software projects. Software project managers do not always have the same goals and criteria when planning for projects. Therefore, the approach described here, which is able to offer a balance between several objectives, can provide significant practical value to project managers in software development organizations.
international conference on tools with artificial intelligence | 2007
Constantinos Stylianou; Andreas S. Andreou
The provision of embedding neural networks into software applications can enable variety of artificial intelligence systems for individual users as well as organizations. Previously, software implementation of neural networks remained limited to only simulations or application specific solutions. Tightly coupled solutions end up in monolithic systems and non reusable programming efforts. We adapt component based software engineering approach to effortlessly integrate neural network models into AI systems in an application independent way. As proof of concept, this paper presents componentization of three famous neural network models i) multi layer perceptron ii) learning vector quantization and iii) adaptive resonance theory family of networks.
international conference on information and communication technologies | 2006
Nicos H. Mateou; Andreas S. Andreou; Constantinos Stylianou
This paper proposes an extension to multilayered fuzzy cognitive maps (ML-FCMs) and introduces a new methodology based on ML-FCMs aiming at enhancing their capabilities for scenario analysis and forecasting. The main issue here is the decomposition of the parameters into smaller, more manageable quantities, organised in a hierarchical structure forming a model, which consists of subsystems working together and supporting a central objective. The modelling of a particular large scale system is primarily represented by a main, central FCM, with distinct sub-models (layers) implemented also as FCMs and linked together in a hierarchical tree structure. The sub-models represent and implement (in computational terms) the decomposed parameters and variables of the system, thus offering the ability of isolating and studying critical parts of the system. The objective of the evolutionary multilayered FCM approach, as it is proposed in this work, is to improve the decision-making process of basic ML-FCMs by integrating a genetic algorithm (GA) for the production of a set of solutions in the form of new weight matrices for any targeted activation level throughout the multilayered structure
WSTST | 2005
Nicos H. Mateou; Constantinos Stylianou; Andreas S. Andreou
This paper presents the key concepts of an integrated software tool designed to contribute to the decision-making process in the field of crisis modelling and management. The tool relies on the use of Fuzzy Cognitive Maps (FCMs), which combine elements of fuzzy logic and neural networks to depict a cognitive scene of interacting concepts (nodes/levels) and their causal relationships (edges/weights). The proposed application provides the policy maker with the ability to input data from various domain experts in the form of activation levels and weight values, and to model the parameters of a certain environment. Simulations may then be performed and their results are presented and analysed for inference purposes and decision-making.
Software Project Management in a Changing World | 2014
Constantinos Stylianou; Andreas S. Andreou
Software project management consists of a number of planning, organizing, staffing, directing and controlling activities. Human resources feature prominently in all of these activities and, as a consequence, they can affect and determine project management decisions. Therefore, in order to help guarantee the success of a software project, managers must take into consideration this type of resource when performing the aforementioned activities. This chapter specifically investigates human resources from a planning perspective and, in particular, focuses on the responsibilities of allocating developers and teams to project tasks, scheduling developers and teams, as well as forming development teams. These responsibilities are often challenging to undertake because they are accompanied by time, budget and quality constraints, which software project managers find difficult to balance correctly. The purpose of the chapter is to explore the most recent research work in the field of human resource allocation and scheduling, and to specifically examine the motivation behind each approach and the goals and benefits to real-world practitioners. In addition, the chapter investigates development team formation, which can be considered as an indirect method of allocating human resources to a software project. This perspective, in particular, sheds light on current and future trends, which lean towards incorporating human-centric aspects of software development in planning activities.
artificial intelligence applications and innovations | 2012
Constantinos Stylianou; Andreas S. Andreou
This paper proposes a multi-objective genetic algorithm for software project team staffing that focuses on optimizing human resource usage based on technical skills and personality traits of software developers. Human factors are recognized as critical aspects affecting the rate of success of software projects, as well as other properties, such as productivity, software quality, performance, and job satisfaction. However, managers often rely solely on technical criteria to staff their projects, which risks overlooking these important aspects of software development, such as the abilities and work styles of developers. The behaviour and scalability of the algorithm was validated against a series of hypothetical projects of varying size and complexity, and also through a real-world project of an SME in the local IT industry. The approach demonstrated a sufficient ability to generate both feasible and optimal staffing solutions by assigning developers most technically competent and suited personality-wise for each project task.
EANN/AIAI (2) | 2011
Constantinos Stylianou; Andreas S. Andreou
Software development organisations are under heavy pressure to complete projects on time, within budget and with the appropriate level of quality, and many questions are asked when a project fails to meet any or all of these requirements. Over the years, much research effort has been spent to find ways to mitigate these failures, the reasons of which come from both within and outside the organisation’s control. One possible risk of failure lies in human resource management and, since humans are the main asset of software organisations, getting the right team to do the job is critical. This paper proposes a procedure for software project managers to support their project scheduling and team staffing activities – two areas where human resources directly impact software development projects and management decisions – by adopting a genetic algorithm approach as an optimisation technique to help solve software project scheduling and team staffing problems.
Advances in Engineering Software | 2016
Constantinos Stylianou; Andreas S. Andreou
Proposed approach adopts MOGAs to minimize software project cost and duration.Solutions representing resource allocations and task schedules are evolved.Objective functions consider productivity of developers and task interdependence.The performance and scalability of four MOGAs were compared using several datasets.MOCell, NSGA-II and SPEA2 outperform PAES in the majority of project instances. One of the most important activities in software project planning involves scheduling tasks and assigning them to developers. Project managers must decide who will do what and when in a software project, with the aim of minimizing both its duration and cost. However, project managers often struggle to efficiently allocate developers and schedule tasks in a way that balances these conflicting goals. Furthermore, the different criteria used to select developers could lead to inaccurate estimation of the duration and cost of tasks, resulting in budget overruns, delays, or reduced software quality. This paper proposes an approach that makes use of multi-objective optimization to handle the simultaneous minimization of project cost and duration, taking into account several productivity-related attributes for better estimation of task duration and cost. In particular, we focus on dealing with the non-interchangeable nature of human resources and the different ways in which teams carry out work by considering the relationship between the type of task interdependence and the productivity rate of developers, as well as the communication overhead incurred among developers. The approach is applied to four well-known optimization algorithms, whose performance and scalability are compared using generated software project instances. Additionally, several real-world case studies are explored to help discuss the implications of such approach in the software development industry. The results and observations show positive indications that using a productivity-based multi-objective optimization approach has the potential to provide software project managers with more accurate developer allocation and task scheduling solutions in a more efficient manner.