Keywords

1 Introduction

Agile Software Development (ASD) is a group of software methods that use an “inspect and adapt” process as a part of regular reflection for continuous improvement [1]. Daily stand-up and retrospective meetings are practices that are meant to help evaluate team progress, impediments, and plans and find ways to improve [2]. In the daily stand-up meetings, agile teams share progress, discuss the impediments that occur in the team and share their plans daily [3]. The retrospective meeting enables agile teams to inspect the feedback shared and discuss the ways to improve.

Knowledge management is an important aspect for agile team creativity, which can lead to improving the agile process [4]. By knowing how to manage knowledge, which is useful for team learning, agile teams would be able to reflect and find ways to improve the process [4]. While the daily stand-up and retrospective meetings are meant to be used to share knowledge and perform reflection, in practice what specific knowledge (e.g. contextual information, understanding, insight, experience), knowledge types (e.g. product, process and project) and knowledge management strategies help agile teams perform reflection are not well understood.

With the motivation to address these research problems of knowledge management and reflective practice in ASD, this paper contains some initial findings of our research, which include a concept of knowledge management in ASD and a reflection framework in retrospective meetings (Sect. 5). However, there are some issues that are still unclear on how to correlate these findings. We hope that the consortium can provide suggestions and feedback on:

  1. 1.

    The content and presentation of our preliminary theoretical models.

  2. 2.

    Best practice in cross-team comparison and analysis of data and combined presentation.

  3. 3.

    Recommendations on known or hypothesized relationship(s) between knowledge management and reflective practice.

2 Relevant Prior Work

2.1 Knowledge Management in ASD

Knowledge is the combination of content from more than one categories of information, which taken from documents, practices and norms [5]. Relevant prior research shows several classifications of knowledge management in ASD. Several reviews focus on knowledge management school classification [6] and knowledge management concept in ASD [7].

There are three categories of knowledge management [8] (i.e. technocratic, economic and behavioural) of which two of categories (technocratic and behavioural) are associated with ASD [6] and the third category (economic) is not related to ASD. The technocratic category emphasizes on explicating knowledge and its flows. The technocratic school is further subdivided into three schools: system, engineering and cartographic schools. The system school refers to knowledge management strategies that use technology, such as JIRA, Wiki and GitHub; the engineering school focuses on the business context of software processes; and the cartographic school focuses on experts in a team as a centre of knowledge for the team. The behavioral category is further subdivided into three schools: organizational, spatial and strategic schools. This school focuses on collaboration and communication as knowledge management strategies. Developing the network among teams and using office space to support team communication are included in the behavioural school.

Another research is about knowledge management concept map in ASD [7]. Yanzer et al. [7] present several concepts map, such as ways of communication, human and social factors, tools for knowledge management and knowledge representation forms. The human and social factor concept covers knowledge management adoption in agile projects. Other concepts, which include the ways of communication, tools for knowledge management and knowledge representation forms, focus more on techniques and tools to manage the discussion.

Specific explanation about knowledge classification in software engineering [9] is explained by Ebert & De Man [9], which classifies knowledge types into three types, such as product, project, and process knowledge. Product knowledge is the knowledge that consists of product features, which is related to other product features, protocols, products and standards. Project knowledge is the knowledge about project resources, such as work products, budget, milestones, team performance and targets achieved. Process knowledge is the knowledge about the workflow related to business process, supporting technologies and how teams integrate their work with others.

Referring to the aforementioned knowledge classification, this research intends to investigate the knowledge types (product, project and process knowledge) involved in ASD. By referring to these knowledge types, the explanation of knowledge involved in ASD would be more detailed and closely related with agile practices.

2.2 Reflective Practice in ASD

Most studies in the topic of reflective practice in ASD have only focused on how to perform retrospective meetings with the broad explanation on the reflective practice. One of the techniques introduced to be implemented in retrospective meeting is Post Iteration Workshop (PIW) [10]. PIW is performed in retrospective meeting by collecting obstacles and generating tasks and decisions. Postmortem review is another technique that is applied in retrospective meeting [11]. This review is useful to highlight five important issues during a two-week sprint that need to be focused on.

In addition, reflective practice is also explained in Babb et al. [12]. In their study, they investigate reflection in agile practices by introducing the Reflective Agile Learning Model (REALM). REALM classifies some agile practices based on Argyris and Schön’s [13] classification, which embody reflection-in-action and reflection-on-action. Although reflection in each agile practice is captured in REALM, the specific knowledge used by agile teams to perform reflection has not been investigated.

To fill this gap, this research attempts to investigate what knowledge is managed by agile teams in performing reflection and how the reflection occurs in daily stand-up and retrospective meetings. By referring to Bain [14] about level of reflection (i.e. reporting, responding, relating, reasoning and reconstructing), the explanation about reflective practice in those practices would be more specific.

3 Research Objectives

This research attempts to answer the following research questions:

