软件开发人员的学习计划_经常与开发人员混在一起培养创新和学习的文化

软件开发人员的学习计划

Without skilled developers, the Scrum Framework is no more than lipstick on a pig. Having to create — and hopefully deploy — new versions of your product every Sprint is a tall order. But it's also necessary if you want to reduce the inherent risk of the complex work that is product development. It's a huge disservice to state that developers are only there to code. They are there to solve the complex puzzle of how to deliver a valuable increment within the span of a single Sprint. This requires intense focus, creativity and clever use of technologies and tools to determine what must be included now and what can be done later.

没有熟练的开发人员,Scrum框架仅是口红。 每个Sprint必须创建并希望部署产品的新版本是一项艰巨的任务。 但是,如果您想减少产品开发这一复杂工作的固有风险,那也是很有必要的。 声明开发人员只在那儿进行编码,这是极大的损害。 他们在那里解决了如何在单个Sprint跨度内提供有价值的增量这一复杂难题。 这需要密切关注,创意和巧妙地利用技术和工具,以确定哪些现在就必须包括什么以后可以完成。

Its a huge disservice to state that developers are only there to code. They are there to solve the complex puzzle of how to deliver a valuable increment within the span of a single Sprint.

声明开发人员只在那儿进行编码,这是极大的伤害。 他们在那里解决了如何在单个Sprint跨度内提供有价值的增量这一复杂难题。

But how do you create a culture where this craft is clearly understood? And more importantly, where developers can learn, innovate and experiment to become better at his craft? As a passionate developer myself, I’ll be the first to admit that not all developers connect with their craft that strongly — often because they’ve never been encouraged by their organizational environments to do so.

但是,您如何创建一种清晰了解这种Craft.io的文化? 更重要的是,开发人员可以在哪里学习,创新和试验以提高自己的技术水平? 作为一个热情的开发人员,我将第一个承认并非所有的开发人员都与他们的技术紧密联系-通常是因为他们从未受到组织环境的鼓励。

Recently, William Water and I had the pleasure to host a session about this at the XP Days Benelux 2019. William was my colleague at NowOnline, a company where we established a pretty strong developer culture. In the workshop, the 30 participants shared and developed low-tech strategies to ignite Development Teams. I will be publishing them in the coming months, as I believe each of them can help you move forward. In this post: start a developer huddle.

最近, 威廉姆·沃特 ( William Water)和我很高兴在XP Days Benelux 2019上举办了一次有关这方面的会议。威廉姆(William)是我在NowOnline的同事,该公司在我们那里建立了非常强大的开发人员文化 。 在研讨会上,30位参与者分享并制定了低技术策略,以点燃开发团队。 我会在接下来的几个月中发布它们,因为我相信它们每个都可以帮助您前进。 在这篇文章中: 开始开发人员。

主持开发人员杂谈 (Host a Developer Huddle)

In my teams, I always enjoy hosting ‘developer huddles’. Sometimes we also call them ‘tech talks’, ‘coding sessions’ or just workshops. However you call it, it boils down to bringing developers together to learn.

在我的团队中,我总是喜欢举办“开发人员杂谈”。 有时我们也称它们为“技术讲座”,“编码会议”或只是研讨会。 无论您如何称呼它,都归结为将开发人员聚集在一起学习。

For example, at NowOnline we hosted weekly ‘tech talks’ every Friday-afternoon. I took the initiative to make sure they happened and even hosted the first couple, but this becomes more self-organizing over time. We balanced between topics that focused on coding and development (e.g. feature injection, specific design patterns or new technologies) and relevant soft skills (e.g. customer orientation, how to give feedback, product vision). We also used our networks to invite people from outside our organization to host relevant sessions. For example, two social psychologists hosted a session on decision-making in groups. Another session focused on value-added consultancy. And we often invited developers from other companies to show us what they were the proudest of. I have vivid memories of one particular huddle where developers were eagerly demonstrating the code they were most proud of while at the same laughing about how their passion was shining through.

例如,在NowOnline,我们在每个星期五下午主持每周一次的“技术讲座”。 我主动确保它们发生了,甚至主持了第一对夫妇,但是随着时间的流逝,它变得越来越自发。 我们在专注于编码和开发的主题(例如功能注入,特定的设计模式或新技术)和相关的软技能(例如以客户为导向,如何提供反馈,产品愿景)之间取得平衡。 我们还使用我们的网络邀请组织外部的人员主持相关会议。 例如,两名社会心理学家主持了小组决策会议。 另一场会议的重点是增值咨询。 我们经常邀请其他公司的开发人员向我们展示他们最引以为傲的东西。 我有一个特别的故事,其中开发人员渴望展示他们最引以为豪的代码,而与此同时又对他们的激情如何发光充满了嘲笑。

