Towards Effective AI-Powered Agile Project Management
Towards Effective AI-Powered Agile Project Management
Towards Effective AI-Powered Agile Project Management
net/publication/335361278
CITATIONS READS
50 1,711
5 authors, including:
All content following this page was uploaded by Truyen Tran on 06 December 2019.
Abstract—The rise of Artificial intelligence (AI) has the poten- An agile project are centered around a product backlog
tial to significantly transform the practice of project management. (see Figure 1), which is typically a collection of items to be
Project management has a large socio-technical element with completed in the project [3]. Items in a product backlog can be,
many uncertainties arising from variability in human aspects,
e.g. customers’ needs, developers’ performance and team dy- for example, customer requirements for the product (user sto-
namics. AI can assist project managers and team members ries), requests for bug fixes, changes to existing features, and
by automating repetitive, high-volume tasks to enable project technical improvements. Product backlog is evolved through
analytics for estimation and risk prediction, providing actionable regular updates and refinement to ensure that it contains items
recommendations, and even making decisions. AI is potentially that are relevant to project’s scope and objectives, sufficiently
a game changer for project management in helping to accelerate
productivity and increase project success rates. In this paper, we detailed, and appropriately estimated. Important updates to the
propose a framework where AI technologies can be leveraged to product backlog include adding or removing backlog items
offer support for managing agile projects, which have become based on current needs, estimating the size of items, and refine
increasingly popular in the industry. large items into small fine-grained items.
Index Terms—Software Engineering, Artificial Intelligence
Item Size
I. I NTRODUCTION 5 Estimate
8
Artificial Intelligence (AI) has started making a substantial Add new item
impact to many parts of our society, and is predicted to disrupt Reprioritize items
how we produce, manufacture, and deliver. The rise of AI Refine items
Task breakout
Sprint
is empowered by the growth and availability of big data, Remove items Sprint planning
Working
breakthroughs in AI algorithms (e.g. deep learning), and sig- Product backlog
product
Sprint backlog
nificantly increased computational power. The pervasiveness
of software products has resulted in a massive amount of data Fig. 1. A typical agile process
about software projects which AI techniques can leverage. We
envision that AI will transform (software) project management An agile project consists of multiple iterations (or alterna-
practice in many aspects, from automating basic administra- tively referred as sprints). Each sprint is often a short period
tion tasks to delivering analytics-driven risk predictions and in which the team aims to complete a subset of items in
estimation, facilitating project planning and making actionable the product backlog. Prior to a sprint, the team performs
recommendations. In this paper, we present a framework of sprint planning to identify the goal of that upcoming sprint,
how various AI technologies are adapted and integrated to and select items from the product backlog which they will
support various areas of agile project management (agile PM). complete to meet the sprint’s goal. During sprint planning,
Agile methods (e.g. Scrum) have been widely used in many agile teams decompose each product backlog items into
industry to manage software projects [1]. This relatively new a set of tasks. These tasks and their corresponding product
approach to project management empowers software teams backlog items form the sprint backlog. The team then executes
to focus on rapid delivery of business value to customers, the sprint to complete items in the sprint backlog to deliver a
thus significantly reducing the overall risk of project failures. potentially shippable product increment.
Project management has thus witnessed a shift away from the
traditional “waterfall” process and towards a more adaptive, II. C HALLENGES IN AGILE P ROJECT M ANAGEMENT
agile model. The number of projects following agile has Many tools have been developed to support agile project
increased significantly in the recent years, not only in the management such as JIRA, Assembla and Axosoft. Those
software industry but also in other non-IT domains [2]. tools allow agile teams to create and manage various agile
artifacts such as user stories, product backlogs, sprints, and must be considered, including items contributing toward the
sprint backlogs. For example, they support teams in creating sprint goal, their priority and business value to customers,
user stories and tasks, linking related tasks and user stories, the dependencies among items, appropriate allocations to bug
assigning team members to tasks and issues, creating dead- fixing and other technical work (e.g. resolving technical debts)
lines, setting priorities and estimates (e.g. story points). They and the availability of team members and the team’s capacity.
also enable team members to see the amount of work required Risks impeding a sprint execution should also be forecasted
for individuals and teams during each sprint, track progress and factored into a sprint plan. Sprint planning thus requires
of the sprint and its associated user stories and tasks. They not only in-depth understanding of the current project and
facilitate real-time information exchange and collaboration via team but also experience learned from previous projects. Tool
centralised project information. support is needed to manage complexities for large projects.
Although existing agile tools are useful, their support is 4) Pro-actively monitoring sprint progress and managing
limited to creating, managing, and tracking project artifacts, risks: As the sprint unfolds, the team needs to track sprint
and visualising historical project data such as burndown charts progress and manage risks. Current practices in risk man-
and other agile reports. Current agile project management agement mostly rely on high-level guidance and subjective
tools lack advanced analytical methods that are capable of judgements. Predicting future risks is highly challenging due
harvesting valuable insights from project data for predic- to the inherent uncertainty, temporal dependencies, and es-
tion, estimation, planning and action recommendation. Many pecially the dynamic nature of software. There is currently
decision-making tasks in agile projects are still performed by a gap in providing agile teams with insightful and actionable
agile teams without machinery support. We identify a number information about the current existence of risks in a sprint, and
of important areas in agile project management that remain recommending concrete measures to deal with those risks.
challenging due to this lack of effective support.
1) Identifying backlog items: Items in the product backlog III. A N AI–P OWERED AGILE P ROJECT A SSISTANT
can be derived from different sources such as a requirement The above challenges and the serious lack of effective tools
specification, new feature requests from customers, bugs re- presents an opportunity for AI to significantly improve the
ported by end users, previous bug fixes, discussions among practice of agile project management. AI-based tools are able
agile teams (e.g. technical debts, design changes or action to process massive amounts of data generated from software
items from retrospective meetings), end users’ reviews of projects, harvest useful insights, and train to perform complex
the product, and even experiences from previous projects. It tasks such as estimating effort, task refinement, resource
is difficult and time consuming for agile teams, especially management, and sprint planning. Figure 2 shows our proposal
product owners, to process this large amount of heterogenous for the architecture of an AI-powered agile project manage-
data in order to identify and create new items for the product ment assistant. The core of this AI system are an analytics
backlog. In addition, for each newly created backlog item, it engine, a planning engine and an optimization engine. These
is necessary to consider inter-dependencies between the new machineries depends on the representation learning engine
item and existing ones. This is challenging as a typical project to learn and generate representations of project data that are
has a large product backlog with more than 100 items. mathematically and computationally convenient to process.
2) Refining backlog items: Some items (e.g. user stories) The conversational dialog engine converses with users and
in the product backlog are initially large, thus do not fit within brings the support provided by the other engines to the users.
a single sprint. Agile teams are often required to refine these
large items into small ones such that they not only facilitate A. Representation learning engine
implementation but are sufficiently large, allowing stakehold- Agile project artifacts contain both structured and unstruc-
ers to understand business value [3]. There are typically three tured data. For example, backlog items may have structured
levels of refinement: (1) decomposing an epic into a number attributes such as type and priority (which are easily extracted
of user stories; (2) splitting user stories into small stories; and to form a vector representation), whereas product visions,
(3) breaking a user story into a number of specific project sprint goals, description of backlog items, and communication
tasks. Different rules and guidelines have been proposed to among team members (e.g. comments on backlog items) are
help teams refine backlog items, but rules often overlap with written in natural text. Codebases contain documentations such
or even conflict with one another. Teams struggle to refine as release notes and comments written in natural text, and
backlog items and rely on their own intuition and experience. source code written in programming languages. Hence, the
3) Sprint planning: The key part of sprint planning is representation learning engine is an important component of
selecting a subset of items in the backlog which can re- this AI system, responsible for learning vector representations
alistically be accomplished by the team in the upcoming for each project artifact. These representations can automati-
sprint to deliver a product increment. The customer expects cally be learned from unlabelled data, and are then used by
the team to deliver what have been planned for a sprint, the other machineries in the AI system.
thus meeting this expectation is important in maintaining the The representation learning engine has a NLP component
customer’s faith in the team’s ability to deliver. Sprint planning which performs automatic analysis on project textual artifacts
is however highly challenging since many important factors and then generates vector representations of those artifacts.
Product features of a sprints based on the features of the backlog items
backlog Agile team
items
Codebase assigned to it. We will extend those aggregation methods to
Product learn features for representing team members. This represen-
vision
Sprint tation will be enriched with features representing work and
goals
Representation
Sprints social dependencies between team members, extracted from