Of the four main claims in the agile manifesto, this is the one which is the most violated and missed. It’s easy to start thinking immediately in terms of processes and workflows. It’s a trap. It’s just a habit. In most cases, processes and workflows are created to compensate for a lack of trust among people in a team.
When communication breaks down, each team member does their own thing. It’s just “heads down”. While this may increase the lines of code they produce, it’s unlikely to produce more useful and working software. Regardless of whether I’ve worked alone or in a team, quite often discussing a feature before I begin work on it, I get insights which I wouldn’t have gotten on my own. The additional perspectives are invaluable. This ranges from how it might look on the UI, to what the main purpose of a feature is, to how to implement the relevant data structure or algorithm. This type of exchange happens because of good team interactions. Good vibrations.
It’s really peculiar and hard to measure, but it’s still important. This “soft” part of software development, especially how it impacts effectiveness, is probably the most important part.
In improv comedy, there is a concept of “Yes, And”. When developing a scene, two improv actors enter the stage with absolutely nothing but their imagination. Once one of them starts, the other immediately responds to the “offer” of the first. That offer becomes “reality”, for the purposes of the skit.
This happens on the language level too. When coming up with dialogue, improv actors, dare i say comedians, always try to accept what the previous person said. Saying “No” or “Yes, but” kills the dynamic of a scene. It decellerates. Rapidly. This is the essence of collaboration. If the environment is such, that everyone can build on everyone else’s creative ideas, it accelerates the rate at which these ideas come about. It’s not only about the “communication saturation” which scrum co-creator Jeff Sutherland has mentioned in the past, where there is a larger number of connections among project participants. In particular, on the infamous Borland Quattro Pro project, they delivered 1 million lines of code in 18 months, with a team of a few people. There were many more discussions with project managers and testers than you would have on a typical project.
Here the focus is on the quality of the interaction. At each step forward, you advance it. You are moving rapidly foreward. You discover what you are making as you make it. It requires full attention. It requires being plugged into what your teammates are doing, as you want to run with any offer they make.
This same type of productivity happens when designing an architecture for a new piece of software. The software is unknown at first. The aspects are discussed by the team. First they diverge and explore a number of possible forms of the software. This is a series of “yes, and” offers. Finally, they converge on various solutions. The best solution emerges. There are conflicts in the ideas, but the people involved are constantly holding on to a “yes, and” attitude.
If you thinking giving a presentation in public is hard, try making one up on the spot, with a few coworkers. While this might seem a bit wacky, it’s actually a highly refined set of skills practiced in the improv theater community. While the don’t know what any particular scene will be about before they start, each actor is completely submerged into what everyone else is doing. This means they find ideal ripostes to every offer, the conflict is discovered, it builds naturally, it culminates, and then-usually-there is a completion in the scene. This pure creativity comes from being completely plugged in to the situation and the other team members.
This improv meme has been on the fringe of the agile community for a while. I suspect its because there is a strong desire for focusing on individuals and interactions over processes and tools. People never seem to stop amazing me, especially the amount of creativity which others find in themselves. In a team setting, the culture in which a team operates allows for this type of free-flow of creative ideas. This assumes that everyone feels safe enough to offer ideas as they are created.
Senior executives typically want to be sure that they are getting the best possible performance out of their people. Performance is a typical end goal. Sometimes, however, this goal is disconnected from the people actually doing the work. Their motivation suffers because they can’t see how it all fits together. Having a clear strategic picture is crucial, yet according to Beyond Budgeting, rather atypical.
Fortune magazine claims that over 70% of the Fortune 500 don’t have clear strategic goals. If they don’t have clearly defined goals, it’s not surprising that many of the employees don’t have very much motivation. They don’t know how they will be evaluated, as the goals are arbitrary. Often there are local political maximums achieved, at the cost of a larger good within a company. Effective goals tend to be grounded in a clear, common understanding of the company’s customers and competitive environment.
This type of bad cultural conditioning results in compensation mechanisms. As the level of trust is low, since the goal posts are somewhere in the fog, individual managers push to micromanage and achieve smaller goals. Their aim is to look good, by delivering exactly what they promise, by the date they promise. The art and science of project management arose, to help them achieve this aim. Regardless of the company’s strategy, each manager delivers what he promises. Often, this requires lots of workarounds, special cases, and pushing people around in order to make sure that they hit specific dates.
In contrast, high quality communication among team members means that everyone is focused on customer needs. They all have the same understanding of those needs. They all work towards to addressing those needs. Much of the corporate impediments to progress are addressed quickly. That’s where this Agile principle puts you.