Skip to content
Research & Projects

Research & projects

Four ongoing research tracks, ten supervised research projects and the student work that feeds them.

Research tracks

Empirical research tracks

Each track publishes its specifications, the systems it was evaluated against and the full detection results.


In progress

Projects in progress

Seamlessly scaling agile for large organisations on a long‑term basis through strategic learning for leadership

Read the abstract

Agile is not suited to large organisations having multiple teams, and it is also silent about its implementation on a long‑term basis. Because the software industry is a knowledge‑intensive industry, there is a need to create learning opportunities and knowledge‑sharing activities alongside agile implementation. These are very important aspects for an organisation seeking to gain business and sustain itself in an ever‑changing, competitive and economically stressed environment. As a result, available resources must be used in the best possible way, and the organisation must excel in the latest technological developments to gain an extra edge.

The proposed methodology, “Seamless scaling agile for large organisations on a long‑term basis through strategic learning for leadership”, is an effort to make agile compatible with long‑term use in large organisations having multiple teams. The heart of this methodology is the rotational learning‑for‑leadership technique. It is suitable for implementation alongside agile and lowers employee burnout through satisfaction and motivation, while employees’ technical skills and leadership qualities are also improved. The outcome of this approach is continuous organisational improvement and a competitive edge, ultimately leading an organisation to obtain and sustain the status of market leader. The methodology has been validated in Pakistan, Sweden and Italy, and the results show that it is widely acceptable.

Implementing CMMI project management process areas using agile methods

Read the abstract

Agile software development methods have been practised in recent years, and small and medium‑sized software development organisations are adopting them rapidly. Using agile methodologies with collocated small teams, quality software can be developed even in changing environments — changing requirements, technology or platform. High‑quality software can only be developed in such an environment if projects are managed properly, and project management therefore plays an important role in software projects.

Software development organisations implement Capability Maturity Model Integration (CMMI) to improve their processes and to achieve software quality. CMMI categorises different disciplines into process areas for software development, and the key process areas (KPAs) of every CMMI level must be followed by software development organisations. Existing agile practices have limited support for CMMI, and there is a large gap between agile practices and CMMI standards — the two contradict each other in many aspects. In this study a framework is presented that combines agile practices to meet the software project management process areas of CMMI.


Completed

Completed projects

Eight completed research projects, all supervised by Dr. M. Rizwan Jameel Qureshi.

An effective framework for Scrum development methodology using the XP model

Read the abstract

An agile development methodology includes the best software engineering practices, allowing efficient delivery of quality software. Agile development approaches are aligned with customer requirements and company objectives. Scrum is one of the most extensively exercised agile methodologies for efficient project management; it is based on an iterative, incremental methodology that provides the ability to manage and develop complex projects, and it is a framework within which various processes and techniques can be employed. Extreme Programming, by contrast, consists of software engineering practices for producing quality software — practices that are simple in nature and able to adapt to changing requirements.

Both of these processes have their own limitations. Scrum does not provide any direction about how to engineer the product; the project team has to adopt a suitable agile process model for software development. Extreme Programming is more focused on software engineering practices than on managing the project. A fine integration of software management and engineering practices is therefore badly needed, and would provide the ability to build quality software that is valuable to the client.

In this research a novel framework, eXScrum, is proposed. eXScrum is an express version of the Scrum model with built‑in software engineering practices necessary for software development. The proposed eXScrum model contains both Scrum and XP practices in order to produce a quality software product aligned with customer requirements and company objectives. To validate the proposed framework a controlled case study was conducted, in which software was developed under the guidelines of the eXScrum framework. The effectiveness of the proposed framework is demonstrated when the results of the case study are compared with ordinary Scrum and XP process models.

Hybrid software development approach for small to medium scale projects: RUP, XP & Scrum

Read the abstract

