AI for Project Management
The rise of Artificial intelligence (AI) has the potential to significantly transform the practice of project management. AI is potentially a game changer for project management in helping to accelerate productivity and increase project success rates. Project management has a large socio-technical element with many uncertainties arising from variability in human aspects, e.g. customers' needs, developers' performance and team dynamics. We have been working on developing AI technologies that can assist project managers and team members through automating repetitive, high-volume tasks, enabling project analytics for estimation and risk prediction, providing actionable recommendations, and even making decisions.
- Helping project managers in predicting delays: Late delivery and cost overruns have been a common problem in (software) projects for many years. Contributing to this problem is the lack of support for predicting, at any given stage in a project, which project tasks (among hundreds to thousands tasks) are at risk of being delayed. Foreseeing such risks would allow project managers and software engineers to take prudent measures to assess and manage the risks, and consequently reduce the chance of their project being delayed. This work aims to provide automated support to enable such a prediction. We mined over 100,000 JIRA issues/tasks from large software projects, and built a number of highly accurate predictive models that can predict whether a task or issue will get delayed and if so, the degree of delayness.
- Helping agile teams in effort estimation: It has now become a common practice for agile teams to go through each user story and estimate the effort for completing it. Story points are commonly used as a unit of measure for specifying the overall effort of a user story. Currently, most agile teams heavily rely on experts’ subjective assessment (e.g. planning poker, analogy, and expert judgment) to arrive at an estimate. This may lead to inaccuracy and more importantly inconsistencies between estimates. A machine learner can help the team maintain this consistency, especially in coping with increasingly large numbers of user stories. It does so by learning insight from past issues and estimations to make future estimations. We mined over 23,000 user stories recorded in JIRA from 16 large software projects, and built a deep learning model (using a novel combination of the Long Short Term Memory architecture and the Recurrent Highway Network) which recommends the effort of implementing a user story (in story points).
- Helping decision makers in
risk prediction: Iterative software
development has become widely practiced in industry.
Since modern software projects require fast,
incremental delivery for every iteration of software
development, it is essential to monitor the
execution of an iteration, and foresee a capability
to deliver quality products as the iteration
progresses. In this work, we developed a novel,
data-driven approach to providing
automated support for project managers and other decision makers in predicting delivery capability for an ongoing iteration. Our model was evaluated using 3,834 iterations/sprints and 56,687 issues recorded in JIRA we collected from 5 large software projects.
- Mining social norms from open software projects: Social norms facilitate coordination and cooperation among individuals, thus enable smoother functioning of social groups such as the highly distributed and diverse open source software development (OSSD) communities. In these communities, norms are mostly implicit and hidden in huge records of human-interaction information such as emails, discussions threads, bug reports, commit messages and even source code. This new line of research aims to extract social norms from the rich data available in software repositorie.