Most of us work in teams, some as developers, some as managers, but both actually want to develop software effectively. That doesn't mean "fast" even if managers* often use those two terms interchangeably from time to time.
The researchers found out, that those are the 5 key factors for effective teams:
- Psychological safety - “If I make a mistake on our team, it is not held against me.”
- Dependability - “When my teammates say they’ll do something, they follow through with it.”
- Structure and Clarity - “Our team has an effective decision-making process.”
- Meaning - “The work I do for our team is meaningful to me.”
- Impact - “I understand how our team’s work contributes to the organization's goals.”
Although those results come from one company (Google) that certainly works different than many other companies, I think many of us will agree that those are indeed important factors.
Surprisingly, "psychological safety" is number one. At least from my gut feeling, this was very important, but it's really important to see that as an objective result. Developers work well in an environment where they are not blamed for mistakes or missed deadlines. Where mistakes are actually viewed as a good thing that we can learn from and continuously improve.
With no surprise but equally important is what is not on the list: Putting people under a constant pressure to achieve a higher feature output or to meet artificial deadlines. This will almost always result in either failing projects to to the lack of quality and high maintenance costs and/or people simply quitting the job. Read "Tom DeMarco - Peopleware", a really good book on this topic.
So, have a look on the research results, linked in the references section below. See if it applies to your situation and if you are a manager, see what you actually can improve. There are even some good suggestions on what can be done to achieve those goals.
(*) I'm not blaming anything generally on managers here, I am actually both developer and development manager. I just think too little managers actually base their managing style on scientifically proven methods.
As we all know being a competent software developer or engineer means continuously learning throughout your career. It’s great! That makes this profession exciting and allows to escape everyday routine at work. In fact, it’s not a job anymore - it’s a lifestyle 👩💻👨💻