In this post, I will examine the importance of communication in the analysis phase of software development.
In the traditional SDLC we recognize four different stages, these are namely:
- Requirements Analysis
The analysis phase is the cornerstone of the software development, and it’s one of the most critical stages of software development life cycle. The evolution of entire development relies heavily on the proper execution of this initial phase, and the following are some of the most common reasons for the problem occurrence during the phase of requirement analysis.
Anytime there is more than a single person working on the software project; communication becomes one of the most important steps in ensuring the success of the project. It’s is one of the most important measures for each project to ensure “that each stakeholder communicates their thoughts clearly and concisely in a form that everyone else understands.” (Mueller, J., 2012). This is because the lack of communications while developing the software causes communication breakdowns and can negatively impact the progress of development. “Indeed, most practitioners in the software engineering field argue that poor communication and changing requirements are the primary causes of cost overruns and late product delivery in the software engineering industry.” (Brooksher and Brylow, 2014)
Alleviating communication breakdown
One of the best approaches for reducing communication breakdown is a creation of a project communication plan, which will effectively overlook and guide the messages between all groups associated with software development. The communication plan would typically try to identify the best communication tactics for the given project situation and also state its goal and objective. Once the purpose of the communication plan is set, we should concentrate on accurately identifying all roles and all project stakeholders, along with their responsibilities. In this section, we clearly mark the manager, steering team, team lead, project lead and a team member. These are the stakeholders of the project and all of them are expect to communicate during the software development.
The communication requirements analysis is about identifying the problem to be solved, so our communication plan should discuss how we plan to inform and engage team members in communication and what are the best communication tools and methods. “What tools you use and how a message is delivered will vary from project to project. The key to remember is to not get “stuck” using a single method for your communication messages. Your preferred tools and methods should be those where the receiving group will have the best chance for comprehending what you are communicating. Always keep your receiver in mind when developing the content of the communication and the method in which it will be delivered.” (How to create A project communication plan, 2015).
The communication plan needs to clearly identify which stakeholder will receive the meeting summaries, status reports, newsletters, formal presentations, surveys, but also which stakeholders will attend the particular type of meetings, etc. Additionally, it should also list the desired frequency and delivery method for each of the types of project communications. One of the most helpful approaches is to create a single page Communication Matrix page, and post it printed in the office, so it’s visible during the life time of the project and so that everyone on the project can align with the selected approach.
Once the communication matrix is created, it’s a good idea to go to detail and create an action plan that will be a living document accessible by everyone working on the team. This way all messaging types are covered and align to a selected format. The action plan typically includes the name of the communicator, than whom the message is for (audience), the topic, schedule, frequency, delivery method, status, comments, etc.
Lastly, I want to mention, that nowadays teams work in various locations and thus the communication can also be negatively impacted by the distance and time zones in which each of the team members works and communicates (e.g. on-shore / off-shore communication). The distance between project members is known to reduce communication and also coordination effectiveness. “To overcome the problem of distance in global software development, various managers are experimenting and quickly adjusting their tactical approaches. The most intuitive approach for alleviating distance is to apply communication technologies” (Carmel, E. and Agarwal, R., 2002)
Carmel, E. and Agarwal, R. (2002) Tactical approaches for alleviating distance in global software development. Available at: http://ieeexplore.ieee.org/document/914734/ (Accessed: 2 October 2016).
Brooksher, G.J. and Brylow, D. (2014) Computer science: AN OVERVIEW. 12th edn. United States: Prentice Hall. (Accessed: 2 October 2016).
How to create A project communication plan (2015) Available at: http://www.quickbase.com/blog/how-to-create-a-project-communication-plan (Accessed: 2 October 2016).
Mueller, J. (2012) 10 reasons development teams don’t communicate. Available at: http://blog.smartbear.com/management/10-reasons-development-teams-dont-communicate/ (Accessed: 2 October 2016).