Image for post
In one team, we used a simple whiteboard to maintain a schedule. This was the first version we tried. People could suggest new topics or pick the ones they wanted to host.
在一个团队中,我们使用了一个简单的白板来维护时间表。 这是我们尝试的第一个版本。 人们可以提出新主题或选择他们想要主持的主题。

Another example is ProRail, where we organized huddles for the various crafts. So there were frequent huddles for Scrum Masters, developers, testers and designers in addition to general workshops. At yet another company, Van Meijel, we organized huddles around metrics and continuous delivery.

另一个例子是ProRail ,我们在这里组织了各种Craft.io品的杂物。 因此,除了一般的讲习班之外,Scrum Master,开发人员,测试人员和设计人员也经常出现麻烦。 在另一家Van Meijel公司,我们组织了围绕指标和持续交付的工作。

Image for post
A huddle by developers, testers, analysts and product owners on how to come up with the most relevant metrics we could (which we did with just paper, printed charts and glue).
开发人员,测试人员,分析师和产品负责人by缩着如何提出我们能找到的最相关的指标(我们只是用纸,印刷图表和胶水来完成)。

Three principles have always been important to me:

三个原则对我一直很重要:

  • Every huddle should end with asking everyone present to write down the next step for themselves. Now that they know this, what is something they want to explore, try or experiment with?

    每一个杂乱无章的事情都应该以要求在场的每个人写下自己的下一步为结尾。 现在他们知道了,他们想探索,尝试或尝试什么?
  • The topics and the hosting of huddles should be as crowd-sourced. Although its fine to take the lead initially, this is a good area to demonstrate servant leadership by letting others take the stage as soon as possible (and support them as needed);

    主题和杂乱无章的话题应该尽可能地众筹。 尽管最初可以带头很好,但这是一个很好的领域,可以通过让其他人尽快上台(并在需要时给予支持)来展示仆人的领导;
  • End the huddle by transitioning into a social activity. The least-involving way to do this is to just bring snacks and drinks with you to consume after the huddle. It is a great way to build team spirit and to continue the conversation;

    通过过渡到社交活动来结束闲聊。 最少涉及的方法是随身携带零食和饮料,以备挤作一团。 这是建立团队合作精神并继续对话的好方法。

“This is a good area to demonstrate servant leadership by letting others take the stage as soon as possible (and support them as needed)”

“通过让其他人尽快上台(并在需要时给予支持),这是展示仆人领导能力的好地方”

脚步 (Steps)

There are many ways to organize “Developer Huddles”. Here’s a simple way to run your first one:

组织“开发人员杂物”的方法有很多。 这是运行第一个的简单方法:

  • The best start is to bring together a group of developers to start this initiative. Create a backlog of topics (e.g. with 25/10 Crowd Sourcing), clarify the purpose and create a schedule of upcoming sessions. Picking the same day and time is advisable as it creates rhythm. I’ve listed some potential topics further down this post;

    最好的开始是召集一组开发人员来启动此计划。 创建主题的待办事项列表(例如,使用25/10 Crowd Sourcing ),阐明目的并创建即将举行的会议的时间表。 建议在同一天和同一时间采摘,因为它会产生节奏。 我在这篇文章的后面列出了一些潜在的话题。

  • Invite people as openly as possible. Don’t require or suggest that people join. Instead, invite people based on their desire to learn how to do their current work faster, better or safer. I’ve found that it works better to have a handful of intrinsically motivated members than a whole group of people who don’t really want to be there;

    尽可能公开地邀请人们。 不要要求或建议人们加入。 相反,应根据自己的意愿邀请人们学习如何更快,更好或更安全地完成当前工作。 我发现,与一群真正不想在那里的人相比,拥有少数具有内在动机的成员会更好。
  • Open the first huddle by re-iterating the purpose;

    通过重申目标来打开第一关;
  • Explore the topic at hand with the group. This can be a short presentation followed by an interactive round to make sense of it together (e.g. with 1–2–4-ALL). The Liberating Structures Celebrity Interview or UX Fishbowl work really well when you have people sharing their experience;

    与小组一起探讨当前的主题。 这可以是一个简短的演示,然后是一个互动的回合,以便一起理解(例如,使用1-2-4-ALL )。 当人们共享经验时,解放结构名人访谈UX鱼缸效果很好。

  • Close the huddle with something like 15% Solutions to identify what people want to do with what they learned;

    用诸如15%解决方案之类的东西来解决问题,以识别人们想用他们学到的东西做什么;

  • Announce when the next huddle will be and who will be leading that one (or ask for volunteers);

    宣布下一个聚会何时举行,以及谁将领导那个聚会(或要求志愿者);

您知道当…… (You Know It Is Working When …)

  • New topics for upcoming huddles are identified by developers while they are doing their work (“You know, we should do a session about X”);

    开发人员在工作时会为即将到来的麻烦确定新主题(“您知道,我们应该进行有关X的会议”);
  • New faces start showing up for huddles, and visit again the next time;

    新面Kong开始挤作一团,下次再来;
  • People refer to what they learned during a huddle while doing their work;

    人们在工作时会参考自己在闲聊中学到的东西;

