Often, when I comment on someone's blog post or respond to a tweet with a story about how my team succeeded with some practice, someone replies, "Yeah, but your team is special." I interpret this as meaning, "You're a presenter and book author. You must be an expert, so of course your team can do anything." This frustrates the heck out of me.
Sure, after more than eight years of working together, we've had a lot of success and we've learned how to collaborate to solve problems. But, we didn't start out as intrinsically "special." It took a lot of time, experimenting, and learning. My ability to share helpful ideas through writing and presenting is because of my team, not the other way around. It's ironic that people discount my stories because they think my team got some kind of special pass to success. 
What's more, my own team isn't particularly impressed with my speaking and writing activities. I have to contribute value every day and argue for my point of view when there's a problem to solve, just like anyone else.
Starting Out
If you know my work, you probably know that the company where I work was headed for disaster in 2003. The business model depended on automating everything, and the software wasn't working. This was as dysfunctional a software team as you've ever seen.
The owners wanted their business to succeed. They knew nothing about software development, but they were smart enough to ask around and find alternative approaches. They heard about agile, found out the name of the best person to help a company implement agile, and worked really hard to recruit him. Yep, it is true that having Mike Cohn as your team’s manager for the first year of their agile transition is a big advantage. But, more important is the fact that the business owners hired the best person they could find, and he actually did what he said he would do. For example, the owners gave the software team all the time we needed to learn how to deliver high-quality software. That isn't magic; it's hard work and a huge investment, and it required a lot of trust on all sides.
I don't want to bore any readers again with the story of how it took us so much time and work to learn how to be a self-directed team. It was the constant focus on quality, not speed, that let us start to have tiny successes and build on them.
Pride in Our Product
I recently happened to run across a few different articles and blog posts that talked about how pride in your work is really a key to success. My team made a commitment in 2003 that we would deliver the best code we possibly could and, over the years, we have made that commitment meaningful.
When we hire a new team member, we take the time to find the right person—someone we're proud to have as a peer. If someone on the team isn't able to buy into our desire for top-notch quality, our manager has to let that person move on.
It’' be easy to decide things are good enough and coast, but we don't. We look for ways to shake up our routine, make our retrospectives more useful, and improve our product.
Here’s a recent example. Our website UI was looking pretty old-fashioned—its look and feel were stuck back in the early 2000s. One of the developers experimented with Dojo and found that he could make improvements that helped keep users from making mistakes. The first time he used this technology, a problem for operations that occurred two or three times a week went down to only to two or three times a month. However, our automated GUI test tool couldn't interpret the Dojo code's generated Javascript correctly. We felt it was too risky to have a lot of GUI code that wasn't supported with automated tests.
We want the






