Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Lets say a team member is on an annual leave. He won't be attending sprint planning but he will be back by mid of iteration/sprint. Lets say he has 50% capacity i.e. as he will be available for later half of the iteration, should we:

  1. have a planning session with him after he is back.

  2. have a planning session with him before he goes on annual leave i.e. before sprint planning.

  3. don't schedule him for any task and assign him on non sprint tasks e.g. spikes etc

  4. have his peers plan on his behalf during sprint planning and absent person can then add tasks when he is back and if he cannot do all the work he can descope.

  5. have him sit with another developer and do pair programming for a while.

  6. anything else..

i am interested to know what you are doing..

Note: We are doing (1) and it doesn't feel right.

share|improve this question

migrated from stackoverflow.com Jul 20 '11 at 14:13

This question came from our site for professional and enthusiast programmers.

13  
I find flogging works. –  George Jul 20 '11 at 13:38
1  
How dare a project manager invade the inner sanctum of the worker programmers! –  trojanfoe Jul 20 '11 at 13:39
8  
I usually find these kinds of questions come up when project managers don't have enough work to do. Running out of colours to choose from in Excel leads to a lot of free time. –  Jamie Dixon Jul 20 '11 at 13:40
4  
We used to make the person buy scones for the rest of the team. Then we all started getting fat, so now we shoot them instead. –  Bohemian Jul 20 '11 at 13:41
2  
I think for an enterprise where multiple teams are doing sprints-in-sync we cannot enforce annual leaves of everyone to remain in sync with sprint cycle. Even if we could somehow people can be sick on those days so i think this is a valid question. –  Asim Ghaffar Jul 20 '11 at 13:52
show 3 more comments

6 Answers

up vote 10 down vote accepted

Planning is about doing commitment and about splitting committed user stories to tasks.

have a planning session with him after he is back.

Definitely no. Planning session after he is back doesn't make sense because commitment had to be already done.

have a planning session with him before he goes on annual leave i.e. before sprint planning.

Definitely no. There should be no planning when current sprint is not completed = result of current sprint is unknown and nobody knows if all user stories will be completed and customer will be satisfied with them on review.

don't schedule him for any task and assign him on non sprint tasks e.g. spikes etc

Definitely no. He will be back and his capacity should be used for sprint target.

have his peers plan on his behalf during sprint planning and absent person can then add tasks when he is back and if he cannot do all the work he can descope.

This is correct. The team does commitment - not particular team member. Team commits to set of user stories because they know their velocity and based on their professional guess they can modify commitment for the next sprint based on available capacity. There should be no tasks assigned to single developer upfront. Developers should be cross functional even it is not always possible, they should still be able to at least split user story to tasks. There can be problem with estimating tasks but in my opinion it is not needed at all.

have him sit with another developer and do pair programming for a while.

Definitely no. Pair programming should be covered by velocity itself. If you don't count with developer it is same like saying that he will be away whole sprint. Why should customer pay time of developer who did nothing during the sprint?

share|improve this answer
1  
This is the perfect answer. So perfect that after reading first 3-4 lines i knew what you will say next and more importantly how i should have known the answer myself i.e. focus is on team's commitment. Thanks a lot. –  Asim Ghaffar Jul 25 '11 at 20:25
add comment

In an ideal agile team members are comfortable with all technologies used in a project and any task can be executed by (almost) any member of a team. If that is the case, after sizing tasks in the backlog, defining the iteration and team members picking their first set of tasks from the backlog, you can just leave the rest of the tasks in the bucket and they will get picked up by the team members including the one who missed the planning session.

In another common situation team members are specialized (one is an UI guy, another is a database expert, third is a middleware guru, etc.) In that case the missing team member would get his tasks assigned in absence. He might need to re-size them after he comes aboard though.

share|improve this answer
4  
Do such teams exist? –  quant_dev Jul 20 '11 at 16:01
1  
@quant_dev: Mine's like that. Some people are stronger than others in particular technologies, but if you pair frequently and consistently work on a good mix of stuff, it's not a problem. –  William Pietri Jul 20 '11 at 16:30
add comment

In a team where "scrum" is working the team itself will pick up the slack and come up with a creative solution. This situation does not arise often enough to warrant describing special cases, just "go with the flow" for the rest of the sprint. After all, these sprints aren't very long anyway.

share|improve this answer
    
i think this is right way to do for small setups. however, if you have lot of scrum teams then probably we need some consistancy.. may be such issues can be discussed in scrum of scrum.. –  Asim Ghaffar Jul 21 '11 at 7:05
add comment

Vacation whether planned/unplanned is just part of the game. @Asim Ghaffar, the suggested methods - at least most of them seem, to be criminalizing a person who absented himself from the sprint planning meeting. In a team, that has healthy respect for one another will understand the personal needs of a person, and in such teams there is healthy confidence over the kind of work that he/she does. It is with this confidence that they plan on what they can do, considering the time when different individuals would be off from work for a particular iteration/sprint.

It is the tough times that tell how professional a team is. In a mid-sized team, in our company there always is a person who gets to miss the sprint planning meeting. We don't criminalize him/her. We believe (s)he is mature enough to take her/his decision :)

I appreciate your question as long as you are thirsty for learning and appreciating the spirit of Agile methodology of software development.

share|improve this answer
1  
i am not suggesting to punish the person. Guy couldn't attend planning session due to a valid reason, now he is back and wants to use his/her time for team's benefit.. how to best do that? –  Asim Ghaffar Jul 21 '11 at 7:09
add comment

Where I work, 4 would be the common solution taken. The person(s) missing the meeting may be on vacation, sick, or have something else that has to be done instead for a few cases where just because someone is missing doesn't mean that the sprint shouldn't continue. The idea here is that the team recognize what kinds of adjustments may be made if someone is away for half of a sprint though there may be more than a few adjustments made in the end.

share|improve this answer
add comment

People always tend to have vacation :-) no harm done.

In in an agile group if somebody needs vacation if the agile works properly one person missing should not make much of a difference, yes, the group can do less than normal but it just means doing less features in that iteration.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.