Are all of your team members only working on one project at any given time? Do your team members have other projects or responsibilities that need to be tended to at the same time? Is this team responsible for new development only, or also maintenance?
I like this method of working. Our teams work on multiple projects at any given time and as an organization, we tend to have a lot of meetings on different subjects that don’t always require the same group of people. Any additional info you can share on how this group fits into the overall company workflow would be helpful.
Q1: Are all of your team members only working on one project at any given time?
We generally have a number of projects we are working on.
Q2: Do your team members have other projects or responsibilities that need to be tended to at the same time?
We do all work as a team. Typically, individual team members do not have projects or responsibilities outside of the team.
Q3: Is this team responsible for new development only, or also maintenance?
New development and maintenance.
My remarks:
I don’t believe it matters what a team is tasked with doing, what their work is, or the nature of it – New dev, maintenance, 1 project or 10 projects… whatever. It is simply this: whatever the nature of the work, the team can figure out how to tackle it.
The video says all needed expertise is in the room, which is awesome. Is this in the form of generalizing specialists, so that some people are from, say, more of a testing discipline, some from programming, some from UX design, whatever? It looks like your customer is just there when you need examples of desired and undesired behavior, extra-functional requirements and the like. I assume the team is doing TDD (and maybe ATDD/SBE?) together. What about testing activities such as exploratory testing, performance testing, all the kinds of testing?
You’ve probably blogged about all that somewhere and I just haven’t taken time to read it!
We have all the expertise we need. It is up to the team to decide what that means, of course. Right now we have two developers who have a testing background, and that is very useful. However, I don’t think the background matters as much as the ability to get the needed work done at the quality level required.
We do TDD, as you assumed. Most of our work is 100% covered with unit tests. Much of our automated testing goes beyond TDD, as we also do scenario testing using Approval Tests.
The customer is part of the team, and we collaborate with them to be able to have answers to questions very quickly. Sometimes they sit with us, sometimes they are available via phone or IM or screen sharing. We find a way to do whatever is required to get rapid feedback on any questions.
If you are ever in the area, please drop by and visit.
Why do you need two projectors? It seems like the room is small and 1 would be plenty. Also, why does each person have a laptop if all the work is being done on the one main computer? How do you handle differences in opinion on coding or design?
A: We use 2 or 3 monitors or projectors for the same reason people often have 2 or 3 monitors on their desktop – to provide room for several applications to be opened and viewable at the same time.
Q: Why does each person have a laptop if all the work is being done on the one main computer?
A: All the production code and most of the other artifacts and work we are doing is done on the “main” computer, but it is very convenient for everyone to have their own computer for searching, trying things, reading documents, or whatever an individual would like.
Q: How do you handle differences in opinion on coding or design?
A: We handle differences of opinion by listening to the different ideas and trying them.
Pingback: Agile SD » Mar 7th: Mob Programming – A Whole Team Approach
Thanks for posting this video.
Are all of your team members only working on one project at any given time? Do your team members have other projects or responsibilities that need to be tended to at the same time? Is this team responsible for new development only, or also maintenance?
I like this method of working. Our teams work on multiple projects at any given time and as an organization, we tend to have a lot of meetings on different subjects that don’t always require the same group of people. Any additional info you can share on how this group fits into the overall company workflow would be helpful.
Thanks!
Hello John,
I’ll try to answer all your questions.
Q1: Are all of your team members only working on one project at any given time?
We generally have a number of projects we are working on.
Q2: Do your team members have other projects or responsibilities that need to be tended to at the same time?
We do all work as a team. Typically, individual team members do not have projects or responsibilities outside of the team.
Q3: Is this team responsible for new development only, or also maintenance?
New development and maintenance.
My remarks:
I don’t believe it matters what a team is tasked with doing, what their work is, or the nature of it – New dev, maintenance, 1 project or 10 projects… whatever. It is simply this: whatever the nature of the work, the team can figure out how to tackle it.
Cheers,
Woody
Looks cool, I would really like to try this.
The video says all needed expertise is in the room, which is awesome. Is this in the form of generalizing specialists, so that some people are from, say, more of a testing discipline, some from programming, some from UX design, whatever? It looks like your customer is just there when you need examples of desired and undesired behavior, extra-functional requirements and the like. I assume the team is doing TDD (and maybe ATDD/SBE?) together. What about testing activities such as exploratory testing, performance testing, all the kinds of testing?
You’ve probably blogged about all that somewhere and I just haven’t taken time to read it!
Hello Lisa,
We have all the expertise we need. It is up to the team to decide what that means, of course. Right now we have two developers who have a testing background, and that is very useful. However, I don’t think the background matters as much as the ability to get the needed work done at the quality level required.
We do TDD, as you assumed. Most of our work is 100% covered with unit tests. Much of our automated testing goes beyond TDD, as we also do scenario testing using Approval Tests.
The customer is part of the team, and we collaborate with them to be able to have answers to questions very quickly. Sometimes they sit with us, sometimes they are available via phone or IM or screen sharing. We find a way to do whatever is required to get rapid feedback on any questions.
If you are ever in the area, please drop by and visit.
Cheers,
Woody
Why do you need two projectors? It seems like the room is small and 1 would be plenty. Also, why does each person have a laptop if all the work is being done on the one main computer? How do you handle differences in opinion on coding or design?
Thanks for asking these questions.
Q: Why do you need two projectors?
A: We use 2 or 3 monitors or projectors for the same reason people often have 2 or 3 monitors on their desktop – to provide room for several applications to be opened and viewable at the same time.
Q: Why does each person have a laptop if all the work is being done on the one main computer?
A: All the production code and most of the other artifacts and work we are doing is done on the “main” computer, but it is very convenient for everyone to have their own computer for searching, trying things, reading documents, or whatever an individual would like.
Q: How do you handle differences in opinion on coding or design?
A: We handle differences of opinion by listening to the different ideas and trying them.