Software Teams Archives | Cosmic Development https://www.cosmicdevelopment.com/tag/software-teams/ Mon, 22 Jan 2024 12:05:12 +0000 en-US hourly 1 https://www.cosmicdevelopment.com/wp-content/uploads/2023/12/cropped-favicon-32x32.png Software Teams Archives | Cosmic Development https://www.cosmicdevelopment.com/tag/software-teams/ 32 32 Giving Developers Feedback the Right Way https://www.cosmicdevelopment.com/giving-developers-feedback-the-right-way/?utm_source=rss&utm_medium=rss&utm_campaign=giving-developers-feedback-the-right-way https://www.cosmicdevelopment.com/giving-developers-feedback-the-right-way/#comments Wed, 16 Mar 2022 12:25:42 +0000 https://www.cosmicdevelopment.com/?p=6907 Giving developers feedback can be rather challenging. But once you master the habit, it can become a powerful tool to help your development team succeed and improve performance. This article will discuss why developer feedback is essential and the best ways to give constructive feedback. Providing constructive feedback is essential to developers’ success and performance. When given or received correctly,…

The post Giving Developers Feedback the Right Way appeared first on Cosmic Development.

]]>

Giving developers feedback can be rather challenging. But once you master the habit, it can become a powerful tool to help your development team succeed and improve performance. This article will discuss why developer feedback is essential and the best ways to give constructive feedback.

Providing constructive feedback is essential to developers’ success and performance. When given or received correctly, it creates a healthy environment and boosts developers’ productivity and engagement. It also clarifies expectations, reinforces positive behavior, and addresses problem areas. Well-delivered feedback is also fundamental to the success of any company or organization as it becomes a catalyst for change and a point of reference for improvement.

But giving constructive feedback can be a tricky area to navigate, especially when it comes to input for negative actions or results. Poorly delivered feedback, be it positive or negative, may hurt developers’ performance and leave them demotivated and discouraged. Having that in mind, managers and team leaders must learn to give feedback the right way. To do that, they should plan their approach and set some ground rules that will benefit both the organization and the employees.

Why feedback matters?

Why is feedback so important, and why is it a win-win situation for both the company and the software development team?

  • Creates better relationships
  • It helps your team avoid significant issues
  • Increases motivation
  • It allows developers to understand the impact of their performance better
  • Keeps the team on track
  • It leads to higher productivity and overall job satisfaction
  • Promotes personal and professional growth
Developers, Software Engineers

Tips on how to provide constructive feedback to developers

Here are some useful tips to help you structure and deliver constructive feedback to your development team.

Plan ahead

Planning and preparing are crucial parts of giving constructive feedback. Set baseline expectations early on and follow their progress carefully. And always remember that effective feedback is corrective and not critical. Here are some things you should consider:

  • Review previous feedback sessions.
  • Go over your task management system like Trello, JIRA, or Monday, to see what tasks they have worked on.
  • Observe your employees during daily sessions.
  • Write down as many observations as possible.
  • Create clear and measurable goals.
  • Determine what is worth sharing.
  • Come up with suggestions.

Ask permission

Before you give feedback, make sure you ask permission first. By doing that, you approach the person with respect and provide them with time to prepare.

For example, you can say: “Would you mind if I gave you some feedback?”, “Is this a good time to share some feedback with you?” or “I’d like to give you some feedback. Is that okay with you?”

In that way, you can deliver feedback when they are more receptive to listen to it and feel more in control over the situation.

Be specific and objective

The more exact the feedback is, the more useful it will be. Provide facts and specific examples of good and bad performance. Unless there is evidence to back them up, you should avoid giving opinions and judgments. Software Developers are more likely to respond to objective and specific feedback when they know what aspect of the project you are talking about, what went wrong, and what can be improved.

Example: “You are an excellent team leader” can be replaced with something like “I want to thank you for demonstrating optimism in the face of uncertainty at the meeting this afternoon. The numbers were worrying, but you set the tone for the rest of the team. I’m impressed by it, and I want to tell you to keep up the good work.”

Be timely

Developers should receive feedback as soon as possible and at regular intervals throughout the year. Providing feedback immediately following an event such as work product submission or presentation will significantly impact performance. You shouldn’t wait for a quarterly or yearly review to address specific issues because they may multiply by a domino effect if left unaddressed. Regular feedback will help you track and analyze your developer’s overall job performance much easier, and it will help the developers recognize areas of strengths and weakness.

Create solutions together

