How Software Developers Use Social Collaboration in the Agile Age

The push toward more Agile, open-source development has driven developers to cooperate more by using social media tools and collaborative environments.

Software development is a team sport and today's developers, perhaps more than any other types of workers, have a need to collaborate with others to get their jobs done.

In the past, when software development cycles were up to 18 months and longer, developers could afford to go heads-down and work solitarily on their piece of code or on their portion of a project and submit it at a required time.

But in today's world of Agile application development and continuous delivery, developers need to be in constant contact with others to know where everybody is in the process and what's going on when.

In short, software development, which many observers view as the world of sometimes anti-social geeks, has gone social.

Developers are using all sorts of social media and tools to support collaborative projects, including Twitter, Facebook, and Google+. Or they are turning to developer-centric sites like GitHub, Stack Overflow and Reddit. Then there are social platforms like IBM Connections and Yammer. Meanwhile, developers' tools, including major integrated development environments (IDEs), are evolving to feature more social components to become collaborative development environments.

"Developers work in teams and require rich interaction," said Al Hilwa, an analyst with IDC. "This is especially so as approaches shift to Agile methodologies involving continuous delivery of software. So it stands to reason that they want collaborative tools that can keep up with that intensity, and indeed, social tools are increasingly being used to support the development process."

In addition to collaboration tools like Atlassian's JIRA or forums like Stack Overflow, "social capabilities are actually being integrated into developer tools as features. I expect tools for project management, bug tracking, testing, and for almost any phase of the development process to sport profiles, discussion forums, wikis, message streams, etc.," Hilwa said.

Mik Kersten, who based his computer science Ph.D. around the concept of collaboration between developers and others in the IT environment, said social is becoming ever more relevant to developers. Developers are both the creators and the first adopters of social media technologies, Kersten said.

"Building software is inherently a creative and social activity," he said. "Yet if you look inside a typical organization, you'd think otherwise, due to the mess of disconnected tools you see developers using and switching between to get work done."

Kersten created Eclipse Mylyn, a task and application lifecycle management (ALM) framework for developers, and went on to found and become CEO of Tasktop Technologies, a maker of ALM integration tools.

What inspired Kersten in the early 2000s was seeing that the social media future was forming in the hands of open-source teams. Passionate individuals who were scattered across the globe created tools that externalized their social interactions into a social landscape built around code, he noted.

"Tools like Bugzilla, Git and Gerrit are little more than social activity streams that organize conversations around code and builds, rather than selfies and cat videos," he said. "All that Mylyn did was to give the developer a social task inbox where they could connect to all the activity streams for projects they contributed to or followed."