Collaboration is a key tenet of Agile software methodologies. It is mentioned or implied in both the agile manifesto and the the twelve principles behind the manifesto.
From the manifesto:
From the principles:
The manifesto and it’s backing principles (as well as the associated methodologies) are interleaved and synergistic. That is, when they are taken as a whole their effect is greater than the sum of their parts. The same is true for the nine items I identify as specific aspects of working with a lean-agile solutions provider which provide client value. While there is value in each of the items listed, taken as a whole their value is amplified. Nevertheless, I’m going to take them one at a time. :)
It might be productive to distinguish between team level collaboration and business level collaboration, but I’m not going to. Instead I’m going to focus on collaboration at all levels because the benefits are similar.
Also, collaboration in the simple definition above is probably not enough to ensure it is valuable. It must be effective and efficient collaboration. Consequently I will put some definition around what it takes to be efficient and effective collaborators.
Effective collaboration implies active participation by the people involved. It requires engagement. There is no sitting at the back of the class and never raising your hand.
Active participation on the part of all involved helps to break down silos (or cliques, or tribes) which in turn eases the flow of information. Information transfer from one group to another (or from individuals) has a cost and that cost is reduced when information flows most easily and is transferred in small batches.
Active participation helps the best solution for a problem to emerge. Diversity of opinions and of views is a strength as long as it does not lead to analysis paralysis. A more effective solution (within constraints) is generally a more valuable solution.
Individuals who are active participants are pro-active. This translates to a very short if not instant feedback loop within a team or organization. Fast feedback leads creates agility. Corrections can be made early preventing expensive rework or failure demand.
Effective collaboration means shared ownership.
Team members are all respected as owners of the product. When this is more than lip service - when people are invested in the success of the product - morale increases. Morale is a velocity multiplier. High morale creates energy and that translates into better, faster work. Better, faster work decreases development costs because d’uh. Work that is completed faster than it may have been gives the potential for earlier ROI as well.
Shared understanding and shared learning are implicit in collaboration
Two people are not collaborating effectively if they do not have a shared understanding of what they are doing. They may even be working at cross purposes. This problem is multiplied with larger groups.
Emergent design is one way of helping to ensure the sharing of understanding and learning. When a client comes with a problem to be solved rather than a solution to a problem the final solution will be better. A broader range of experience will be applied to solving the problem.
When problem solving is part of the effort (as opposed to simply implementing a preconceived solution) the solution is likely to be better and much waste will be avoided. This is because a lean-agile provider will work iteratively with the client to provide a minimum solution initially and build on that as needed. This allows a solution to emerge that is narrowly focused on the problem and avoids the ‘everything but the kitchen sink’ typically found when requirements are being argued over prior to any design and development work being done.
Transparency and Visibility are key factors in effective collaboration
Two other facets of effective collaboration are transparency and visibility.
Transparency, in this respect, means not hiding information. The earlier information is available the sooner the information can be acted on. This is especially important when the news is bad, but can also be important with good news. It is good policy to adhere to the rule of least surprise. This helps to optimize the system rather than a single part of that system.
Take for example a software development team that will finish ahead of schedule but which chooses not to be transparent about its timeline because they want to hedge. In a project with a high cost of delay they may be missing a chance to advance their timetable and thereby save money. If they development team surprises the organization by completing early and the marketing and operations teams are not prepared because they are working to the expected schedule an opportunity may be missed.