Agile Software Development and Project Collaboration Tools
Viewed from the perspective of project-related collaboration management, the Thoughtworks podcast Distributed Agile Software Development reinforces what many project managers already know about managing a project where key staff have to work from multiple locations:
- It’s always best if staff are located together so they can talk with each other face to face.
- If that isn’t possible it’s still best to have team- and trust-building meetings early on where a common vision of the project can be shared and where interpersonal relationships and bonds can be developed.
- Having customer representatives and software developers in different locations does complicate management of the frequent-release feedback loop common to Agile software development practices.
- Always-on online presence and messaging systems can be important tools in maintaining staff communications.
The reality of many projects is that staff members are working from multiple locations and from multiple time zones. Whether this necessarily must lead to the “high-ceremony” project management practices that are anathema to Agile practitioners is a good question. Remote locations can lead to a lack of communication among teams. Project management should therefore provide leadership and information-sharing technology and practices to overcome this tendency. (I discussed the latter topic in How Can Collaboration Systems and Social Media Complement Agile Project Management? I’ve also researched the question of how useful blogs would be in supporting of project management communications.)
One of the reasons that social media and collaboration technologies are valuable project communication tools is that they can help bridge the gaps that develop among the different project teams. Even if each team has its own set of specialized tools for managing that team’s work, an enterprise-wide collaboration tool, where threaded and indexed discussions can overcome both distance and the inherent inefficiencies of email for file sharing, can keep communication barriers from forming. Tools supporting telepresence and always-on conferencing, as suggested in the ThoughtWorks podcast, can also help.
Given the continued rise in transportation costs, the increasing use of social media and collaboration tools for distributed project management seems inevitable. Vendors are already offering a variety of tools that support both collaboration features as well as basic project management functionality. Such packages may compete with “traditional” project management toolsets such as the Microsoft Project family. Such packages include remotely hosted project management applications that include collaboration features as well as collaboration tools to which project management features have been added.
One question is how popular project management feature sets will become outside traditional project management application areas such as software development, construction, and engineering. How readily, for example, do business specialists take to adopting basic project management practices and concepts, such as milestones, task assignments, and task dependencies, into their daily work?
The answer will depend at least partly on the nature of the project application. For much project work a traditional package such as Microsoft Project will be overkill. Less complex project management tools may have more promise in a wider range of situations. Tools that combine basic or “lightweight” project management features with support for group collaboration and information sharing would seem to be a natural application.
Would such tools be useful in a situation such as a distributed Agile software development project such as the one discussed in the ThoughtWorks podcast? If you have an opinion on this, please comment below!
Copyright (c) 2008 by Dennis D. McDonald