Continuous communication is one of the key factors for the success of agile software development. Due to the absence of a physical product to measure at hand, it is crucial to constantly confirm understandings and alignment between the two parties. Otherwise, we will very likely get to the “No, this is not what I asked for" after a year-long project.
Alistair Cockburn, one of the co-authors of the Agile Manifesto and forefather of the agile movement, describes software development endeavours as “a cooperative game of invention and communication”. (Don’t miss this: Why Agile works for your project?)
Agile is very much based on constant, effective communication within the team and between the team and client in order to build a working software that matches with the client’s requirements. Agile methodologies encourage a casual form of communication that allows for instant and direct response from the client as well as the engineering team. This flexible communication in agile keeps the client and the engineering team on the same page which leads to better performance of the engineering team and therefore, a better final product. Poor communication is one of the huge mistakes that lead to failure of many agile projects (Read more: 5 Mistakes To Avoid When Outsourcing A Software Development Company)
Before the project starts:
In this phase, the main topic of communication is client’s needs and expectations. It is important to understand the client’s requirements, what they need, what they are trying to achieve and how much time and effort required to get the project done.
At this point, communication should help the engineering team have a broad picture in mind on how the product should look like, all the features and high-level requirements and also what are the most urgent of these for the client. Communication is crucial here to clearly understand and be very specific about what each feature is about and what the right acceptance criteria will be.
If the client and the engineering team don’t have quality communication in the first place, both sides will not be able to define a clear scope and estimate the amount of time and effort needed. This may lead to disappointment from client when the final product delivered is nowhere near their expectations.
During the project:
When the contract is signed and the project officially starts, constant communication between the engineering team and the client is a must. There can be many meetings going on during the project. These may include:
- Planning Meeting: This meeting takes place before a project starts. The goal is to define what the deliverables are going to be, estimation on when certain features will be completed.
- Standup Meetings: These meetings often happen within the engineering team. Team members update a daily status of the project and work together to solve any roadblock detected.
- Retrospective Meetings: These meetings between the client and the engineering team ensure that the clients are all up-to-date about the project. The meetings will review what work have been completed and plan out what needs to be done in the next iteration.
There are many tools available to make these meetings more instant and convenient for both sides. At East Agile, we communicate with clients mainly though Pivotal Tracker, Slack and Email. Our engineering team records all their tasks on Pivotal Tracker and the client can directly comment/ give feedback through this tool. This way, we keep everything as transparent to our clients as possible. Clients are all up-to-date with our progress and should also be able to provide our engineering team support whenever necessary.
Communication is a key contributor to the success of any project, especially for Agile, the entire methodology is built upon communication. High quality communication will lead to a high quality product.
If you’re looking for a team not only to build your product but also truly understand agile, our experts can get you up to speed in no time.
Questions? Comments? Concerns? Contact us for more information. We’ll quickly get back to you with the information you need.