開源日報 每天推薦一個 GitHub 優質開源項目和一篇精選英文科技或編程文章原文,堅持閱讀《開源日報》,保持每日學習的好習慣。
今日推薦開源項目:《世界知識網 learn-anything》
今日推薦英文原文:《Engage Your Development Team》

今日推薦開源項目:《世界知識網 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/