Learning Objectives
The nature of Computer Science is collaborative. Most of the computing innovations are normally developed by groups of people. Working collaborative is a must for everyone in the area of computing.
Additionally, thanks to technology collaboration and communication have changed dramatically in the past 20 years.
Technology is possible due to collaborative efforts, and more and more collaboration is now possible thanks to technology
These are the best practices of rules of thumb that should be followed in order to constitute a high performance team.
Use online collaboration tools: Today collaborations and interactions have moved online, team members can see each other’s work and are expected to respond with rich interactions, critical inquiry and clear communication.
Online tools support collaboration by allowing programmers to share and provide feedback on ideas and documents.
Share strengths of individual members: Identify who will need help, of what sort and from whom and on what aspects of the task.
Commitment and Accountability: Have a thorough discussion about the meaning of teamwork. Teams often fail when members do not pull their weight when they are not accountable and do not really collaborate at all.
Accountability starts at the beginning of the process as a way to prevent the issues from appearing. In order to do so, leaders and team members should be able to agree on the answers to a basic question how will the team know if they have met expectations.
When we collaborate, we need to be crystal clear and have measurable improvements and define milestones we want to achieve in order to succeed.
A good practice is to clarify from the beginning the 4 Ws
What: what actions needs to be taken
Why: Why is this action important
Who: Who is responsible
When: When must be the task completed (This must be specific)
Set Rules: Have members agree on norms or a contract which defines each person’s role. Have specific remedies for situations in which members do not live up to the agreements.
Prepare for fall apart: it is essential that the team members feel safe to take risks and communicate openly. Things can and often do go wrong. Teams may start off feeling inspired and unified, but later discordant personalities emerge, agreements get broken and suddenly everything is turned upside down. A productive team is prepared for this process and if productivity is going down, reserve time in each team members’ schedule for people to sort out any differences and to regroup and reassess how things are.
See Conflict as Opportunity: No one likes conflict, but this is the exact point when team members learn the ways of conflict resolution. They are going to need it to work together in the future. Use a language of constructive feedback and the golden rule of good listening, which requires for every member to be willing to listen and not only to wait to air their own response.
Critical thinking: a very powerful actually a very necessary tool to use when we do collaborative work. If we are trying to make the best product or design the best service or system that we can, we need to examine every nut and bolt for possible flaws.
Reflect and move on: Before the team of collaborators disperses, it is good to close the circle of learning. This means allow team members to debrief and reflect on the experience.
Common models such as pair programming exist to facilitate collaboration. Collaboration with others can make the programmer more self-aware. Group programming can match up your weaknesses with someone else's strengths, which results in a better product and leads to insight and knowledge not obtainable when working alone.
Teams who collaborate in programming bring many other additional benefits to the product development. It is ideal if collaboration teams can be formed with members who represent different styles, ability levels and different points of view. Incorporating multiple perspectives through collaboration improves computing innovations, as those innovations will reflect the diversity of talents and perspectives of those who designed it.
Additionally, collaboration that includes diverse perspectives helps avoid bias in the development of the solutions.
Technology has changed the way people interact and communicate in daily life. Because of the Internet, collaboration has been redefined and people have the possibility to share, collaborate, contribute, and maintain relationships around the world.
Some of the ways in which modern technology facilitates these processes are:
Video Conferencing
Video conferencing and video chat has made communication cheaper and more flexible. Telecommuting and Online Learning are some very clear examples of situations where this technology is used. In light of recent global events, this technology open up the possibility for many collaborative activities to continue to happen with little disruption.
Social Media
Technology innovations are not necessarily limited to hardware or software. Social Media is defined as an interactive, computer-mediated technologies that facilitate the creation or sharing of information, ideas, career interests and other forms of expression via virtual communities and networks. Social Media constitutes one of the main innovations that has impacted the way people share information. Social media makes spreading ideas easier and faster. Social Media has become a platform for collaboration, that facilitates the distribution of information. Care should be taken in verifying sources of information found in social media as there is a big ongoing debate regarding whose responsibility it is to verify the veracity of the information shared through this media.
Cloud Computing
Cloud computing is the on-demand availability of computer system resources, especially data storage (cloud storage) and computing power, without direct active management by the user. The term is generally used to describe data centers available to many users over the Internet. Cloud computing fosters new ways to communicate and collaborate. By using cloud applications people from remote locations can work on and make live changes to documents. If a personal equipment breaks, the data and with it, the collaboration possibilities are unaffected. The drawback of Cloud computing is the reliance on Internet connection to access any of the data or services. Additionally, as with any internet based activity, security and privacy are a constant concern for users.
Crowdsourcing
Crowdsourcing is a sourcing model in which individuals or organisations obtain goods and services, including ideas, voting, micro-tasks and finances, from a large, relatively open and often rapidly evolving group of participants. Currently, crowdsourcing typically involves using the internet to attract and divide work load. Crowdsourcing is more a concept that a technology, but it is defined as a technology innovation, since is due to technology that the idea became a possibility. Crowdsourcing enables innovation by providing the ability to access and share information and to build knowledge and solutions together. One example of crowdsourcing is the use of platforms like Stack Overflow in which a question or problem is "crowdsourced" to millions of developers who facilitate answers and potential solutions. The accuracy of those answers can vary, but the availability of them to a larger crowd, helps with the verification and confirmation process.