You should listen to the developers’ point of view and allow them to offer solutions, even if you have particular solutions in mind. Be open to their ideas, and don’t forget to let them be part of the problem-solving process. You will also learn a lot from their perspective and maybe understand the root cause of the problem.

In the end, provide your suggestions and explain the positive results they will lead to. Ask questions and see if they received your message and know the next steps. Lastly, encourage your development team to provide feedback about your performance and role as a manager. Then, discuss openly and try finding a way to make it work and use the feedback effectively.

Giving negative feedback in a positive way – examples

When giving feedback, you should think carefully about the language you will use and the expressions you choose to avoid misunderstanding and hurting someone’s feelings. Here are more positive and negative examples of delivering feedback:

Instead of saying, “You keep missing deadlines, and that impacts the rest of the team and the project.”, you can use “I’ve noticed you are struggling with time management. Is there anything I can do to help?

Or, “You haven’t met your targets. I think that is going to affect the team’s performance.” It can be replaced with “You haven’t met your targets, but I know that you are working hard. Are there any barriers in your way that I can help with?”

Follow these five guidelines, and you will get better and more comfortable giving feedback, and your employees will be more open to receiving it.

The Bottom Line

Remember, providing developers with continuous and constructive feedback is one of the most powerful performance enhancement tools at your disposal. The final goal is not only to improve the developers’ work performance over the long term, but it will also lead to your company’s long-term success.

Cosmic Development office - giving developers feedback

Cosmic Development- a company that fosters a strong feedback culture

We at Cosmic Development believe that creating a healthy feedback culture can break the difference between a strong and thriving company and a company that remains stagnant. That’s why we foster openness and honesty, and we strive to improve and maintain healthy relationships. We have created a psychologically safe workplace where employees are actively encouraged to share feedback with another person in the company regularly, regardless of their role.

If you want to unlock a new chapter in your career and be a part of a company that fosters a workplace culture that values, supports, and inspires its employees, feel free to explore our careers page and find out more about our current vacancies.

The post Giving Developers Feedback the Right Way appeared first on Cosmic Development.

]]>
https://www.cosmicdevelopment.com/giving-developers-feedback-the-right-way/feed/ 64
Remote Work and Agile Teams are Here to Stay https://www.cosmicdevelopment.com/remote-work-and-agile-teams-are-here-to-stay/?utm_source=rss&utm_medium=rss&utm_campaign=remote-work-and-agile-teams-are-here-to-stay https://www.cosmicdevelopment.com/remote-work-and-agile-teams-are-here-to-stay/#comments Thu, 08 Oct 2020 13:46:57 +0000 https://www.cosmicdevelopment.com/?p=5360 by Hristina Efinska As we are walking in the last quarter of the notorious 2020, we can state one thing for sure: Remote work and distributed teams are here to stay. However, companies can be skeptical about moving their agile processes online when it comes to working remotely. At first glance, why wouldn’t they be? Especially having in mind that…

The post Remote Work and Agile Teams are Here to Stay appeared first on Cosmic Development.

]]>
by Hristina Efinska

As we are walking in the last quarter of the notorious 2020, we can state one thing for sure: Remote work and distributed teams are here to stay. However, companies can be skeptical about moving their agile processes online when it comes to working remotely. At first glance, why wouldn’t they be? Especially having in mind that Agile was initially intended for teams that are physically located together in the same workspace. Even according to the 12 Principles of the Agile Manifesto: “The most efficient and effective method of conveying information to and within a development team is face-to-face conversation“––the first agile teams were intended to work together physically.

Some challenges arise for distributed software teams:

  • Synchronizing teams in different time zones
  • Building rapport without face-to-face contact
  • Collaboration between different cultures
  • Coordinating stand-ups and meetings considering that team members are online at the same time for a limited amount of time

These are genuine problems, but they are far from unsolvable. With almost ten years of experience in staff augmentation and software development services, we can share some insights and strategies to help you narrow the gap between working on-premises and remotely.

Structure Your Teams

Think of your team from a software engineer’s point of view: quality software architecture needs modular design, so design your software accordingly. The same goes for building teams. Every team should be able to develop a single fraction of the project, and by that, successfully reduce the dependence between your teams in different time zones or locations. You will actually make teams autonomous parts of your project or company. When a project requires team members to take part from different locations, they can focus solely on their integration points and APIs.

Code reviews are considered as an important part of the development process for remote teams. Since your people are working at different times, sharing knowledge of the code between teams makes maintenance easier.

Building and Maintaining Rapport

