Communication is a cornerstone in the modern world of software development. Terms like “team communication”, “communication with the client”, and “project communication” have become buzzwords in our sphere. But why spend so much time and effort on talking if the product is going to be created and coded by developers? We get that question a lot from our clients and, in this post, we want to cover why effective communication is so critical to a successful project. We will also take a look at the 5 meetings that are crucial to the development process.
Let’s begin by figuring out how sheer “talking” helps create a successful project.
Before taking a closer look at the meetings you should incorporate into your development process, let’s talk about talking.
From a communication perspective, every project is a constant interchange of information. A project consists of multiple clearly defined tasks that need to be completed. Often, nearly all of the tasks are interdependent, meaning that they are impossible to complete without each other. Recognising that interdependence and understanding how to manage it becomes vital for successful completion of the project. And this is where effective communication comes in.
Communication helps the various parties involved - the client, the management team, and the development team - come to the right decisions for the project. Every aspect and detail is discussed and agreed upon so that everyone is on the same page. Without proper communication, it’s very easy to have misunderstandings occur. These misunderstandings can have significant impact on a project, delaying development or increasing costs to rectify.
SteelKiwi once took on a project that required us to develop a website that had a number of different user roles. In the specifications document, each role was referred to as “a user”. This was confusing and could have easily led to missing the project’s main objectives. The fix was simple, of course. We needed to communicate with the client to ensure that we understood what their vision for these various roles was. A meeting with all of the stakeholders in the project allowed us to properly define every “user” and their function so that any uncertainties were cleared up and our questions were answered.
This is just a simple example of why communication is so important during the development process. While constant meetings and communication can take up a lot of time and effort, it is always better to over-communicate than under-communicate. Making sure that there are no unanswered questions and avoiding possible misunderstandings will help your project’s development be smooth and successful.
When it comes to meetings, there are 5 main types to include in the development process. The project’s complexity dictates how much time and effort you put into each type. Meetings are usually held between an appropriate mix of external (client/management team) and internal (management team/development team) stakeholders, depending on the stage of development.
Our company uses these 5 types of meetings as tools to transform a client’s ideas into a successful, high-quality product.
A kick-off meeting is the first meeting held once a project is taken on. This meeting comes after initial discussions and negotiations in which the client and development company agree to work together.
It is crucial to have all internal and external stakeholders present at the kick-off meeting so that the client, management team, and development team can align their visions and ask their questions directly to the people who have the answers.
The results of this first meeting can influence the outcome of the project greatly. If the kick-off meeting is successful, the teams will embrace the project’s objectives, get inspiration and motivation, and begin to plan the project using the well-known management triangle (i.e. time, cost, and scope).
It’s important to note here that this stage of a project may need multiple meetings to make sure every team member is completely engaged with the project, all of the stakeholders fully understand the details and requirements, and all of the main goals to be achieved are set.
What to discuss in a kick-off meeting
In order to make the most of the kick-off meeting, here are 5 topics to cover:
- Identify the project’s team members and their roles - introduce the various stakeholders (client’s team, management team, development team) and establish who is responsible for what with regard to the project;
- Identify the project’s main objectives and intended outcomes (such as the purpose of the project, the target audience, and any other overarching aspects);
- Establish and analyse project requirements (ensure that the objectives are achievable);
- Discuss questions that arose while establishing the specifications of the project (gather additional details in areas which are still vague or unclear);
- Establish the functionality of the project, dividing it into manageable iterations and, therefore, forming an approximate schedule for project completion.
As mentioned above, it may take a number of kick-off meetings with all stakeholders to fully cover these 5 topics. After an initial kick-off meeting, we often hold a separate internal meeting at SteelKiwi to go over past experiences and single out factors we should consider when taking on a new project. This helps us address any potential issues or concerns, ensuring that we are prepared to help our clients as effectively as possible.
As a result of the kick-off meeting(s), the client should have a reasonable idea of how long the project will take to complete and the management and development teams should have an initial list of tasks to begin working on. This is where the planning phase of the project really begins.
Regardless of the type of methodology used for your project’s development, planning is still a critical phase. During the kick-off meeting(s), stakeholders will take a look at the whole project and divide it into approximate stages. In the planning phase, these stages are broken down into more specific iterations. Each iteration will take on a separate part of the project’s functionality that is to be implemented within a set amount of time.
At this stage, the management and development team members should set up a Planning meeting to establish appropriate iterations and timelines.
What to discuss in a Planning meeting
3 main topics should be covered in a Planning meeting:
- Establish goals and deadlines for each iteration;
- Identify and prioritise the tasks that must be completed by the end of iteration (take into account the interdependence of tasks here);
- Establish a date by which the project’s functionality will be able to be demonstrated to the stakeholders before moving onto the next phase of development.
At the planning stage, SteelKiwi works to provide each team member with the maximum amount of information possible. As a result, our developers can work on each iteration with a good idea of what needs to be implemented, as well as a deadline for that implementation. We are also able to provide the client with a clear picture of what they can expect to see and by when.
While the Planning meeting is mostly done by internal stakeholders (management team/development team), we communicate our progress with external stakeholders (the client) to ensure that what we plan to deliver is still aligned with the client’s needs and vision. We can then prepare for the technical development phase of the project.
Technical meetings are very important steps in the development process. They are carried out any time a complex task which required further deliberation needs to be implemented.
Technical meetings are usually internal meetings within the development team. The team leader and the developers will meet to discuss how a complex task should be technically implemented. Developers share their vision of how a feature will be built and, together with the team lead, they decide which solution is best to implement complex functionality in the most efficient way possible.
What to discuss in a Technical meeting
3 main topics should be covered in a Technical meeting:
- Identify all relevant technical details, concerns, or uncertainties;
- Ask more experienced developers for their knowledge regarding any outstanding technical detail or issues;
- Identify the best solution for implementing more complex features.
Technical meetings help direct the project’s development internally. It is within this type of meeting that teams like ours can figure out what best practices or solutions to use when building more complicated features. These meetings can also help development teams save time, saving the client’s money, in turn, as collaborative brainstorming sessions often identify the best solution to overcome a problem.
The result of a technical meeting should provide development teams with clear direction in how to move forward on a project, implementing difficult features effectively and efficiently. They should be held as often as necessary with the appropriate team members.
Many companies hold a daily meeting to get updates on progress and align team member goals. Generally, these meetings should be short (no longer than 15 minutes) and should be used as a daily check-in to ensure that projects are running smoothly.
The impact of these internal daily meetings shouldn’t be underestimated. After all, this approach allows teams to evaluate the status and progress of a project, while also allowing them to quickly identify, neutralize, or even predict possible problems within the shortest amount of time.
What to discuss in a Daily Meeting
Daily meetings should be quick and should cover 4 basic topics:
- Each team member shares what tasks they worked on or completed the previous day;
- Each team member briefly outlines their plan for the day;
- Team members identify any problems that may have appeared;
- The current status and course of the project is affirmed.
We hold this type of meeting at SteelKiwi every day, discussing the current tasks of each team member. As a rule, these meetings are usually short, but very informative. We share information, try to predict possible difficulties in the project, and stay on top of the work flow. If the team identifies a serious issue during a daily meeting that requires further discussion, we set up another meeting to delve deep into the issue and come up with a solution.
As a result of the Daily meeting, team members and team leads should have a very good idea of the status of the project, as well as any potential issues that may arise. These issues can be escalated to other stakeholders, including the client, if necessary.
At some point you’ll find your project growing, features implemented, and lots of tasks closed. One of the most important meetings is a demo meeting, because it’s at this meeting when the progress achieved is demonstrated to the customer. Here the issue of participation of the customer in the development process is crucial as never before, because the customer is the most interested party, and the team needs his assessment. For team members it’s important to realize that they are moving in the right direction.
In a demo meeting the team presents to the customer the functionality implemented during the set period of time.
What to discuss in a demo meeting:
A great demo meeting covers the following 4 topics:
- Brush up the initial tasks you have set;
- Outline the solutions that have been used;
- Mention hinders that popped up during the development process, and what ways did the team find for their removal;
- Dwell on the results up to the moment of the meeting.
In the result of a demo meeting the parties concerned can see the realization of the original ideas clearly. At this stage, by the way, the customer has a great opportunity to understand whether or not to make any changes in the subsequent functionality. This meeting is important for the team as they’ll get a feedback from the customer.
Retrospective meetings are usually held at the end of a project, once the final product has been delivered. This meeting is designed for the internal team members that worked on a project, allowing them to stop and reflect back on the entire development process. They can identify and discuss the good and bad aspects of the project, looking at best practices to adopt and potential drawbacks to address.
The main purpose of the Retrospective meeting is to gather information and feedback from the team which will serve as the basis for improving future development processes.
What to discuss in a Retrospective Meeting
In order to get the most out of any project, a Retrospective meeting should cover 4 topics:
- What went well with the project (adopt these points as best practices);
- What went wrong with the project (use these factors as learning opportunities);
- Identify where improvement to the process can occur (and factor these into future projects);
- Make any decisions or conclusions necessary and assign appropriate responsibilities to team members for future projects.
We hold retrospective meetings in our team every now and then. This meeting is important for a team as it is in this informal setting, once the pressure of completing a project is off, where great strides and improvement to processes can be made.
Regardless of which meetings you make use of as a client, management team, or development team, clear and effective communication is the common denominator in every project. Make sure that the communication lines between external and internal stakeholders are open and that questions are answered as they arise.
Effective communication has a significant impact on any project’s success. It’s important to include the client throughout the development process, ensuring that the work being done is still aligned with the project vision. Paying enough attention and time to the development of the project will increase the chance of its success and will ensure that the relationship between the two parties is a positive one.