Limits. I love talking about limits -- it is such a controversial subject with no concrete answers. People can always achieve what they put their mind to, so in some ways, limits don't exist; but at the same time, there are some finite limits in our lives - 24 hours in a day, our need to get nutrients, the need for rest and sleep. There are also some personal limits with skill sets and abilities, and these limits are most curious because yes, we are all capable of most anything over time with study and practice, but there is always the lingering question - what can we really do today? Today we all can't do everything well - unless we are beyond gifts. We typically do what we regularly practice well (the 10,000 hour law from Malcolm Gladwell in Outliers) or have natural abilities to do (either innate talents, which I do believe in, or from a past life, a la Shirley MacLaine), but I digress.
Knowing Your Role
It would be more than a surprise if a belly dancer performing with a live band suddenly stopped performing, walked over to the keyboard (or drum or whatever instrument) and took the musician's place while he started to dance. It would be a pleasant surprise if the switch was successful and entertaining; most times, I think the switch would be just make a bad show.
It's the same for an Agile team. If the database guy suddenly stopped his work and started doing UX work, it would be the same experience - a bad one. Everyone does something really well - and that should be respected (see my blog entry on "The Do's and Don'ts of Collaboration"). Sometimes, this doesn't happen and team members get into each other's business, which causes solution quality issues for a project - but that's a whole separate issue and there is a blog entry about that.
Knowing your role on a team is partly about knowing your personal limits, your personal strengths (your knowledge), and how you can contribute best to a group. Not everyone can be the belly dancer in the same way not everyone can be the UX person - and that's what makes a successful project. Everyone's talents are leveraged to achieve a goal.
Time and Daily Energy is Truly limited & Limits help you figure out how to make it happen
A dancer can only perform for so long physically for a show - it just can't go on and on for days or hours. And there is the audience attention span to consider (it can't really be more than 20-30 minutes per dancer - people zone out). You can't stop in the middle of a performance - you have to finish it to the end. And the musicians and the dancer both want the best performance possible. The musicians may determine the best song to play that showcases their strengths and the strengths of the dancer.
Agile is also about knowing your limits. What is an estimation meeting but finding what can be done in a finite amount of time with a team of a defined skillset? You determine the size of a task and its level of difficulty. You openly discuss with your team what is easy and what is hard based on the strengths and weaknesses of the team. You talk about your area of expertise and how you can contribute best. The team works to achieve a weekly velocity (a limit), sometimes trying to surpass it, sometimes just trying to achieve it. The stories are prioritized and scheduled to that velocity/limit. And the business prioritizes tasks, knowing which is most important to get done first. Agile is all about getting as much done as possible within limits.
Limits help produce the best product/performance in a given timeframe. There is always time to do more later, but you have a set amount of time for delivering something today.
Limits Optimize Preparation
Improv and Agile are about people being prepared rather than following a plan (See Improv and Agile - Part 1). It's about having the self-confidence to know that the goal will be achieved in the timeframe rather than living under the stress of a deadline to achieve a goal that everyone knows is close to impossible to get done. Successful performers rehearse and practice, know there is a performance date, but if they see the performance date as a deadline for the "big performance"- they stress out. This is what new performers do. Seasoned performers see a performance date as a snapshot in time - this is what I am able to share with an audience today. That same performer may go on stage to do the same piece again - or not - it's about what they do at that time based on how prepared they are that day.
The same is true for an Agile project. The team does the best they can in the timeframe based on how prepared they are. They can only do so much research, only do so much per task. It's not about perfection - it's about how good can it be based on what is known in the timeframe to get it to work. An Agile Sprint is truly about a performance by the team to see what can be created for the demo, and shared with the larger group in the company.
Without limits, I don't think anything would ever get done. There has to be a day where what people are working gets presented, or shared, with society. Everyone on a team has a role due to personal limits. A team figures out what they are going to do based on their strengths (limits). Sure, we all have infinite potential over a lifetime, but we have a lot of limits so to what will make us successful today.