When actually starting to think about this blog post I found myself thinking of all these things that are important about communication. And the more I thought about it and wrote things down, it just kept getting more and more. A never-ending subject. Lets try from the beginning, and drive it towards testing in projects.
In wikipedia there is a definition of what communication is: Communication is a process of transferring information from one source to another. Here we have information and transfer as the keywords. The transfer is often depending on the type of information that has to be transferred.
There are as many ways to communicate information as there is information to communicate. The ordering of words in texts, expressions in the face when talking etc. How to communicate information in the most effective way is a balance where almost everyone misses some steps every once in a while. It is about being accurate but at the same time concise. Sometimes there is need for mass communication and sometimes it just has to be precise and accurate. You might say adapted to the setting of who is the receiver and what the purpose is. At university I had a course in technology aided communication, which was held by the philosophical department (yes, really). There we discussed the quality of information and how different media like speech, sms and email require different things from the users and how they provide different pros and cons for the kind of information transferred.
When working in projects, I want to say that there is a need for constant flow of information for the collaboration within team members can be the most effective. Everyone knowing about the prerequisites and changes in the project makes a smoother workflow. But who takes care of everyone knowing everything? And is it really possible to get anything done if everyone should take part of all information?
All information in a project has different kind of media. We have written documentation such as documents and wikis, marketing material like posters and commercials, current status information like time lines and taskboards, communication tools like email, messengers and blogs, customer communication like minutes of meeting and oral discussions….etc. (You get the point)
But what is the most important? Today I thought about it again, and I think that I actually found a somewhat good answer to it.
How would communication or information look if we did not execute or perform it at all? Well, in our heads the information consists of thoughts and pictures. If information is written down, it stays in the place where it is written, should it be a piece of paper, whiteboard, in a text document or in your email drafts. The information does not become communication before you actually communicate it; ask the question or tell about the idea in your head, put the postcard in the mailbox, show someone the paper note or whiteboard, actually pressing the send button in the email client or even publish the text to the blog (and tell someone about the link to it). I would argue that even if it will become alot of information, the most important thing is to communicate it in some way. If it is important it will end up in a safe place for the project. But even so, I would say that the first thing would be to discuss it with someone.
As a tester in a project this is were the value of the overview information comes in hand. By having a finger in every pot of the soup, you can sometimes lift a finger of information and gently flavour another pot with it. By knowing customer viewpoints, you can drive developers in the right direction and by knowing development contraints or issues there is a possibility to guide the customer in the right direction regarding backlog etc. I am not saying I want to overhear every conversation (well, almost), but with everything regarding something that comes close to design decisions or agreed upon features. With a setup like this there is a great possibility for the project to let testing drive the project with quality in mind throughout the cycle. But is this the job of a tester? I know that some would argue this to be the role of the project manager/scrum master (not to be said that I think they are the same). I would like to point out that I think the a tester would do perfectly as a scrum master in a scrum team. But that is a whole different blog post. The point would be that with this overview, comes a responsibility to press send on information from one pot to the other when needed, and that can be challenging. But it is also a lot of fun, in my point of view.