Agile teams need to build solid rapport between team members. This brings trust, reduces misunderstanding, makes self-organization easier, and builds morale and motivation. Take time, as much as possible, to get to know everyone within your distributed teams. A personal touch is a must. Creating strong rapport will lead to smoother communication between teams, which in turn leads to better workflows.

After all, who said that face-to-face meetings have to be offline? Especially these days, when Zoom and Google Hangouts have become our new-normal offices, we encourage using them in order to minimize the gap between distributed agile teams. At Cosmic Development, we are avoiding strictly scheduled Hangouts meetings for intra-team communication. Instead, we strive to create a culture of using video chats even for spontaneous informal conversations and ad-hoc meetings. Needless to say, instant-messaging tools like Slack or Microsoft Teams are very helpful in solving small issues or in simply keeping in touch. 

To help address some remote communication challenges within the team, you need to stimulate team members to have one-on-one video sessions whenever possible. These should not be formal, but they still need to be focused on work and oriented around knowledge sharing in a casual way.

Structuring a United Development Culture

Here are the four simple rules our teams follow in order to make remote work easier:

  1. Overcommunicate decisions and procedures
  2. Minimize the onboarding friction
  3. Clearly define terminology
  4. Create reporting guidelines 

Now, let us discuss each of them more thoroughly:

1. Overcommunicate Decisions and Procedures

When members of a distributed agile team make decisions, they need to communicate those decisions thoroughly. That sounds a bit obvious, but it is very easy to forget. Important decisions are often made in informal conversations; they are brainstormed between individuals or discussed spontaneously on calls between individuals. In contrast to this, small decisions are often dismissed as unimportant, especially if we focus on another part of the conversation. 

When working in a remote culture, everything, even the minute details, need to be communicated until the whole team starts moving in the same flow.

It is easy to lose meaning or essential information if you announce important decisions via email. Everyone in your dispersed teams needs to understand the decisions, the reasons behind each decision, and how they will be implemented. Team members that are working on outdated information can lead to major setbacks, hitting a blockade, and then re-communicating the whole process costs the team more time than accuracy sharing information in the first place.

2. Minimize the Onboarding Friction

You can tame the “first-day-friction” by utilizing a good onboarding procedure. Remote team members should feel at home right off the bat, which helps build cohesion between team members of different cultures. 

3. Clearly Define Terminology

While working with remote teams, clear standards around simple terminology like “complete” and “done” help manage expectations and ease communication. A clear definition of task completion eliminates ambivalence in work. For example, when sending a release that involves work from multiple teams, make sure to make it clear what “complete” means in this particular context: (a) the code needs to be written, (b) pull request created, (c) code needs to be reviewed and tested, (d) and finally integrated into the main codebase.

4. Create Guidelines for Reporting

Distributing the development process means that not everyone is online and ready for work when problems come up. We recommend setting systems and guidelines for troubleshooting, but reports and issue tracking. You will not believe how much easier such systems and guidelines make it for anyone on the team to track down and resolve issues. Code reviews and automated tests should be part of this process as it enables the remote team to make changes and validate them so they will not have any unexpected side effects.

Maximize the Mutual Online Time

The golden hours for remote agile teams are when most of the team members are online at the same time. This is the perfect time for stand-ups, coordination meetings, or one-on-one calls.

For teams that work in different time zones, a stand-up meeting is an excellent opportunity to share their issues, obstacles, or decisions. Having the stand-ups via video calls makes it easy to coordinate and catch-up with the flow, so everyone is up and running as soon as the meeting is done.

Instruct the project manager to closely monitor the entire team’s engagement during the stand-up. If there is an undue tension, or communication is becoming unfocused and counter-productive, your team members will quickly disengage.

Stand-ups do not have to be strictly daily meetings. You can have them a few times per week and use the other days for informal communication. Thus, a stand-up does not have to be just a morning routine, but you can organize it at the most convenient time for everyone that forms part of your remote agile teams. 

We all need to adapt and learn how to work within remote teams, communicate efficiently, and grow a cohesive culture. Many large companies have successfully implemented distributed agile workflows long before the COVID-19 pandemic, allowing them to cut costs and work more efficiently. On the other hand, remote work is very easy to implement for small teams that have previously worked together in a common office. Such teams can significantly benefit from the advantages of working remotely.

Stay tuned for Part Two, where we will talk to Bookmark‘s Project Manager about her hands-on experience with managing a remote team.


Sources:

The post Remote Work and Agile Teams are Here to Stay appeared first on Cosmic Development.

]]>
https://www.cosmicdevelopment.com/remote-work-and-agile-teams-are-here-to-stay/feed/ 40