Document‑driven approaches to software development provide a very structured and formalised way of handling stable requirements. That is why these approaches are beneficial when dealing with large‑scale projects, owing to their straightforwardness. The Rational Unified Process is one of them, following an iterative and incremental approach to software development. Requirements change during the course of software development, and it is almost impossible to stop requirements from changing because of changing business needs and the evolution of new technology. These changing requirements directly affect the cost, schedule, design and architecture of the application, and consequently lead to poor‑quality development. That is why these conventional approaches are unable to provide dramatic progress in productivity, simplicity and reliability.

Agile can be called the most appropriate solution provider to these changing effects, due to its small releases, constant customer feedback and early release. Extreme Programming is one of the most useful agile methods, providing the best engineering practices for a good‑quality product at small scale. Scrum is an agile method that constitutes best practices for project management and progress tracking, especially for small‑scale projects. XP is well known for engineering practices such as pair programming, user stories, test‑driven development, simple design and collective ownership, which increase quality and team productivity.

This thesis highlights some of the characteristics, strengths and weaknesses of RUP, XP and Scrum, and proposes a novel framework combining the strengths of all three in order to achieve high‑quality projects and enhance team productivity. The result is a process model that provides dramatic progress in productivity, simplicity and customer satisfaction, while remaining well‑defined and structured for small to medium scale applications. A controlled case study was conducted to validate the proposed framework under its own guidelines, and the research compares the results of that case study with ordinary Scrum, XP and RUP at small scale.

Implementing CMMI project management process areas using Extreme Scrum

Read the abstract

Agile software development methods have been practised in recent years, and small and medium‑sized software development organisations are adopting them rapidly. By using agile methodologies with collocated small teams, quality software can be developed even in changing environments such as requirements, technology and platform. High‑quality software can only be developed in such an environment if projects are managed properly, and project management plays an important role in software projects.

Software development organisations are implementing Capability Maturity Model Integration (CMMI) to improve processes in order to develop high‑quality software. CMMI is categorised into five levels, which are further divided into key process areas (KPAs). Existing agile practices have very limited support for CMMI; there is a large gap between agile practices and CMMI standards, and both contradict each other in many aspects. In this study a model is presented that combines the practices of XP and Scrum to meet the software project management process areas of CMMI. The research study was conducted through a questionnaire‑based survey of experienced professionals and two case studies.

Normalisation completeness for a conceptual model using quantitative fuzzy functionality

Read the abstract

In this work a new approach to measuring normalisation completeness for a conceptual model is introduced, using quantitative fuzzy functionality. Normalisation completeness of the conceptual model is measured in two steps. In the first step, different normalisation techniques are analysed up to Boyce‑Codd Normal Form (BCNF) to find the current normal form of the relation. In the second step, fuzzy membership values are used to scale the normal form between 0 and 1. The research incorporates case studies to explain the schema transformation rules and measurements.

Normalisation completeness is measured by considering completeness attributes, preventing attributes and the total number of attributes of the functional dependencies related to the relation. If a functional dependency is non‑preventing then the attributes of that functional dependency are completeness attributes. The attributes of a functional dependency which prevent progress to the next normal form are called preventing attributes.

Importance of implicit coordination in performance enhancement for Scrum sprint zero

Read the abstract

The Scrum model always welcomes the incorporation of new requirements from the customer side into existing ones. This situation creates a problem for the development team in meeting estimated timelines, and as a result the Scrum development team remains under a high workload most of the time. To overcome this work pressure and meet quality demands within the estimated time and cost, a high degree of coordination among team members is required. The Scrum model emphasises coordination through communication in order to cope with changing requirements.

Scrum development today faces new challenges in meeting high quality demands in a critical timeline environment. The ability to act intelligently in such a situation is gaining an important position in the survival and success of an organisation. Implicit coordination helps team members act intelligently in a time‑demanding environment to achieve common goals. Implicit coordination among team members during sprint‑zero development can show significant improvement in team performance, helping to achieve a high‑quality product under a high workload within the estimated time period. The goal of the Scrum model — achieving customer demands within time and budget — becomes achievable in a more appropriate way. Implicit coordination among the development team and the Scrum master during the Scrum planning phase of sprint zero brings significant improvement in the performance of the overall Scrum development period, and so the iterative, incremental approach of the Scrum model adjusts more easily to critical timelines.