RQ1. :

What specific knowledge types (i.e. product, project and process knowledge) are involved in daily stand-up and retrospective meetings and how do agile teams manage that knowledge?

RQ2. :

What actual knowledge helps agile teams perform reflection and how agile teams use that knowledge for reflection in daily stand-up and retrospective meeting?

The aims of this research are to explore knowledge types based on three knowledge types (i.e. product, project and process), the strategies in managing that knowledge in daily stand-up and retrospective meetings for agile team’s reflection.

4 Research Design

In order to answer the research questions, this research will apply Yin’s case study research methodology [15], which is classified into three phases: (a) Define and design, (b) Collect, prepare and analyse (i.e. data), (c) Analyse (i.e. findings) and conclude. Figure 1 summarises the structure of Yin’s case study and shows some phases in this research. The colours indicate the research progress. Green refers to the tasks that are “done”, yellow indicates the tasks that are “in progress” and red refers to “to do” tasks. The current research focuses on phase b which is to analyse collected data (interviews and observations).

Fig. 1.
figure 1

Case study method [15] (Color figure online)

Firstly, in the define and design phase, a concept about knowledge management in ASD was generated through the Systematic Literature Review (SLR-‘review/develop theory’). The next phase in the case study is to collect, prepare and analyze (phase b). Data collection was started by conducting interviews (individual and group) and meeting observations, which aims to gain specific explanation from the participants and understand the situation and actual knowledge managed in the meetings.

The next steps after observations and interviews are transcribing the interviews and analyzing them. The interviews transcripts were analyzed by using a qualitative data analysis technique called thematic analysis [16] by generating initial codes, searching for themes, defining and naming themes and finally producing the report that will be integrated on the next phase. Lastly, in the analyse and conclude (phase c), the analysis results of each team will be compared with those from other teams to formulate the findings and conclude the research. The results will be analysed comprehensively and followed by formulating the findings (phase c).

5 Current Research Progress

This research has two initial findings, which emerged knowledge management and reflection in daily stand-up and retrospective meeting. Initial findings were generated from SLR and case studies are described in the section below.

5.1 Initial Findings on Knowledge Management in ASD

A Systematic Literature Review was performed that reviewed 46 empirical studies focused on knowledge management in ASD selected from an initial pool of 2317 papers from reputed databases such as Springer, Scopus, and IEEE Xplore. Using a combination of thematic analysis [16] to analyse the primary studies and a Grounded Theory [17] approach to synthesise the results, it was discovered that:

  1. 1.

    Agile practices were found to be associated with the three types of software engineering knowledge proposed by Ebert & De Man [9]: timelines, team progress, and plans representing project knowledge; requirements and designs representing product knowledge; and coding techniques and synchronised teamwork representing process knowledge.

  2. 2.

    To manage the knowledge, agile teams use three specific knowledge management strategies: discussions (e.g. sharing requirements), artefacts (e.g. user stories) and visualisations (e.g. burn down charts).

A theoretical model was generated from the results (see Fig. 2), which explains that the three knowledge types are managed by performing agile practices and knowledge management strategies. This result was submitted currently under review.

Fig. 2.
figure 2

A theoretical model of knowledge management in ASD

5.2 Initial Findings on Reflection in Agile Retrospective Meeting

A case study was conducted using data collected from interviews of sixteen software practitioners from four agile teams and observations of their retrospective meetings. Collected data was analyzed by applying thematic data analysis [16]. By transcribing data, generating codes, searching for themes, reviewing themes, defining and naming themes, the findings of this case study were formulated in the form of a paper, which has been accepted in XP 2017 conference (“Reflection in Agile Retrospective”).

This case study aims to investigate what aspects are focused on during the retrospective meeting and how reflection occurs in the retrospective meeting. By applying thematic analysis to analyze the interviews, it was discovered that identifying and discussing obstacles, discussing feelings, analyzing previous action points, identifying background reasons, identifying future action points and generating a plan are important aspects involved in the retrospective meeting, which is useful for agile team reflection. These aspects are associated with five (grouped to three) levels of reflection from education [14]. The levels of reflection from education appear related to the answer of how reflection occurs in the retrospective meeting, which can be classified into three levels of reflection [14], reporting and responding, relating and reasoning, and reconstructing.

According to these findings, a reflection framework for agile retrospective meeting was presented on Fig. 3. The framework combines five steps of the standard agile retrospective – set the stage, gather data, generate insight and decide what to do, close the retrospective – and the levels of reflection – reporting and responding, relating and reasoning, and reconstructing [14] include the aspects involved on each step.

Fig. 3.
figure 3

A reflection framework for agile retrospective meeting

There are some research tasks remains, as can be seen in Fig. 1 (phase b and phase c), in which some tasks are in progress. Next steps include writing up the results of the case study pertaining to the daily stand-up practice, conducting further observations, analysing the transcription of software teams and formulating the findings.