Agile has gone mainstream. Companies do it, governments do it, consultants, and contractors. Everybody does it. Right? Maybe not. The metaphor that comes to mind is a group of young men discussing sex. It’s cool, new and everybody wants in. The majority say they are doing but the sad fact is that most of them are lying and those that are actually doing it, are doing it wrong.
After seen Agile done well, and badly I started to become aware of “smells”. These smells are signs that despite of an Agile veneer, it’s not agile at all. A side point is that the word Agile has lost its meaning. It became this silver-bullet-buzzwordy thing and now it’s close to worthless. See, the point is not Agile, the point is to get better at developing software. Hopefully these smells will give you ideas on how to get better at what you and your team do.
Smells no. 1, 2, 3, 4 and 5
Smell no. 6 - Developers only develop, testers only test, analysts only analyse, and managers only manage
Most companies struggle with knowledge management. There are applications that only one single developer or a few know how to maintain. The more complex projects are the less people tend to spend time in making sure all understand what the heck is going on.
The default solution is more documents explaining “exactly” how the system work and more controls to “guarantee” everyone is doing what they were told to. In a desperate attempt to scale companies create centres of excellence and group all people that execute similar work together, i.e. testers, developers, project managers, business, etc. With functional work division comes a nasty side effect. People create reinforcing feedback loops that justify that what they do is the most important thing to be done, regardless of the world around them.
Collective Ownership doesn't come for free. Teams have to deliberately spend time and effort to share knowledge, viewpoints and progress. Only then people will be able to help each other and be appreciative of the complexity each team member has to face when getting a task done. How many times have we heard that the business views IT as a bunch of expensive slackers? Or IT people saying that the business is just too stupid to get how complicated things are? That’s a smell. It’s a corporate smell that most organisations pretend isn’t there. If people don’t have the time share, or teams aren't set up in a way that people can become familiar with others do, that’s a smell. Teams should fight growing insensitive to other roles problems. A truly responsive team lives and dies together, hence the more you understand of what goes on in someone else’s patch the better. Time spent pairing Business Analysts and Developers, Testers and Project Managers, Developers and Business is time well spent.
Smell no. 7 - Who reports to who is clearly defined
Lines of reporting imply hierarchy and hierarchy impairs creativity because people are always asking for permission to do things. If you want a team to be responsive then don’t hinder them with the “who reports to who” game. Note that hierarchy is different than stakeholder management. A successful team must communicate adequately with all interested parties and ensure that the right level of information is been spread across the organisation. Managers that aren't part of a team’s daily struggles and come around from time to time telling people how to behave is a smell. A stand-up where people talk to the manager instead of the team is a smell. A team that has to ask for permission to create cards, change how they work, talk to the business or pair reeks of waste and inefficiency.
If you are a person whose entire job is to report upwards, please move out of the way and introduce that team to those that care. Progress reporting in teams that make work visible just happens and there’s no need to spend time wordsmithing messages in the “best” way.
Smells no. 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 and 19