Semantic web: a superlative reverse engineering approach for migrating conventional web applications into the semantic web

Read the abstract

The semantic web is considered a rich group of information that is easily computable both by humans and by machines. The assumption is that a huge amount of information — for instance a relational database — is placed on the internet, from which everyone is able to access tables, forms, lists or any other important information, and to update, delete and add to it. In this research we propose a novel integration for the semantic web through a reverse engineering process, which provides a complete transformation of current web applications into the new and emerging technology called the ontology‑based semantic web.

The semantic web is considered as isolated fragments of data available on the internet; the need arises to link and integrate that data in such a way that a user can relate to it in a knowledgeable and valuable way, and so that the data is fashioned into a machine‑understandable form. To accomplish this, a complete transformation from the present web to the semantic web is required. In this research we accomplish that task by extracting the essential information from the web through a reverse engineering process, and representing it in a new extension of UML called S‑UML, abstracting from the underlying source. This information is then used in the creation of the proposed S‑UML conceptual model, which is migrated directly into semantic web ontologies. New and improved mapping rules are defined here to map the S‑UML model into DAML ontologies. The entire layout of this schema is presented in the form of the proposed REWEB methodology.

The novelty of the approach lies in the fact that only minimal information is required for ontology development, as the method analyses the semantic information from the contents of the web and does not depend fully on a poor database design. The proposed design is poised such that both the web contents of applications and the database contents are analysed in parallel. In this sense, semantics can be determined in the web contents by simply looking at the page of any web application.

Scrum integration issues: quality and management portfolio

Read the abstract

Agile development, from its inception until today, has drawn a fine response from the market, and it also receives critique on various issues related to development and non‑development procedures. Scrum is one of the agile methodologies that has received warm acceptance from the software development community, and it contains issues that are under exploration by professionals.

This research focuses on the non‑development integration issues of Scrum that are stirred up during deployment. These issues become a cause of project delay, cost spill‑overs and even project failure. The proposed solution to the problem at hand is a conceptual framework emerging from the relational benefits of international standards — the International Organization for Standardization (ISO), Six Sigma and Capability Maturity Model Integration (CMMI). This research is intended to reduce those integration issues.

Implementation of large scale projects using the Lean Scrum methodology

Read the abstract

Scrum is usable and practicable for small or medium projects, but it does not render positive support for uniquely large identified projects. In order to make large, unique projects workable in Scrum, good techniques have to be drawn from lean development. Remaining within the domain of Scrum and without disturbing its techniques and qualities, some properties of lean development can be inherited to make the project successful without compromising the quality, efficiency and standard of the end product. The focus should remain intact so that the entire project runs smoothly, especially for enterprise resource planning (ERP) systems.

Scrum is a management process. It can wrap various software development practices, such as Extreme Programming, as long as they support iterative development. Scrum is also a process for continuous improvement: each day the highest‑priority impediment to work is identified and removed or mitigated. Lean development systems are rational, convenient, responsive and team‑based, and they must add value to the enterprise. This might sound straightforward, but achieving it can prove very difficult. Implementing lean development properties in Scrum enhances Scrum itself and makes it suitable for large and unique projects.

The main purpose of the thesis is to find the optimal process model for enterprise resource planning (ERP) systems by using Scrum with lean development. The result remains a lightweight process model, easy to implement and fully appropriate for ERP and large‑scale projects.


Graduate

Graduate projects

  • Extraction of static artefacts from C/C++ source code for design pattern recognition
  • Visualising overlap in recognised design patterns
Undergraduate

Undergraduate projects

  • Regular‑expression based editor for recovering artefacts from source code of multiple languages
  • Translation of UML design pattern specifications into formal specifications