潜在话题 (Potential topics)

Developer Huddles can be about anything that matters to them. Here are some topics that I have the fondest memories of:

开发人员杂乱无章的事情可能对他们而言很重要。 以下是我最美好的回忆:

  • A Design Pattern shoot-out where we explored the most basic patterns (eg. Factory, Singleton, Strategy, Facade, Mediator);

    设计模式大战,我们探索了最基本的模式(例如,工厂,单例,策略,立面,中介);
  • Explore the impact of branching in version control systems like Git and having a single integrated experiment. We adopted Gitflow after this session, with a rule to merge everything back into the master-branch at least before the end of the Sprint;

    探索分支在版本控制系统(如Git)中的影响并进行单个集成实验。 在本次会议之后,我们采用了Gitflow,其规则是至少在Sprint结束之前将所有内容合并回主分支。

  • Practice with giving — and particularly receiving — feedback. We used the Situation-Behavior-Impact pattern. Despite some initial awkwardness, people enjoyed this huddle a lot;

    给予(尤其是接受)反馈意见。 我们使用了情境-行为-影响模式 。 尽管最初有些笨拙,但人们还是很喜欢这种杂乱的生活。

  • Explore strategies for dealing with conflict in your team. You can explore the Pinch-Crunch model, for example, and see how it works in your team;

    探索解决团队冲突的策略。 例如,您可以探索Pinch-Crunch模型 ,并查看其在团队中的工作方式。

  • Ask people in your team to share their hobby projects. We had one developer who worked on a mobile game in his own time. Another developer played around with Raspberry Pi’s. Seeing someone’s passion for technology is contagious. And that passion can help people connect that otherwise don’t enjoy working together;

    要求团队中的人分享他们的爱好项目。 我们有一个开发人员在自己的时间从事手机游戏。 另一位开发人员在使用Raspberry Pi。 看到某人对技术的热情具有感染力。 这种热情可以帮助人们联系在一起,否则他们将无法享受一起工作的乐趣;
  • Explore strategies for dealing with technical debt. In this session, we learned how static code analysis can help us get a better sense of the quality of our code;

    探索处理技术债务的策略 。 在本节中,我们学习了静态代码分析如何帮助我们更好地了解代码质量;

  • Engage in some pair-programming to write automated tests. For example, I participated in sessions on Cucumber and SpecFlow. Or even writing simple unit tests;

    进行一些配对编程以编写自动化测试。 例如,我参加了有关Cucumber和SpecFlow的会议。 甚至编写简单的单元测试;
  • One of the most important things that developers have to learn is to break-down their work into smaller, vertical slices. So hosting a huddle on this is highly recommend. I wrote this post for a huddle that we organized for this;

    开发人员必须学习的最重要的事情之一就是将他们的工作分解成较小的垂直部分。 因此,强烈建议在此方面另辟hosting径。 我写这篇文章是为了我们为此而组织的杂乱无章。

  • Developer Huddles are awesome opportunities to learn about Scrum and empiricism. For example, our Definition of Done exercise can work for this. Or play Lego4Scrum;

    开发人员杂耍是了解Scrum和经验主义的绝佳机会。 例如,我们的“完成定义”练习可以解决这个问题。 或玩Lego4Scrum ;

结束语 (Closing words)

Creating a developer culture — where developers are eager to advance their craft — is really not that hard. There are many simple and low-tech strategies you can use. In a previous post, we explored how you can start a book club. In this post, I offered my experience with organizing “Developer Huddles”. Its a lot of fun and builds team spirit among developers. Give it a try and let me know how it goes!

创建开发人员文化(开发人员渴望提高自己的技术水平)确实并不难。 您可以使用许多简单且技术含量较低的策略。 在上一篇文章中,我们探讨了如何创建读书俱乐部 。 在这篇文章中,我提供了组织“ Developer Huddles”的经验。 这很有趣,并在开发人员之间建立了团队合作精神。 尝试一下,让我知道如何进行!

If you want to learn more about the power of real teams, consider bringing your team (or a part of it) to our workshop “Ignite your Scrum Team”. The purpose of this workshop is to help your team discover what they can do to ignite their ability to deliver working software every Sprint.

如果您想了解更多有关真正团队的力量,请考虑将您的团队(或团队的一部分)带入我们的“ 点燃Scrum团队 研讨会 该研讨会的目的是帮助您的团队发现他们可以做什么来激发他们交付每个Sprint的工作软件的能力。

Image for post

翻译自: https://medium.com/the-liberators/grow-a-culture-of-innovation-and-learning-with-developer-huddles-8cc3a0f88c1a

软件开发人员的学习计划

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值