Agile software development is a team effort.
That’s an important point so I’ll repeat it. Agile software development is a team effort.
Whether you’re using Scrum, XP, Kanban or another agile approach, there must be a strong sense of teamwork and a willingness to deliver as a team. Too often, companies new to agile development, miss this point.
Old paradigms don’t work.
Here’s what often happens in new agile teams. Management thinks in terms of architecture/design, implementation and quality assurance. Similarly, they think about assigning one or more software architects, developers and test engineers to the team. Of course, the work to be done must be divided equitably among this group.
Do you see the problem? We don’t have a team. We have domains within a working group. Each domain will protect its turf. Each domain will defend its intellectual property.
This may work on a long-term project divided into phases — like waterfall. It cannot work in a series of short iterations where the workload (per domain) constantly fluctuates.
Time for a new paradigm.
When you decide to give an agile approach a try, select team members who care about teamwork; people who want the team to be successful; people who understand that if the team succeeds, they succeed; people that care more about team recognition than personal recognition.
It’s not just about selecting the right approach. You must select the right people to implement the approach. Agile development really works when you have a team that wants it to work.