We present our grounded theory of making self-assignment work in agile teams. The section is structured to follow Fig. 5. which visually represents our theory and illustrates its categories in the following sub-sections in detail. In the following sections, we present all our findings that comprise the overall theory (Fig. 5), including plenty of quotations from the raw data and sample observation notes/memos.
The grounded theory of making self-assignment work in agile teams explains the (a) context (described in section 4.2) and (b) causal conditions that give rise to the need for self-assignment (described in section 4.3), (c) a set of facilitating conditions that mediate how self-assignment may be enabled (described in section 4.4.1), (d) a set of constraining conditions that mediate how self-assignment may be constrained (described in section 4.4.2) and which are overcome by a set of (e) strategies applied by agile teams (described in section 4.5), which in turn result in (f) a set of consequences (described in section 4.6), all in an attempt to make the central phenomenon, self-assignment, work.
The Phenomenon – How Agile Teams Make Self-assignment Work
One of the key findings of our study is that self-assignment is not as easy and straightforward as might be expected. It comes with challenges and requires a set of strategies to make it work in practice. Our findings indicate clearly that self-assignment does not simply imply picking whatever tasks team members want. Development team members are bound to choose tasks based on their business needs and priorities as stated by P30.
‘It’s not just like, go out there and choose whatever you want to work on…it’s like team commits, and whatever they’ve committed, they’ve selected tasks from a triaged [prioritized] list and they’re committing to that work.’ – P30, Lead Developer
We identified that transitions to self-assignment does not happen automatically but teams with a positive mindset, an encouraging Scrum Master who values teams and empowers autonomy, and the use of effective strategies lead to effective self-assignment smoothly. As such, the key phenomenon identified in our analysis was “how agile teams make self-assignment work”.
The Context– Contextual Details and Conditions
Beyond the demographics captured in the pre-interview questionnaires (participant age, gender, experience, etc.), other contextual details emerged during our in-person interviews and while observing team practices to understand how self-assignment works. The variation in the team setup (co-located, distributed), work experience (novice, experienced) and team’s agile experience (novice, transitional, mature) can have influence on the facilitating/constraining conditions and corresponding strategies. We will see that the contextual conditions vary in their application. For example, strategies identified to facilitate self-assignment in distributed team contexts were different to those for co-located team context. Similarly, strategies for new team members were different from those for mature, experienced teams. While manager intervention may not be a constraining condition for teams with flat structure without managers and so the strategies cannot be applied in such settings. Teams self-selecting their tasks at the beginning of the sprint may have different constraining conditions when compared to teams which self-assign the tasks during the sprint. The contextual details are best understood in relation to the related conditions and strategies, and so these contextual details are weaved into our descriptions in the following sub-sections.
The Causal Conditions – Leading to Adopting Self-assignment
In this study, the participants were questioned about why they chose to self-assign. In result, we identified many different reasons for adopting self-assignment. The most common cause was it being a natural part of the agile transformation represented as U1. Other causes reported by the participants are related to issues with manager-driven assignment referred by U2. We used the term ‘manager’ to refer to all management roles (i.e. project managers, scrum masters, and team leads).
U1: Natural Part of Agile Transformation
The most common rationale [N = 10] behind opting to practice self-assignment evolved naturally with an understanding of the scrum methodology (Deemer et al. 2012) and agile manifesto (Beck et al. 2001). As teams adopted agile methods, they also became more self-organized.
‘...It [self-assignment] naturally started off that individuals in a team are responsible to go and select ... So, I think it was just our understanding of the Scrum methodology and agile Manifesto’ –P42, Technical Lead
U2: Issues with Manager-driven Assignment
Issues with the manager-driven assignment approach caused some participants to drift towards self-assignment. These issues include growing frustrations among team members, lack of motivation, low quality of work and inaccurate estimates.
Growing frustrations among team members
A quality assurance analyst P36 identified frustrations as a cause that led to the team adopting self-assignment. The Scrum Master may not always be aware of frustrations of the team, as explained by the participant, recalling a particularly challenging experience:
‘It was one Quality Assurance Analyst, she broke down, saying that I can’t do it anymore. She was required [assigned] to test something in the cloud, introducing her in just the last minute… When I saw her collapsing down, I had lots of empathy with her. And then in our retrospective, I also started exploding and I’m not taking any allocation. This is all going wrong. The scrum master went back, she
came again, and she said, I will not allocate anything, you, as a team, sort out the distribution.’ –P36, Quality Assurance Analyst
Lack of motivation
Some participants described that team members are more motivated and happier when they have some level of ownership and when they see value in what they’re doing. For example, participant P41 highlighted lack of motivation as a reason to replace the manager-driven task allocation with self-assignment and participant P40 revealed happiness among team members with self-assignment.
‘Prior to this [self-assignment] they [team members] were less motivated’ –P41, Senior Architect
‘With self-assignment people are happier. They feel more in charge of what they’re doing, they have that sense of ownership.’-P40, Consultant
Low quality
It was also indicated that when it was someone else in the team assigning the tasks, the quality of the work was not that good. This could be because the person assigning the task may not always be well-aware of an individual’s technical skills and interests.
‘[Earlier] most of the time it was Scrum Master or the PM’s say who’s going to do what….and the quality of the output wasn’t that great’ – P37, Head of Product Delivery
This in a way is correlated with lack of motivation as work quality is good when the team members are motivated and more committed.
‘When they [team members] are motivated, I see them delivering exceptional results’ –P41, Senior Architect
Inaccurate estimates
It was also reported that the shortcomings of manager-driven task allocation helped participants take up self-assignment. One of these shortcomings was the possibility of making wrong assumptions because the manager was not always fully aware of the actual implementation details, underlying technical risks, and the expected time to perform a task, potentially leading to inaccurate estimates.
‘When a manager hands it [user stories/tasks] down, often they’ll either make estimates, and then they’ll hold you to their estimates and then there are all sorts of problems. – P15, Technical Lead & Scrum Master
The developer P16, agreed with the Scrum Master’s point of view.
‘Team deciding on their own capacity is better than being handed down [estimates] because if a manager puts their finger in the air and makes a wrong assumption, that sends unrealistic message to the business’ – P16, Developer
The Intervening Conditions – Conditions Influencing Self-assignment
These causal conditions led agile teams to adopt and practice self-assignment. Next, we will see what and how the intervening conditions influence the self-assignment process. We have elaborated these conditions as factors that facilitate or constrain our phenomenon. The conditions that facilitated the self-assignment process are described as facilitating conditions in sub-section 4.4.1 and the conditions that hindered the process are mentioned as constraining conditions in sub-section 4.4.2. These are listed in Table 3.
Table 3 Facilitating Conditions and Constraining Conditions Conditions Facilitating Self-assignment
There are certain facilitating conditions, which are broad, general conditions that influence the phenomenon. The phenomenon can be facilitated provided these conditions are met. In this study, we identified nine facilitating conditions classified into three categories. Some of these are specified as attributes of the artefacts and agile practices, others as attributes of people.
Artefacts-related facilitating conditions
Agile teams create artefacts in the course of product development. These artefacts are useful in tracking product progress, providing transparency and prospects for inspection and adaptation to the stakeholders (Schwaber and Sutherland 2011). Some of the common Scrum artefacts are Product backlog, Sprint backlog, Definition of Done (DoD), etc. (Deemer et al. 2012). Attributes of agile artefacts were reported to facilitate self-assignment, such as F1 (appropriate task information), F2 (appropriate task breakdown), F3 (well-defined Definition of Done), and F4 (well-groomed product backlog). These are detailed through examples below.
F1: Appropriate task information. Requirements-related work items in agile are generally defined as epics or features (for high-level requirements) and user stories or tasks (for lower level requirements) (Bick et al. 2018). High-level work items are generally allocated to the development teams who break them down into user stories and technical tasks either individually or collectively. Providing enough information on the work items was seen to be of vital importance to effective self-assignment and is identified as the most important facilitating condition as stated by a majority of the participants [P14, P18, P19, P20, P22, P26, P28 - P31, P37, P40-P42]. The team members understand the problem and feel confident to self-assign if sufficient details are provided against the work items. Having comprehensive information not only helps the development team understand the problem and propose solutions but also identifies the task dependencies involved and the impact it makes on other modules. Particularly, this supports the junior team members who are initially hesitant to ask for help. Additionally, with enough details on the tasks, it is quite unlikely that team members will have to go to other team members for getting clarifications and instead rely on themselves. This is accepted by both the managers and the developers as indicated in quotes below.
‘It [task] should have enough details, that’s the most important thing.’ –P22, Developer
‘You’ve got to make sure that you have enough information either in the card or in the explanation so that they (team members) do feel confident with taking on that task.’ – P14, Technical lead & Developer
F2: Appropriate task breakdown. Appropriate level of granularity while breaking down tasks is seen to drive the work allocation in the right way. This indicates that it’s not just the task’s comprehensiveness that makes it understandable to team members, but the way the breakdown is done also adds clarity on it. For example, while defining a form if developers start writing about every field name as a task, most of the time will be taken defining it which is not useful in any way. If the tasks are not broken down appropriately it could lead to ambiguity resulting in assignee’s lack of confidence to complete the task on time. A more decent breakdown of tasks facilitates the individuals in making reasonable choices as it makes the tasks clearer, more understandable, and easier to do.
‘The key is not to split tasks to such a smaller level so that it becomes very difficult to allocate. You want granularity but you want a certain level of granularity’ – P18, Software Architect
F3: Well-defined Definition of Done. DoD provides clarity to work item’s (feature, story, or task) definition and is considered met when it fulfils the customer’s acceptance criteria. If the acceptance criteria or DoD is vague and lacks clarity, then there is a potential risk of wrong interpretations of the work items. The team members may not pick them to avoid discussions required to gain clarity or assume the task could be harder to complete. They may not pick them considering that fleshing out the right acceptance criteria would be an additional task. Well-defined done criteria help in making effective choices while self-assignment tasks, as stated by P27.
‘It is important that done criteria is properly defined at the beginning of the sprint or whenever the task is available, with insufficient DoD they [team members] are unlike to choose the work’ – P27, Developer
F4: Well-groomed product backlog. Agile teams perform product backlog grooming and refinement sessions mainly to refine and improve user stories, and to estimate and prioritize the backlog items (Deemer et al. 2012). A well-refined structure in the product backlog seems to contribute as a facilitating factor towards effective self-assignment. The backlog should not be only well-groomed but also consistent so that it’s not undergoing extraneous changes in priorities. With too many changing priorities, the backlog can be unwieldy and challenging to manage as indicated by P29.
‘If you have an environment where the backlog of stories coming up, or switching the priorities, or changing every day, then it’s hard’ – P29, Developer & Scrum Master
Well-defined and detailed artefacts and concepts such as the technical tasks or user stories, product backlog and definition of done facilitated self-assignment.
Practices-related facilitating conditions
Facilitating conditions consisted of practices such as F5 (collective estimation and task breakdown) and F6 (estimation before prioritization).
F5: Collective estimation and task breakdown entails a combined effort involving everyone in the team (Deemer et al. 2012; Hoda and Murugesan 2016). This helps in getting input from all the team members, sometimes defending their individual estimates, sharing assumptions and knowledge, keeping all on the same page, therefore providing all team members the opportunity to choose any task. This collective estimation and effort support collective awareness of the task. No one can disregard a task as the team members collectively perform the breakdown and estimation of tasks, share the information, help and indicate the right direction so the chances of mistakes and inaccurate estimates can be less.
‘During the planning we do everything together, sharing, creating the tasks, it means that everyone knows and owns those tasks. So, no one could say I didn’t grab a task, it’s not my estimate’ – P15, Technical Lead & Scrum Master
F6: Estimation before prioritization. In a few cases, it is seen as important to estimate tasks well in advance of the sprint. Having estimations a few iterations ahead of the sprint was seen to help the teams practice self-assignment since it ensures a long list of tasks is available to choose from providing more options for the team to select and exercise autonomy. This provides an opportunity to get prepared for the work in advance allowing the team to move tasks as per their and business needs. As a result, team members can commit to tasks of their choice.
‘We made sure that we were about 4 to 5, maybe more, Sprints ahead in estimation at any point in time. So the problem with prioritising before estimation is that when the team commits, the set of options is very small so they don't actually feel like they’re exercising autonomy. So by giving us the flexibility to be 5-6 Sprints ahead, allowed the team to go, ‘you know, if we do this thing that’s in Sprint number 4 now, you know, we’re preparing the groundwork for something that’s coming later, let’s move that up’. And now the team starts self-organising or practicing autonomy’ – P30, Lead Developer
As reported, this worked well in an experienced autonomous team of developers who were free to bring items into the backlog, based on their requirements. The team was doing estimations within a two-week Sprint, product grooming three times, every two weeks. It should be noted that estimating 4–5 sprints in advance may not be practical in all settings due to time constraints. However, estimating 2–3 sprints ahead may not be that unrealistic as a trade-off for the team to self-organize and practice autonomy.
People-related facilitating conditions
Some attributes of the people involved in the self-assignment, such as F7 (In-depth product knowledge), F8 (Good understanding of problem), F9 (People behaviour including technical self-awareness, sense of ownership, understanding of importance) are also reported to mediate the self-assignment process.
F7: Strong product knowledge. Strong in-depth product knowledge makes developers and testers familiar with different areas of the application. That makes them more competent, and they are more comfortable to make the right choices when self-assigning tasks. It is likely to build their confidence, increase productivity, and improve their work quality.
‘Well naturally whoever knows the area of work, the piece of software or the problem that needs to be addressed that’s most productive’ – P20, Lead Developer
F8: Good understanding of problem. Also, understanding the work items and associated problems plays an important role as acknowledged by both developers and Scrum Masters. With an incorrect understanding of a problem, it is possible that the attempts to resolve the problem will also be flawed. Therefore, having a mutual and accurate understanding of the problem is important for self-assignment. Developers are typically seen reluctant to choose the tasks that they do not understand well as indicated by P29.
‘Having a good understanding of the stories that need to be done, I think that is important. If I have many questions about a story, I can’t self-assign, because I don’t know what needs to be done.’ – P29, Developer & Scrum Master
F9: People Behaviour. Additionally, other behaviours and attitudes that were reported as facilitating conditions by multiple experienced managers and team members were: self-awareness of technical abilities as a team or as individuals and having sense of ownership and commitment. If the individuals and teams are well-aware of their technical abilities, they would make reasonable choices individually or collectively.
It has been acknowledged both by the managers and agile team members that when people select a task, they have the freedom to choose their own direction which boosts their motivation to perform better.
‘The most important thing in my view is people have buy-in, they commit and agree on the tasks that they want to go and do. And I think that gives them a sense of ownership, it gives them a sense of choice and commitment.’ –P42, Technical Lead
With this autonomy and opportunity to choose, one can naturally grow responsibility and commitment towards that work enabling a sense of ownership. On the other hand, if the team members are being forced to work on something, they are less likely to own it. This indicates if these attitudes are manifested in individuals, they can help to facilitate the self-assignment process.
Conditions Constraining Self-assignment
We identified ten conditions that were seen to constrain self-assignment through posing some challenges. Similar to the facilitating conditions, these fall under Practices, Artefacts and People-related conditions.
Artefacts-related constraining conditions
The only constraining condition reported in this study under artefacts is C1 (Self-assignment for Dependent tasks) which is listed below.
C1: Self-assignment for Dependent tasks. Some tasks rely on other tasks to be completed before they can be started. This can sometimes be challenging as some developers may pick work which may have a dependency on other tasks in the sprint. If the team members are unaware of these dependencies, they will likely self-assign such tasks, which can lead to slow or minimal progress.
‘Certain stories are dependent, but we avoid that as much as possible’ – P32, Developer
‘We try to avoid having dependant tasks, but it happen’ – P16, Developer
Practices-related constraining conditions
C2 (Urgent Work), C3 (Tracking work distribution and accountability), and C4 (Distance Factor) are identified as constraining conditions influencing the self-assignment process.
C2: Urgent Work. Many participants indicated that urgent work coming during the running sprint is one of the most influential factors that constrains practicing self-assignment [P13, P14, P16, P18, P19, P21, P23, P25, P28, P30, P33-P36, P40, P41]. When there is some high priority urgent task, e.g. a high impact bug in some part of the application or a show-stopper support reported by the customer, then self-assignment is constrained. An example of such work is shared below.
‘When product owner is getting feedback from the app stores about…..being annoying for customers…., Well guys, it’s really important that we squeeze this in as customers are really complaining about it’ – P23, Test Analyst
This is sometimes disturbing for the team members as it supersedes their ability to choose and takes away time and resources from the ongoing sprint. One of the participants disclosed this as follows:
‘Obviously, there are urgent stuff that just gets put onto my desk’ –P19, Developer
Another participant indicated that they could refuse to take up such urgent things but find it culturally incorrect. This could be because knowing the urgent nature of the work, and still not showing a willingness to work on such task may not please the manager or contradicts the team or business interest.
‘Although we can say no, we’re not gonna do it, but it wouldn’t be culturally nice to say that’ – P23, Test Analyst
C3: Tracking work distribution and accountability. Multiple team members choosing the tasks on the go during the running sprint gets challenging as no single individual is directly accountable for any specific issue which is reported later on. This is because multiple people contribute to one story by committing to different tasks. For instance, a story X may consist of 10 tasks, and if these tasks are done by five different developers, it could be hard to backtrack an issue as so many developers have been involved in the development of the story as stated by one participant. However, this is not reported to happen frequently.
‘You may get [into situations], like if there’s a problem found [later], there may be less ownership on, maybe five people worked on a story, well, whose bug is that, yeah (laughter).’ – P15, Technical Lead & Scrum Master
As the team members are given freedom to choose tasks they may not choose wisely and make wrong estimations. The reasons could be that they try to impress a manager by taking more, long or complicated tasks or want to show their efficiency by working harder. This can sometimes lead to situations where the product is delayed due to the fact the person is not able to finish the tasks they committed. They are given a choice, but their wrong choice led to significant delays. However, managers sometime feel that people are not choosing enough tasks for a sprint.
‘The only bit of it[self-assignment] that I don’t like is it can get a little bit unambitious in terms of what can I get done. Like it’s easy to have an expectation set of 20 points per person, per Sprint for example. And mentally that’s what I tend to think …But sometimes I wonder if there would be more that could be done if people worked harder...And I felt like either somebody wasn’t working on their tasks or it wasn’t getting done’ – P31, Development Manager
One the other hand, one of the participants P20 shared the experience of penalizing by over-committing more tasks in a particular sprint and acknowledged picking amount of work that they are sure to accomplish.
I [team member] remember my took on a lot of work through, and hadn't finished things at the end of the sprint and so things were uncompleted and he [Manager] doesn't like that. So, I felt like trying to work hard is penalized. So, what happens now is I’ll do all the work in the sprint, won’t take on anything else’ – P20, Lead Developer
C4: Distance Factor. The distance factor, or remote location of teams and working across different time zones, seems to influence the application of self-assignment in some way as brought up by a couple of participants. This especially happens when half of the team is sitting close to the Product Owner or the client while the other half don’t have Product Owner or the client representative. They don’t get as much connectivity as the collocated ones and particularly disadvantaged when people don’t speak very clearly during discussions, missing some important piece of information. Similarly, the collocated members get an edge of expressing their interest for any task grabbing it earlier, enjoy the opportunity to show their enthusiasm and collaborate with the client in person. When the development team is collocated, it enhances communication and coordination of activities while picking tasks, e.g. sharing prior knowledge on a task, less or no pair programming with a remote team member. Working with teams in different time zones is more challenging. There is a good chance to struggle to get a task of interest if teams are operating in different time zones.
One of the team members who worked remotely revealed that being away from team physically sometimes jeopardized practicing self-assignment in its true essence.
‘Sometimes we are on remote call, client and US team are together in same room, when they start picking the tickets, having discussions, everyone is interested doing that work they have advantage of raising their hands they will quickly say ‘Hey, I'm interested ...they have advantage.... auction never starts here’ –P1, Tech Lead
‘If some person is on a different time zone, he’s still sleeping, and the job comes in today, how can he know, how can he assign himself on that? I’m going to do it.’ – P33, Tester
One manager shared how working dynamics such as real physical presence, missing facial expressions and gestures, sharing thoughts and skipping offline talks and different insights can undermine the self-assignment for people working remotely.
‘If you’re not in the room with seven other people, you’re on a speaker phone, you can’t see what’s going on, don’t experience the dynamic. And then people vote because you’re not seeing the hands go up, you’re not influenced by the democratic process. So, you have a different thought or insight because everybody else has been talking about it offline or whatever the case may be so, there’s a gap.’ – P30, Lead Developer
While observing one of the stand-up meetings [T11], one developer who used to work remotely for a couple of days every week due to some personal situation seemed disadvantaged. The daily stand-up was a lot harder, he had to dial in for it, and the team had to relocate to the recreation area for making the call. While observing the stand-up, we also noticed that the people weren’t speaking very clearly, so he probably did not hear half of it and even his voice broke up once during the call. Above we have included a memo (Fig. 6.) saved in NVivo on to exemplify the influence of distance factor on making self-assignment work.
Some intervening conditions apply to a specific context as identified by memo (See Fig. 5.), e.g. distance factor is specified as one of the constraining factors, but this only applies when one or more team members are working remotely. These constraining conditions lead to certain action/interaction strategies which are adopted by agile individuals and teams as presented in Fig. 7.
Table 4 Consequences of strategies for the constraining conditions
People-related constraining conditions
Some of these constraining conditions are associated to people’s behaviours. These are C5 (Manager Intervention), C6 (Inadequate expertise & resources), C7 (Multiple people interested in similar tasks), C8 (Self-assigning tasks not skilled at), C9 (Self-assignment for new team members), and C10 (Personality Traits).
C5: Manager Intervention. Some technical managers or leads were often found proposing or suggesting their way of doing things. This emerged as another intervening condition in letting team members practice self-assignment. The managers may not necessarily push their decisions, but team members may not like this interference while performing the task. They rather prefer doing it on their own without any directions as shared by P19.
‘But there definitely been times when he [manager] looked over and given suggestions. So, I don't really mind but I prefer him to not be there just so I can do it [task] on my own.’ – P19, Developer
On the other side, manager intervention can also be inadvertent. One manager talked about instances when it’s not their intention to assign tasks but the gestures like looking at someone during the daily stand-up, asking a question about a task or discussing an issue gives them an indication that the manager wants them to pick it. Another manager accepted that there are still times when they could not resist assigning a task, limiting the team members to make their own choices.
‘I guess there are still times where I might go up to someone and effectively assign them the task, because I’ve asked them a question and then I’ve said can you look into this... So that still does happen.’ – P31, Development Manager
Similarly, while observing team’s sprint planning meeting, this was also noticed that the manager having an eye contact with one of the developers while elaborating a story might have influenced the developer choosing the story as that team member was seen to self-assign that story.
C6: Inadequate Expertise & Resources. As another constraining factor, sometimes inadequate or limited resources are seen to influence the smooth execution of self-assignment. As an example, in a team with one tester, there is no option of choosing tasks. As an exceptional case, when most of the members in the team happened to be away, then also self-assignment is kept back.
‘There’s no self-assignment, because the Quality Assurance Analyst is a single person, he cannot, it’s only the Quality Assurance Analyst who can take up the thing –P29, Developer & Scrum Master
Also, sometimes managers and scrum masters have to assign tasks to keep a balance for equal distribution of work among the resources. For instance, if there is a high priority task that must be assigned, it goes to the person who is free but if it was not high priority, it could just go in the queue. Participant P21 shared an example of this as:
‘I [Scrum Master] tend to have something in my mind about who might be assigned partly because I want to make the logistics work, this person becomes free, this person has some other work therefore it probably goes to the person who is free.’ – P21, Scrum Master
From these examples, it is evident that sometimes when the resources are not fully available the manager has to purposely suspend self-assignment. Also, to keep a check and balance. This indicates that the availability of expertise and resources also impacts the self-assignment process.
C7: Multiple people interested in similar tasks. There are times when many developers/testers are interested in picking same tasks. This could be due to the level of ease or interest, potential for outside endorsement, opportunity to learn new technology etc. However, it could sometimes get challenging to not let the same people pick the fascinating ones, keeping an equal balance among all the team members and getting the full benefits of self-assignment.
‘As you’re [team] working down the board, getting stories done, you know, maybe the one [task] everyone wants to do is story number 4…’ –P3, Technical Lead & Scrum Master
C8: Self-assignment tasks not skilled at. Different instances were revealed around people’s reactions as constraining factors towards self-assignment. Developers and testers are seen to choose tasks that they might be interested in doing to explore and learn new things, and this sometimes ends up into low productivity, needing more help or making wrong estimations. This is because they may perceive the level of difficulty and effort required to complete the task incorrectly. The task could be more challenging and time-consuming than initially anticipated. But an encouraging manager has to outweigh these, firstly for the promising benefits of employee satisfaction through some control over what they pick for themselves and secondly allowing them to try, learn and improve their skills. However, this can be challenging as the task may need to be estimated accordingly or given more time for completion. It is also reported that sometime someone picks a task they are not skilled at and struggle later on which is indirectly encountered as another challenge with self-assignment.
‘A person might go and take a task that they’re not the right person for. So e.g. there might be a very specialist task in a security piece of work, and a person who might not have self-awareness might go and pick it up. And rather than them doing it in an hour, it might take about three days’ –P42, Technical Lead
C9: Self-assignment for new team members. Newcomers are neither well-acquainted with their fellow members nor with the team’s development processes in the beginning. They require some time to settle in, understand development practices, build trust and co-ordination with other team members. Similarly, introducing new members to self-assignment seems challenging, irrespective of being a novice or experienced professional they need some assistance to understand the team’s task assignment process in addition to getting an understanding of the technical domain and code base.
‘They’re [new member] just starting to know everything [process & project] and in a complex project as this, if you ask me, I would like them [Manager] to assign as I don’t know a thing about it’ – P33, Tester
C10: Personality Traits. Some people struggle in having confidence in their own choices, it might be part of their personality, or the culture they come from or due to lack of self-confidence. For instance, the shy or introvert members may find it intimidating to self-assign a task. They sit back while others self-assign tasks leaving behind the ones not picked up by others. Then, there are also less-confident members who may have the right skillset and knowledge to perform the task but are scared to raise their voice or are under the impression that other team members may be more capable of performing that task quickly and more efficiently. They have a natural tendency to believe in other opinions more and seen more comfortable with working on tasks assigned by others.
‘There are members who don’t want to pick something, it’s hard for them to step in front of the team and take something, rather than getting something. And that is a personal attitude, and that’s hard and if you have a team where more than one is like that, it’s hard to counter…’ – P32, Developer
Actions/interactions Strategies– To Workaround Challenges of Self-assignment
The constraining conditions described in sub-section 4.4.2 steer the individuals and teams to adopt strategies for overcoming the undesirable effects of the phenomena. We identified 14 strategies, which we describe in this sub-section and are illustrated in Fig. 7.
S1: Task delegation
Task delegation is the most common strategy [N = 16] used for an urgent piece of work (C2) and when the team is short of resources (C6). Our analysis suggests that very high priority tasks are assigned directly to the person considered best suited, the specialists as indicated by a lead below.
‘So typically, I’d pick one of the more specialist people who know what’s going on and say ‘hey, can you please jump in and grab this task?’ – P14, Technical lead & Developer
Sometimes the task is allocated to the most suitable person with the desired technical skillset, at other times it may be directed to a person who has done similar work in the past as expressed by Participant P21 through an example:
‘We made a change in partition manager [module] three months ago, and this is related to that change. ‘You did that change, so you understand it. Can you go and do it?’ – P21, Scrum Master
This can result in a quick solution to the problem but was perceived as a threat to autonomy as the team members are no longer allowed to choose their own tasks, rather the assignment is being enforced on them through their manager.
S2: Offering work
An uncommon strategy [N = 6] practiced to address urgent work (C2) is that the manager will post a message through online channels, like slack or email, or during the stand-up indicating the high priority of the task and let the team members choose. Listed is an example where true autonomy can be easy to practice by providing the opportunity of choice as a variant of self-assignment in the form of volunteering.
‘X [Manager] posts a message that this ticket is priority, can someone have a look and then everyone will volunteer’ – P33, Tester
S3: Manager’s absence from task allocation sessions
To minimize the influence of the manager (C5), teams are seen to conduct the task allocation sessions without them. It helps them choose their tasks without the manager’s persuasion.
‘Had to persuade dev manager that [stepping out] would work and worked in other places till he reckoned and agreed the team was a bit more mature and he would step back letting them assign the tasks themselves and do their own breakdown.’ –P21, Scrum Master
Managers seem to have this self-realization too as expressed by P31.
‘I felt that I could be a little bit coercive too by saying yeah, X would be best to work on that one, and then suddenly he’s assigned to it by default only because I said that. And so that’s why I don’t participate in those meetings.’ – P31, Development Manager
We observed during a sprint planning meeting [T11], the manager briefed all the user stories to the team, and they collectively estimated them. Then the manager left the meeting room, and the team conducted the task breakdown session without him.
S4: Facilitating self-assignment
The scrum master is seen to play an influential role for ensuring an even distribution of work within the team (C3). When managers believe people are not choosing enough tasks for a sprint, it is the scrum master who is seen investigating the underlying cause. People may not be picking more tasks due to low confidence, no experience, lack of interest, other commitments such as working on other business as usual tasks, or to help others. In exceptional cases, when multiple team members show interest in similar tasks (C7), sometimes it’s the scrum master who intervenes to keep a balance ensuring everyone gets equal opportunities to learn and grow by experimenting new things.
Similarly, individuals and teams new to agile practices (C9) sometimes are seen struggling to adopt to that level of self-organization due to multiple reasons such as team member’s background, experience and attitude. It was shared by the scrum master [P21] that they started practicing self-assignment only to be part of the project initially i.e. practicing it for new development work. This was done to persuade their technical manager who had concerns around meeting a deadline when client demanded quick completion of work. SMs’ shared their experiences, when they had issues trying to get some members to take ownership and operate autonomously. There are diligent members who have no trouble picking tasks voluntarily, while it is also not unusual that there are members who barely self-assign unless everyone else in the team has self-assigned tasks. They rely on the SM to suggest them what tasks to self-assign. In such cases, scrum masters and managers are seen to play a primary role to encourage team members to volunteer and steer the team in the direction of self-organization as indicated below.
‘I am trying to get people in the way of thinking more with agile mindset. But also try not to push them too hard or too fast, cos then they kind of resist it’ –P29, Developer & Scrum Master
‘We’re trying to build a culture where people volunteer for stuff when Sprint planning happens. But we don’t have a team that is currently groomed with that attitude and mindset. So, we’re coaching them to be at that stage, so we ask them to call themselves out on what they want to work on, because they’re unsure of what to pick up first’– P26, Product Owner
Similarly, a good coaching conversation or one-on-one mentoring by the scrum master is reported as a strategy to help people who are not comfortable in raising their voices and choosing work for themselves (C10). However, as indicated by the participant this does not happen straightaway and demands a supportive scrum master and consistent team support to help shy, introverted people make choices and feel confident in their decisions.
I had one colleague, he was very silently, he was not really talking, he was a wonderful developer, he was really, really good, but he was not able to step in front of the team and take something. And I worked very long with him together, and we ‘taught’ him, and mentored him on a friendly way. It took a while, a long while ……… Because I taught him, I was kind of his mentor … and he learned it. – P32, Developer
This also goes back to the type of culture the team possesses. In an environment where people can have open discussions and address such problems either on individual or team level, this is easy to address. On an individual level, it is mostly the scrum master, mentor or coach who is responsible to facilitate the self-assignment process providing the guidance and helping them to overcome individual problems towards self-assignment. On the team level, the development team members work together to facilitate self-assignment, e.g. senior peers are also seen to play a significant role to support the junior team members.
S5: Self-assigning the next available task
When many people show interest in the same tasks (C7), for most of the teams the sprint rule of self-assigning the next available task automatically handles such situations. The first person who runs out of work can take the next available task on the storyboard. A senior participant shared that even being a senior developer, if he likes to do a task, at times he misses out because of this rule. This naturally addresses the issues of short of work, unequal distribution, under-committing, and over-committing of tasks (C3). In this scenario, it is to be ensured that there are enough tasks on the board so that no one gets short of work. It was observed during the sprint planning meeting [T11] that the scrum master included few stories as ‘could have’ to ensure everyone has work. These were treated as stretch tasks for the sprint.
‘As you’re[team] working down the board, getting stories done, you know, maybe the one[task] everyone wants to do is story number four, but no one can go to it until story number three has no more tasks they can work on. So, but the first person who runs out of tasks above that story will grab the task.’ – P15, Developer & Scrum Master
S6: Active participation and use of tools
Software tools facilitate self-assignment by providing all the information related to a work item in one place. They serve as central source of information and enable teams to stay up to date, increase transparency and visibility of work items. The use of online tools is identified as a useful strategy in keeping the remote members involved during the allocation process (C4). These tools make self-assignment easier as the team members can just access the tool irrespective of their location, look at the product and sprint backlog and self-assign items. The moment a task is selected it reflects the assignee details against the task. It serves as the single source of truth for everyone making the progress visible to people inside and outside the team, highlighting if people are picking up work, how long they are taking to accomplish the tasks or even used as a platform to ask or offer others help. These tools assist the team members to collaborate and communicate actively.
‘That’s the reason why we’ve got systems. So, for example, if I decided to work on this task, I’ll go into the system, assign that task against my name, and then nobody can take it from there. So, you can’t work on a task unless it has been assigned to you’ – P37, Head of Product Delivery
The remote team members are expected to engage more than the non-remote members, as they may be missing information and important discussions due to their physical absence. A participant stated that remote members need to participate more actively than the non-remote members.
‘So, you know, I always say that if you’re remote, you’ve got to do more work to engage, and the people that are not remote don’t care about your remoteness actually’ – P30, Lead Developer
S7: Highlighting dependencies
Another way to address dependencies between stories or tasks was through highlighting blockers on the story board to notify others that this task has dependency (C1).
‘We’ve got these little magnetic red things, we just go and put a blocker on them [dependent tasks], and the team knows why it’s a blocker. When the person finishes that card, they’ll pull it off, and often they’ll just pick that card as the next one anyway, just because they’ve finished it, and it’s unblocked.’ – P14, Technical lead & Developer
S8: Isolating dependent tasks
The team shared several ways they handle dependent tasks (C1) and some of them are reported to work well. The most effective and common method [N = 14] stated to face the challenge of dependent tasks is isolating dependent tasks across sprints. One sprint takes care of first part of dependency while the next handles the other dependent part.
‘The way we do it [dependent tasks] is we do identify that this will block this one. Because we’re only doing one-week sprints we sometime put the two cards in two different sprints. So, there’s immediately like a divorce between sprints, so you say hey we’ll do this one and this one, this one and this one, and often that works quite well.’ –P14, Technical lead & Developer
S9: Standalone task definition
Defining tasks in a way that they are kept mostly independent from the start is another shared strategy to address dependent tasks (C1). For example, defining a task in one step (including front- and back-end) is seen to be practiced instead of segregating them into front-end and back-end tasks which is more likely to increase dependency and cause delays.
‘So, its start to finish, like from the front end to the back end. So, we [team] don’t have a story where it’s just the front end, and a story that’s just the back end, so that then becomes a dependency.’ – P16, Developer
‘When they [team] slice a story or even the tasks, they create tasks that are what we call atomic, and are standalone.’ –P42, Technical Lead
S10: Flexible estimations
The most common strategy [N = 8] that is reported when developers pick tasks, they are not good at (C8) is to give more time i.e. over-estimate such tasks. P15 stated how team estimation goes low in such cases below.
‘If someone picks [a task] up, and they’re not familiar with it, our [team] estimate starts maybe too low. So, we would expect them to meet up that expectation, and say, maybe it was five hours, maybe the guy says it’s going to take me eight hours or 10 hours. And once it gets too big, you go, okay, do you need some help on that’ – P15, Developer & Scrum Master
S11: Task’s reassignment
In a few reported cases, the work gets taken away from the struggling person (C8) and given to others to accomplish the deadline. Team members find this removal from tasks as demotivating, so this is not specified as a preferred action. Others prefer passing on such tasks as indicated below.
‘If someone was struggling, they may give it away, but it’s never been taken’ –P15, Developer & Scrum Master
‘We’ve had examples where work has been picked up by somebody, and they’ve had to pass it onto somebody else to do, that happens.’ – P23, Test Analyst
Similarly, another participant specified considering task’s urgency to decide whether they will provide assistance or take away the task from them.
‘In those instances, two choices; either we put a mentor to work along with him and train him. If it’s not time critical, that’s what we would prefer doing. If it’s time critical, then we just take the task away from him and assign it someone else.’ – P37, Head of Product Delivery
S12: Pairing up with experienced resources
Teaming up with experienced resources and providing assistance to speed up the completion is also reported when someone has self-assigned a task, they are not good at (C8). This was also observed during the task breakdown session where two developers worked in parallel, one who was the module specialist worked on the development part of the story, while the other new to the module chose to prepare the unit tests for that story. This was how they were pairing up to work outside their expertise. When multiple developers are interested in similar tasks (C7), senior developers providing assistance is reported as another strategy where senior team members play the role of a mentor leading the other developer through completion of that task sharing knowledge.
‘Don’t just take the work and do it yourself [senior team members], even though it is easier for you, it’s good for them [member picking work not good at] teach them to do it’ – P29, Developer & Scrum Master
Similarly, new team members (C9) are seen pairing up to other experienced team members to obtain help. Having assistance from the day they started, is proven to be useful for new team members. This helps to build confidence over the time.
‘Just explain to them [new member], you work from the top down, and grab the next task that, that you think you can work on. We’ll probably do it, for the first few weeks, we’ll probably help him [new member] choose his tasks that might be easier for them to get into. Because they may not really understand what the tasks are. But after that, they’ll just grab something.’ –P15, Developer/Scrum Master
Pairing up the new team member with some senior developers is also reported to help them learn and fit in the team as indicated by P14.
‘I kind of buddied them up with one of my more senior dev [developer]. So, I made it very clear with him [Sr. Developer] that he was really responsible for making sure that this developer was up to speed. And because there was a buddy system, like she would always go to him first for some advice, for some help, and it was part of his day to day business that he had to help her’. – P14, Technical lead & Developer
At stages when the team members are found struggling with tasks, they have self-assigned (C8), some strategies are reported to address these situations. This is apparent in the shorter Sprints where tasks that are not accomplished get automatically noticed, and people start asking about the obstacles and offering help.
S13: Informal team discussions and negotiations
Managers shared multiple strategies e.g. involving all members in team discussions to develop mutual understanding and collective ownership for sprint tasks. This way all team members gained insights into the tasks, increasing their understanding from a technical point of view. So, having these conversations allowed them to make well informed self-assignment decisions. Similarly, another strategy is to encourage team members to have open informal discussions when multiple members are interested to work on the same task. This way everyone gets the opportunity to speak up if they want to work on that task. Team members are also seen negotiating with each other to work on tasks that interests them but picked by others (C7).
‘There’s always room for a team member to say, Look! I’ve seen that you’ve assigned yourself to this card. Do you mind if I do it, I’ve got particular skills in this area? That happens, it does happen’ – P23, Test Analyst
On the other hand, a couple of participants indicated this has never been a serious concern and most of the time team members are happy with whatever is on the top of the board.
S14: Fixed work assignment
One of the participants shared another strategy where they had a role ‘the bug manager’ in the team for the new team member (C9). The new team member was only responsible to handle all the bugs and ensure the stability of the platform. This way the new member was introduced to various areas of the application which helped them to explore, learn, and expand their knowledge with practice.
When I [new] joined the team... how do you [team] want me to be the bug manager, when I don’t know anything about your platform? Oh, it’s not, our platform now. So, I was for two weeks the bug manager, and after the two weeks, I knew the platform. – P32, Developer
Consequences – Of Strategies to make Self-assignment Work
The aforementioned strategies are used to overcome situations introduced by the constraining conditions and facilitate the process of self-assignment. These adopted action/interaction strategies helped to practice self-assignment positively, but there are also instances when undesired behaviours of practicing self-assignment are reported as negative consequences of adopted strategies. A list of consequences of these strategies, either positive, negative or both, are listed in Table 4. Details on which consequences relate to each strategy are presented in Table 5 with a few examples elaborated below.
Table 5 Consequences listed against the strategies
Manager’s absence from task allocation sessions (S3)
The manager may not know the nuts and bolts of a particular task while delegating it. Letting individuals choose takes off the responsibility from the manager allowing them to use their time and energy for other important and useful tasks. The strategy of not having the manager in assignment sessions (S3) results in effective utilization of manager’s time (N2+) as they will be able to invest their time on handling bigger problems then deciding which work should be done by whom.
This promotes autonomy (N1+) and increases opportunity to learn, grow and improve (N6+). It will provide individuals a chance to work on different tasks irrespective of their skillset supporting more cross-functionality (N7+) in the team. Team members can take on tasks outside of their areas of speciality which help them develop different skills offering them an opportunity to learn, grow and improve (N6+) their skills as stated by a developer.
‘It gives an opportunity for the individual to work on tasks that they would like to improve their skills on’ – P17, Developer
This improvement is not limited to individual’s technical skills, but also provides an opportunity to work on unexplored parts of the product. This technical learning can be more impactful when complemented with extensive product knowledge for career development and growth.
‘That way [self-assigning] we start discovering parts of the software that you not familiar with’ –P20, Lead Developer
This autonomy helps developers with effective self-management (N13+) and control their tasks. They could manage their own work e.g. prioritizing smaller, easier or harder tasks first suiting their convenience. The time they spend to ask to someone about the next task is utilized increasing productivity (N8+).
Task delegation (S1)
When an urgent piece of work arrives (C2) or the team is short of resources (C6) and task delegation (S1) is chosen as a strategy, then the manager would want them to work on areas where they would remain focused on their core activities and prior experience as acknowledged below:
‘Had it been me [manager] assigning, I would have always gone with my past experience and said, you’ve done it before, you do it quickly. So, the learning opportunities would have reduced in that kind of a scenario’ –P37, Head of Product Delivery
With this task delegation, autonomy (N1-), the opportunity to learn and grow (N6-) will be compromised resulting in threat to cross-functionality (N7-) and healthy team culture (N3-). Furthermore, empowering team members to choose instead of enforcing delegations automatically fosters healthy team culture (N3+) in the long run as indicated by one of the participants.
‘It [Delegation] will give you some sort of sense of progress in the short term if somebody micromanages other people, I guess you will get some traction and you will get some movement. But I don’t think in the long term that is sustainable or beneficial for the type of culture that we want to have’ –P42, Technical Lead
But at the same time since the task, in this case, will be done by an experienced person so the chances of errors will be less, the quality (N5+) of the work will be good and the maintenance time will not be more (+) compared to a situation where issues could arise due to lack of knowledge or experience. This would get things going quickly (+).
Volunteering and Offering Work (S2
If volunteering and offering work (S2) is chosen as a strategy then it encourages individuals to choose asserting autonomy (N1+) which naturally fosters a healthy team culture (N3+). However, depending on who picks the tasks, another contextual condition e.g. if an experienced person picks the task this is typically beneficial as the task will be done quickly (N4+) due to previous experience and the quality will not be downgraded (N5+).
‘I have experience in this, let me just pick this up and do it, and they can quickly resolve it. So, we’re able to respond quicker to the customer’s problems’ –P37, Head of Product Delivery
On the other hand, if task is being picked by an unskilled or inexperienced team member, then this can lead to a delay to deliver (N4-) with a potential compromise on quality (N5-).