How Software Developers Use Social Collaboration in the Agile Age
"The sheer proliferation of these tools, each with their own functionality, has meant that we are seeing many developers fall out of that elegant word of collaborating on social streams in their issue tracker, and back into handling their interactions via email," Kersten said. In Kersten's estimation, the grand problem becomes how to connect all of these social networks so the developer can get the benefits of the many new best-of-breed tools that exist for the application lifecycle, without needing to maintain and track activity in each one independently. "With that vision of how great social collaboration in open source was when we first created it, and the promise of all the new developer-centric social tools appearing on the market today, I've dedicated myself entirely to creating a new federation infrastructure layer for social collaboration across the software lifecycle," he said. "I see it as the only way to avoid having developers go insane as the complexity of our code bases and collaboration needs continue to grow." To add to the collaborative nature of its toolset, last fall, Microsoft introduced a new feature called CodeLens in Visual Studio 2013 , which is a heads-up display for code. The heads-up display takes developers through their code and tells them whether there are any upcoming changes or other issues that might alter the code.Another thing Microsoft has inside Visual Studio Online and Team Foundation Server is a virtual team room, which is essentially a rich data feed of all the builds that are happening inside of a development team. "This is all coming to you in a feed, and you're able to chat and have a conversation in the context of all that data," Bjork added. "It creates a collaboration point for a group of people working together." In addition, the Visual Studio work item system has become a platform for a lot of other collaboration. The work items include the items in a developer's backlog or the tasks they perform; even the code reviews and test cases become work items. A classic example is a digital burn-down chart that is displayed and developers can access from anywhere. Burn-down charts, often used in Agile software development methodologies, are graphical representations of work left to do versus time. "In Agile, we always talk about 'failing fast.' It's kind of an odd thing because failure is viewed as a bad thing, but it's ultimately something you can learn from and it can ultimately help you get to your destination," Bjork said. "I think a lot of these collaboration tools help us do that, as well. They help to connect you so that if you're going to make a mistake, you're going to make it early before it gets to the main code that customers are using."
"That's an example of how people are using a lot of the data they have inside their ALM platform to create collaboration points in that platform and to make those points happen early instead of happening when there's a bug in the code," Bjork said.