As our agile process has improved our team has grown closer and happier despite half the team no longer being colocated. What is it that bonds agile teams together and what has to change for this to happen?
Traditional development teams are often plagued by hierarchy and ego. Senior developers often protect their position by ensuring they get all the good work, leaving junior team members feeling disheartened. Bullying is common, it’s no wonder that these teams have such a high turnover. Agile teams self organise without interference from management and everyone has a chance to contribute. Agile practices such as pairing demand openness and transparency and knowledge is shared freely through constant collaboration. Ego’s soon melt as we see each other as humans rather than competition.
Traditional development teams are often plagued with stress and anxiety caused by missed deadlines, missed requirements and unrealistic expectations. Agile teams choose what they want to commit to and generally deliver them. We work at a pace that keeps us thinking clearly, finding the best solutions and not rushing to another dead-end. Unit Testing and Continuous Integration means taking small steps, knowing immediately when we have broken something and never letting our changes become unmanageable. Pairing gives us support when things get difficult. This may all sound like we work slowly but we deliver fast.
Traditional developers may spend months working on their own to deliver a feature, it can be a long and lonely slog. By collaborating agile teams deliver working functionality regularly and get feedback during reviews. This momentum and feedback keeps us motivated and stops us wishing for something better.
Take collective responsibility
Agile teams take a collective responsibility for continually improving their code and process. This relieves the monotony and removes frustrating, repetitive tasks. We understand that the sooner you fix things the easier it will be to deliver working software. Developers enjoy working on a good code base and stick around.
By giving developers the responsibility and encouraging collaborative working teams can become strong and loyal. Good developers stick around and the low staff turnover makes the team even more productive.