The stereotypical software developer is an introverted nerd who is far more comfortable staring at his computer screen in a dark room than he is in engaging in a conversation with another person. Many software developers, including the extroverted ones, don’t follow the same discipline in managing the communication with their clients as they do in producing the best possible code. This communication void can be the biggest contributor to the frustration and even the failure of software development projects.
Simply put, the client wants to know what will be done, by whom, by when and how much it will cost. Of course, there are many more things business leaders will want to know and manage in planning to implement new software to automate important business processes. The project manager is responsible for assuring the successful outcome of the project. As such, any change in feature/functionality (what), resource availability and expertise (whom), scheduling (when) and funding required (how much), has the potential to significantly impact the business operation.
Programmers have a natural tendency to work harder to get the code to do what is expected when things go wrong or schedules are delayed for any reason. Taking time at this critical stage to reassess the impacts of changes and delays seems to take valuable time away from getting the job done. Meanwhile, the business leader is aware that a problem exists with no understanding of the overall impact or expected resolution. The longer and more frequent this pattern persists, uncertainty grows into frustration which in turn builds disillusionment and ultimately results in rejection of the project and the team developing it.
Business leaders should expect software developers to deliver what they promised on time. They also understand that assumptions hardly ever prove to be one hundred percent accurate. That’s true in every aspect of their business operation, people, customers, competition and more. They can certainly understand that developing software to automate complex business processes is likely to test their assumptions, no matter how diligent the planning before the development began. The key to maintaining the confidence and assuring a successful outcome any project is to continuously manage the expectations of the sponsor.
While the focus here is on software development projects, the issue of communication in successful project management applies equally to construction projections, consulting services, build-to-order manufacturing and any other project requiring a series of steps to be performed over time. Project managers must establish disciplined habits, processes, tasks and milestones for communicating with project sponsors. Assuming that sponsors armed with a copy of the project plan and access to electronic tools for monitoring project status is sufficient communication is a huge mistake.
Every project experiences changes at every step in the process. The response to these changes determines the ultimate outcome of the project. Immediate communication about the change and its impact on time, resources and/or cost will help to keep all stakeholders focused on the eventual outcome. Small changes with seemingly insignificant impact should not be skipped over. There should be no room for uncertainty or doubt at any stage in the project. If the three keys to success in real estate are location, location and location, then the three keys to success in project management are communication, communication and communication.