Whether we’re talking about sharing photos with family or managing our application lifecycle, modern-day software...
is allowing us to communicate and collaborate more effectively from a distance. Collaboration and communication are two of the big trends we’re seeing throughout the software industry. In this tip, we’ll take a look at how collaborative tools are being used for managing software throughout the application lifecycle and how these collaborative techniques can benefit your software development team.
These days, geographically dispersed teams are the norm. Organizations are taking advantage of outsourcing , allowing telecommuting, or simply have teams spread across multiple sites. As a result, co-location is becoming increasingly rare. However, strong teams depend on frequent communication as well as on the trust that forms from friendships.
ALM tools are taking a hint from social networking tools like Facebook, and are providing opportunities for project team members to share more than just project documentation.
Team members can share photos and share status updates and “friend” one another virtually. The lines between professional and personal lives become more blurred, allowing relationships to blossom to full-fledged friendships, even if they are an ocean apart. By being able to chat real-time, share photos and a little of one’s personal life, trust is built. This goes a long way towards building teams that are cohesive and collaborative.
One of the most challenging aspects of managing the application lifecycle is managing the change that is inevitable throughout the lifecycle. Tools have had functions such as traceability and version control to help manage change. However, now, ALM tools with collaboration features allows for people to be brought into the mix.
By associating people with a particular piece of code, for example, the appropriate people can be notified whenever there is an update to the project that will affect that piece of code. By setting up appropriate dependencies or subscriptions, notifications can be made automatically to the right people, whenever there are changes in the project. This means that everyone in the project can stay in the loop as needed.
The collective genius
Collaborative features in ALM tools also allow the team to gather the thoughts of all the stakeholders without the pain of old-fashioned review cycles. In the past, a document would be sent out for review to several stakeholders. Each reviewer would send in their often-conflicting comments, leaving the author totally confused about which direction to take.
With collaborative features, everyone involved can have a voice. Any conflicts can be openly discussed. No longer will decisions be made in a vacuum, nor will there be a need to go through multiple review cycles every time there is a new suggestion. By harnessing the power of collaborative tools, all stakeholders are able to openly discuss pros and cons and brainstorm for solutions. Additionally, this group discussion is available to anyone who later wants to understand the history of a decision or the design of a solution.
Of course, the team must determine the processes they want to enforce and the rules of their collaboration. They can set up polls or create other methods for coming to consensus. However, by using appropriate tools, they are able to ensure they gather the voices of all those who have a stake in the outcome and that the end result is one that they have all reached together.
Up-to-date documentation and multimedia
By having collaboration built into your ALM tools, team members are able to update documentation real-time which helps keep everything current. Furthermore, on top of written documentation, many tools allow for the ability to share and store photos, audio files or videos. Having the ability to store a variety of media types will mean artifacts will be available that will help clarify understanding.
And once again, having artifacts that are dated and archived will allow for tracking changes and information throughout the lifecycle. People who are new on the project will have a complete history of all the documentation.
Though collaboration features offer a lot of benefits, there can be some issues. One such issue may be information overload. If every conversation is stored, it may be difficult to easily sort out what’s important and what’s not.
When looking at collaboration features in ALM tools, you’ll want to be sure that if you are using the tools to store artifacts that those artifacts can be organized cleanly with search capabilities so that you’re able to find the data you need easily.
Another possible issue is having too many people involved. Gaining a collective voice is great, but hearing too many voices all at once can often be confusing! Have you ever been in a chat room where there are so many people chatting at the same time that you can’t follow the conversation? It’s as if you’re in a room where everyone’s talking and it’s so loud that you can’t hear a thing! Having multiple ways to communicate is great as long as we have established ways to effectively listen.
Another thing to look out for is usability. If a tool is sluggish or hard to use, people won’t want to use it. They won’t want to take advantage of the extra “bells and whistles” if the cost is complexity and performance.
One final thing to be aware of is the need for consistency in processes. If everyone isn’t using the tools consistently, you can often cause more confusion, making communication worse than ever.
For example, let’s say only some people use the tool to document a discussion around a decision and come to certain conclusions. Then others on the team, via email, come to a different conclusion. If the actual decision gets communicated via email, in a meeting, or on a phone call, the documentation in the tool will be out of date, and only cause confusion.
ALM tools are trending towards providing collaborative features that allow for strong virtual teaming, real-time communication, notification of changes, and the archival of multimedia artifacts. These features are proving beneficial to software development teams, but they aren’t without their issues. Look for ALM tools that will allow your team to work productively and collaboratively. Set guidelines to ensure tools are used consistently. Used correctly, tools that foster collaboration will be a big boon to your team.
For a comprehensive resource on social media, see Social media: A guide to enhancing ALM with collaborative tools.