In the early days of Scrum, we talked a lot about chaos theory and self-organization. We wanted to believe that “management” was unnecessary and even counterproductive to getting software built. Well, after 15 years and many, many agile projects (some more successful than others), I’ve formed some pretty strong opinions on how self-organization and team leadership impact a software project’s success. A team has to have a strong, management supported leader. For purposes of this discussion, this is the team lead. It’s not important what title is on the team lead’s business card. It may be Development Manager, Project Manager, ScrumMaster, Program Manager or whatever other label your organization is comfortable with. What is important is the knowledge and experience of the team lead. The team leader must have at least five years hands-on experience actually building software (I am assuming here that we’re talking about building software products). By this, I mean that the lead...