开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
今日推荐开源项目:《世界知识网 learn-anything》
今日推荐英文原文:《Engage Your Development Team》
开源日报第884期:《世界知识网 learn-anything》
今日推荐开源项目:《世界知识网 learn-anything》传送门:项目链接
推荐理由:这是一个类似于知识网图的开源项目,其最终目的是将各种知识主题联系起来,使得基于已有知识的学习能够更容易找到方向,对未知领域的学习也能从中获取相关资源。当然了,现在的知识主题数量多如繁星,所以项目也欢迎协作者为项目出力或是投资。
今日推荐英文原文:《Engage Your Development Team》作者:Christian Muehle
原文链接:https://medium.com/better-programming/engage-your-development-team-e2bcb27d5632
推荐理由:介绍了在团队工作中能提高效率的关键点

Engage Your Development Team

How to get your team to stick together

Let me start this post with a short German saying about teams:
TEAM — Toll, ein anderer machts!
If you translate it to English, it would come out as: “TEAM — great, somebody else will do it!” Obviously this is the anti-pattern of a team; every development team following this will fail over time.

I work as a team leader for an international team, so remote working/home office was nothing new to us. Of course, due to the current situation, this has increased and now we are a 100% remote working team all over Europe. One of the most important points for the team is to stick together and ensure we follow our short and long term goals.

Key points

From my experience, the following three points are key to a successful development team:

Responsibility

If you feel responsible for something, whether it’s a part of your project or tooling around the company, you will treat it differently compared to something from somebody that you have to do now because “it’s your job.” Of course, handing over responsibility comes with a level of trust; nothing that can be granted on day one, but over time it should be clear who in your team can take a specific role that fits the skill set of that person.

Communication

From my point of view, it’s very important to be clear, honest, and direct inside the team between each member, and also encourage the team to do the same to other departments. Communication is a skill that has to be learned over time, there are ways to help introverted people to feel more secure and coach people to get used to it.

Creativity

Offering the possibility to suggest a solution instead of presenting the way to accomplish a goal or providing the freedom of choosing a technology to finish a task helps to onboard a new person but also keeps existing teammates motivated to get involved and learn new skills.

You might have already thought to yourself that the above points are interconnected and are not single points to address — you are right! If you clearly communicate what you expect and what are the goals, team members will be able to focus and take over responsibilities because they understand what should be done. If people take over responsibilities, they will think about a task more detailed, using their creativity to come up with solutions and present it to the team or other stakeholders.

What Worked For Us

I will provide one example per key point. Like I already mentioned, you can’t isolate each key area completely, but I will try to provide examples focusing more on one side to get you started.

Communication

For this one I will come up with two examples, I’m sure at least one will work in more or less any project. For over two years, we have hosted a development blog. The blog is only available inside our company (to everybody) but you could also go with an online version. Every month, we post at least one status update; everybody is free to hand in sections for this update or publish articles in between. You achieve multiple goals in one go:
  • Inter-department communication — everybody has a source of news and is more aware of upcoming challenges and developers learn to express technical topics in a more general way.
  • Developers engage with your project, and they will write their article about their part of the project — increasing the feeling of responsibility.
  • Feedback based on a blog post might raise ideas that didn’t pop up so far — people start looking at a project from a different angle that could spark some creativity in your team.
My second example would be related to software releases or new features. How about producing a short video (we have a max length of three minutes) to provide some insides to everybody interested? The big advantage of a pre-recorded video is that you can re-try it as often as you want, no stage fright, and all the time in the world to get used to it. This helps people to get comfortable talking about your project and will help them to understand that they are capable of doing this (they developed it, so they are one of the best resources regarding detailed knowledge and insides you might have).

Responsibility

This one might be a bit tricky and will require some more time, but for us, the following idea worked out well:

Host a development project with a limited time frame (for us, one workweek, aka five days). Everybody can suggest a project around the company or a technology that could be beneficial in the future. Each suggestion gets pitched to the team to recruit other team members to join the project. You will notice that people work differently inside their project, and a team-leading role (inside this project) could support further personal development.

Besides this project approach, you might spot fields that fit the character of a developer (like UI/UX focus, backend, database architecture, etc.) and sit down and discuss if she/he would like to focus more on this sector and review tasks/work inside this topic.

Creativity

Helping to spark some creativity can be challenging. Let’s be honest: we are all a bit lazy from time to time. Let me explain my point:

If you are facing an issue and come to me for a solution (and we assume I’m aware of a possible solution) it’s not always the best idea to present it to you directly.
“Change is the end result of all true learning.” — Leo Buscaglia
So am I saying to suggest less/nothing to spare creativity? Yes and no. It depends on the specific case and person, but sometimes it’s more productive to coach and provide ideas instead of finished solutions. This is especially important for new developers; they need to learn, and if they accomplish something on their own, it’s something more valuable as a provided solution from somebody else. The process of actually finding the answer opens different paths to explore— possibly leading to a solution that is even better as a known answer.

Summary

It’s part of your job as a team leader to keep your team working together to achieve more than a single person could. On the other hand, you have to keep in mind that your team is built out of individuals, and each person has to be taken care of and guided to fit into the bigger picture. There are several ways to move along, and the ones shown here are working for us; nevertheless, this list is by far not complete. I would be more than happy to receive some insights and ideas from other teams to try out because right now, this is more important than ever.

Thanks for reading!
下载开源日报APP:https://openingsource.org/2579/
加入我们:https://openingsource.org/about/join/
关注我们:https://openingsource.org/about/love/