Introduction to Collaborate and Communicate
The productivity of a term is based on various factors and one of the key factors is effective collaboration and communication. Increase in the comfort level of communication and trust among team members leads to an overall increase in productivity of the team.
By working together, people can create greater value than what can be achieved working independently. Among other things, team synergy can be manifested in increased capabilities and more flexibility to adapt to changing requirements.
Team collaboration offers multiple perspectives on innovation and problem-solving. A team member working independently may not be able to identify the causes of a problem, but the collaborative team can get more insights into the problem and can provide better solutions.
What are the factors Influencing effective collaboration and communication?
The key factors for conceptualizing collaboration and communication mechanism to support software development in a distributed environment are as follows –
These principles are taken from notes of Erran Carmel – 1999
- Greater knowledge sharing and innovation -Enable teams to mutually exchange knowledge, experiences and skills to jointly innovate. This leads to better efficiency in work and also enhance innovation performance capability.
- Provides each team member with a 360-degree view – Provides better clarity and understanding of project goals. It leads to improvement in the team’s performance by increasing an individual’s awareness and identification of specific areas for growth.
- Reduce duplication of effort – Helps in reducing/eliminating the duplicate effort of learning, research, development, retrieving information and status update.
- Supports coordination activities and workflow – Supports better coordination for effective execution of multiple tasks and related workflow management.
- Support quality assurance – Supports effectively in managing processes during the course of project execution, for acquiring the quality of deliverables.
Collaboration and communication events
There are many events which occur during the course of executing Agile projects, where communication and collaboration activities play a key role. Following are the details of those events which enables terms to collaboration and communication effectively.
A workshop is an event where a group of people collaborate to present different ideas to reach a predetermined objective supported by an impartial facilitator. It is not the same as brainstorming. In a workshop, there should be a clear idea of what is required and what should be the outcome. It is usually conducted to compress timelines and reach a consensus/ decision faster. If there is a clarity articulated problem, it can be resolved faster through workshops.
The main purpose of conducting workshop is for gathering, understanding and prioritising requirements, mainly during the initiation phase. However, workshops are worthwhile to do once every 6 months, just to review the direction of the project, restate the objectives and realign the teams.
Before conducting any workshop, objectives for the workshop should be set up and the workshop agenda should be circulated to the participants in advance.
Communication is a key factor while conducting this workshop. In order to have effective and productive workshops, it is necessary to understand how to conduct a workshop.
Sprint planning meeting
Every sprint starts with a planning phase. In this phase, the team defines what is to build in the upcoming sprint. User stories are broken down to tasks. A task-level estimation is done and the team commit to the sprint goal. Product owner (PO), scrum master and the team participants participate in the sprint planning.
The sprint planning meeting consists of two parts, each one being a time box, and assigned with half of the duration of the sprint planning meeting.
In the first part, the team collaborates with the product owner (PO) and decides what will be delivered as part of the sprint. In the second part, the team figures out how it is going to build this functionality into product increment during the sprint.
In order to succeed, every sprint planning meeting requires effective communication and extensive knowledge sharing between the teams, product owner (PO) and other relevant stakeholders.
Face to face meeting between product owner (PO) and team are recommended if co-located. Otherwise, it can be over video conferencing. If none of these two options is feasible due to non-overlapping time zones, the two following alternative ways can be adopted for the co-ordination between teams and product owner (PO).
- Product owner (PO) should send the narratives ahead of time, of each prioritised user story required to be delivered during the sprint.
- The team should perform analysis on assigned user stories, decide on how much to commit, list of clarifications and share it with product owner for feedback.
- Post this, finalisation of sprint backlog for the sprint can happen over the voice or video conference between teams and product owner. It reduces the time required for the sprint planning meeting during the non-overlapping working hours.
Daily stand up meeting
Daily stand up meeting is for the team to discuss the progress with each other. It is not a meeting for status reporting to the manager. Customer and other stakeholders could be present in the meeting, but they normally do not participate actively. Daily stand up meeting is the place where the team –
- Comes together.
- Understands what is happening.
- Understand what others are doing.
- Understands where people can help each other.
Anybody can speak first in the meeting. However, it is good practice to encourage the youngest or the most inexperienced member to speak first so that their thoughts are not influenced by others.
Daily stand up meeting is held always in the backdrop of the sprint backlog and sprint progress chart. It helps to find the root cause if the item is not performing as per estimation done.
In daily stand up meeting following are the indications that the team is collaborating well –
- The team manages scrum call even if scrum master is on leave.
- The team is enthusiastic in providing updates and meeting ends in 15 – 20 minutes.
- Everyone attends daily stand up meeting and provides crisp and clear updates.
Periodic status meeting or Mid sprint Demo Meeting
Mid sprint demo brings a lot of client confidence as they are able to see the progress of the development of actual software. It is mainly used to share the status with the product owner and business users about the progress of the sprint. It helps in bridging the gap between the understanding of the project team and the expectations of the customer.
For co-located teams or distributed teams, the best way to share status to the Product Owner (PO) is directly through software code, followed by discussions.
However, distributed teams may have time-zone constraints and hence may need to rely on just enough documentation to communicate the status. These teams can notify the progress of sprint to the Product Owner (PO) in the form of status reports which helps in any interpretation and improves team collaboration.
Sprint review and Working Software Demonstration Meeting
At the end of the sprint, a sprint review meeting is held, which is attended by the team, scrum master, product owner and all other stakeholders.
The work product gets reviewed as per ‘Sprint goal’ and ‘done’ definition. The team demonstrates the working software to all shareholders for user acceptance on the deliverables. The team gets an insight into any charges which product owner or end-users plan forwards the development. Also, the product owner gets visibility of the development so far.
Sprint reviews are an effective way to share information and improve communication with all stakeholders. It enables teams, Product Owner (PO) and other stakeholders to inspect and adapt what has been developed in the current sprint and collaborate on what needs to be done next.
At the end of the sprint review, the team must notify the Product owner with the overall status of the project with the required documentation to support collaborate process. Various tools like issue tracker, risk tracker and progress tracker help in maintaining documentation and visibility.
Sprint Retrospection Meeting
Retrospectives are planned at the end of each sprint and each release. It is a retrospection meeting where the teams reflect on the happenings in the previous sprint, both good and bad, and take corrective action which can be implemented in the subsequent sprints.
Few of the metrics are analysed during the meeting. It is recommended that all the team members actively participate and collaborate in the retrospective meetings for continuous improvement during the course of the project.
Best Practices for Collaboration and Communication
Successful deliverables are produced within the scheduled timelines when there are great collaboration and communication mechanism between the involved teams. Building an effective distributed Agile team is about identifying and implementing effective practices. Distributed teams may struggle to ramp up if they operate as co-located teams and do not effectively address the additional collaboration and communication burdens.
To address this constraint it would require commitment from the teams to improve and support of additional practices and tools.
The following points outline the recommended practices for enabling collaborative and communication mechanisms.
Real-time communication enables a free flow of information and more proactive notifications, so that team members can respond more quickly to unexpected events and impediments. This can address the problem of delay in sharing information being dependent on formal communication. Real-time communication helps in overcoming communication-related problems like relying on the team hierarchy or waiting for planned meetings.
Collaboration is a critical activity for Agile project execution either in a structured or unstructured way. For teams distributed across locations face to face meetings or interactions must be conducted in a virtual manner like through video conferencing or web-based. These environments are generally accessed easily and almost always available. A virtual environment creates space where team members and product owner (PO) distributed across locations can come together and work on the common project goals.
Single meeting across locations
It minimises the overhead of having multiple team meetings at multiple locations. Conduct a single meeting across locations (with overlapping time zones) through the conference, ideally in the team room from impromptu meetings. This allows the entire team to get together quickly regardless of the locations. Teams can use live meeting facilities to share applications across the whole team.
Formal mechanisms for sharing information
The way team members communicate information with each other should be enhanced to support distributed development environment. For example, communication in a co-located environment can happen informally, may be verbal. But, this should be done in a more formal, structured and Scheduled way for a distributed team.
If the team is distributed across time zones, then the team members approach can be usage or email or a work item tracking tool for updating their status or a particular task. This becomes important as it ensures the information is available even if the person is not around during the overlapping time zones.
At times, teams may overdo the daily stand up meetings (beyond the scheduled time). It may lead to ineffective collaboration. This may be because they may find that this is the only opportunity to raise issues for the whole team. Meeting format needs to be changed in such cases by including some additional time after the stand up where the team can discuss other such topics.
System for engagement and unstructured collaboration
In any software development activity, all classifications done over emails, chats, conference calls and video calls are examples of unstructured collaboration. Development team meeting or chatting with architects, designers and product owner to clarify a work item or engineering task is either stored in their emails or on a whiteboard in a discussion room. Building a framework around these work items from this unstructured collaboration during the actual development engages the developers most. This, in turn, brings high quality and productivity.
What are effective Collaboration and communication mechanisms?
Following are key mechanisms for effective communication and collaboration in Agile projects implementation in a distributed environment.
- Screen sharing – Remote desktop, Anydesk, VNC, Net meeting, team Viewer and whiteboard are good utilities for screen sharing. This is useful for demonstration of new features, reproducing bugs, working with customers, sharing ideas/understanding and arising in installations.
- Screencasts- Video/audio recordings of the computer screen and a person talking are very useful for explaining a feature/module to another team member. Recording, then viewing a screencast may not be as effective as sitting alongside and its learning in person, but it has advantage replayability. A series of screencasts which explains the important parts of a system will get new team members to ramp up quickly. The knowledge transfer activity for the new joiners can be given with these screencasts.
- Screenshots-Best way to articulate is through sharing the screenshot of the images or pictures to the team members which would convey the details in a more effective way.
- Mockups- A distributed team leaves more room for misunderstanding of desired results. This can be addressed by building a mock-up (text files, paper, excel) of the desired outcome. These mockups can be shared across the distributed team by taking photographs and sending them across or they can be shared via screen sharing too.
Communication mechanisms :
- Video conversation- Large screen, high-resolution video conferencing with virtual whiteboard provides effective communication when teams are working in a distributed environment.
- Audio conversation- Polycom, VOIP are the most popular phones for long-distance calls. Usage of MS Office communicator which is available for online voice conversations is recommended.
- Instant messaging- The key value in instant messaging (IM) is a substitute for the awareness of who is available and working and for shorter and quick conversations/classifications. Do not type long conversations unless chat transcripts are required to be recorded.
- Email-It is the essential tool used to record the communication. It is used to summarise discussions, record minutes of meetings, conclusions and communication to the group.
Each of these methods/tools helps in communicating the information across the team. However, usage of these tools/methods without actually knowing the other person might not be that effective when compared to the usage of the same with a known team member personally.
This gap comes with many apprehensions or assumptions one team member has about the other, working in a different location.
How to carry out Collaboration feedback assessment?
A sample assessment by SCRUM coach to analyse the impact of new practices on communication and trust in the team.
Set of questions shared with the team –
- All team members know each other and their interests.
- The team shares responsibility for tasks.
- Team members interact effectively only in meeting and not through other means such as IM or phone.
- Team members argue even if it is not productive to do so.
- The team engages in complex analysis, including listening and asking questions.
- The team collectively owns the situation in difficulties.
- There is overall comfort in communication across the team.
- There is trust in team members.
The team is asked to select one of the following five options –
- Strongly Agree
- Neither agree nor disagree
- Strongly disagree.
Based on the feedback Scrum coach can take corrective actions.
Do’s and Don’ts while Collaborate and Communicate
- Work to maximize the communication bandwidth available for the team.
- Do not continually recognise the teams for each new project. Building teams takes time. Building a distributed team takes even longer and so does the ramp-up of the team or practices of communication and collaboration.
- Provide tools to augment or replace those that only work within a team room – like a work team tracking system to replace sticky notes on whiteboards.
- Don’t let remote team members be forgotten in team meetings, pair them up with a buddy and try putting everyone on the same tool by making all members talk in the conference at least occasionally.
- Do evolve teams’ practices as they identify better ways to deal with the challenges of geography dispersion. Frequent retrospectives are the key to get a team to consider how to improve.
- Don’t forget to include everyone frequently in team retrospectives to identify what does and does not work for the team.
In Closing, as a pioneer, we as a whole understand the significance of Collaboration and cooperation for the achievement of Agile projects. These are the greatest switches which won’t just make world-class lithe groups yet in addition enduring connections inside colleagues which is the way to greatness. Agile manifesto’s 3C model can only be achieved if the team follows great collaboration and communication techniques.