Improving Stakeholder Collaboration Can Improve Software Development Performance
It’s important for software development organizations to make it as easy as possible to enable improved stakeholder behavior. Development stakeholders can include business development representatives, product managers, and senior project managers, and they are typically carrying the weight of the organization’s mission. They are concerned about the organization’s goals, and are usually focused on ensuring that the software development efforts are effectively supporting the organization’s mission. But they can have a difficult time managing the communication and conflict among themselves, and if this happens, software development and the greater organization can suffer.
It’s critical for the development staff to understand their stakeholders’ priorities, so that development efforts are focused on the most important requirements. Stakeholders, who are usually engaged with users and customers, typically understand organizational priorities much better than development staff. Priorities are important because they should be driving the development activity. But stakeholders may need to be better organized to ensure the organization’s work is properly prioritized.
There are a few symptoms that could indicate that development stakeholders may be poorly organized. Some potential signs of poorly organized stakeholders include software development completing “the wrong work” — that is, work that is lower priority being completed before other higher priority tasks are initiated. Also, stakeholders believing that everything can be accomplished despite the organization’s limited resources or other technical constraints demonstrates the need to improve how the stakeholders are organized and engaged. Unrealistic timelines from stakeholders, possibly created without feedback from research and development staff, is another sign. Too much negative stress within development staff can be another sign. This may be a result of stakeholders attempting to manage unclear organizational priorities, or even worse, that stakeholders may be communicating directly with individual developers. Another sign is silence, that is, no one is actively talking about the organization’s conflicting priorities. Finally, a lack of trust between development and their stakeholders is a clear sign that the stakeholders could be better organized, and the communication among each other could be improved.
If these symptoms are present in an organization, they indicate the potential for the organization to improve its performance by increasing transparency and communication between the requirement stakeholders and development staff. Transparency and communication can be improved by eliminating the use of any “channelized communication” methods and introducing the use of “platform communication” methods and tools. This will allow for open, respectful conflict to help ensure the organization’s priorities are discussed and agreed upon. Platform communication involves using web-based collaborative tools like Confluence, Google Sites, Jira, or others to actively publish development plans, estimated timelines, past accomplishments, and technical challenges. These platforms allow stakeholders to be informed at any time, and the more they are updated by development staff and are referenced by management, the more their value increases. Use of such platforms to dynamically publish project status can typically eliminate the need for development staff and management to create one-off power point slides.
Platform communication also refers to eliminating channelized communication wherever possible. This includes hallway meetings, tasking via email, or other means of stakeholders carrying a requirement to the team, let alone a stakeholder carrying a requirement to an individual developer. Rather than these “one-on-one” communication techniques, it’s critical to create a group meeting to bring everyone together in time and space. Regular meetings with all the stakeholders present allows for the organization’s priorities to be discussed, agreed upon, and documented. This discussion on prioritization can be documented and published in the web platform mentioned above. Later discussions can reference the documentation, if necessary. This kind of “platform meeting” enables development and the project team to move forward with commitment, as development can manage expectations on technical feasibility and potential timeline, while stakeholders are committing to requirements. These kinds of events reduce change in the future, and the inevitable negative impacts they have on timelines and organizational goals.
Once the group of stakeholders and development staff have worked together and developed a level of trust, they can use this platform meeting to discuss lessons learned. Development teams should be practicing retrospectives regularly to ensure the team is continuously improving. By running a larger Project Team retrospective, the team, with its larger goals and possible orientation toward external customers, can facilitate useful feedback to everyone involved with development, from product owners to developers to project managers. This can help the overall team improve their performance in their various roles and responsibilities.
It is important for software development groups to facilitate the collaboration and communication necessary to ensure they are working on the organization’s highest priorities. Not only does facilitating clear communication with stakeholders prevent costly mistakes associated with unclear requirements or conflicting priorities, but this facilitation also brings the larger project team together. By coming together regularly, the Project Team can better understand how to best use the software development capabilities available to them, and work to continuously improve how they operate as a larger team.