测试团队的价值
重点 (Top highlight)
By Anna Shipman
安娜·希普曼(Anna Shipman)
Over the past six months, my group at the Financial Times has moved from project-based teams to durable teams. In this post I’ll explain why we made that move and how this is helping us deliver bigger and better things for our customers.
在过去的六个月中,我在《金融时报》上的团队已经从基于项目的团队过渡到了持久的团队。 在这篇文章中,我将解释为什么我们采取这一举措,以及这如何帮助我们为客户提供更大更好的产品。
我们希望能够交付尽可能多的价值 (We want to be able to deliver as much value as possible)
Our goal on Customer Products is to make FT.com and the iOS and Android apps be as good as they can be for our customers, and increase the lifetime value of each customer or corporate licence. As with any tech organisation, we have a tech estate that we need to keep sustainable, supportable and operationally reliable, while also freeing up as much time as possible to deliver value to our customers and the business.
我们对客户产品的目标是使FT.com以及iOS和Android应用程序对我们的客户尽可能的好,并提高每个客户或公司许可证的生命周期价值。 与任何技术组织一样,我们拥有一个技术资产,需要保持可持续性,可支持性和运营可靠性 ,同时还要腾出尽可能多的时间来为我们的客户和业务创造价值。
We use everything we already know about good software development to allow us to focus on where we can really add value. We already do continuous integration, automated testing, effective code review, and many more standard development practices that eliminate wasted time and low value work, and we also experiment, release early and iterate so we don’t spend too much time on work before we know it’s valuable.
我们利用我们已经知道的有关良好软件开发的所有知识,来专注于真正可以增加价值的领域。 我们已经进行了持续集成,自动化测试,有效的代码审查以及许多其他的标准开发实践,从而消除了浪费的时间和低价值的工作,并且我们还进行了试验,提早发布和迭代,因此在我们投入工作之前,我们不会花费太多时间知道这很有价值。
However, we realised there was something we could do around the actual organisation of the group itself to help us become a really high-performing team.
但是,我们意识到围绕小组本身的实际组织可以做些事情,以帮助我们成为一支真正的高绩效团队。
我们曾经有基于主动的团队 (We used to have initiative-based teams)
When I first started working at the Financial Times, my group — which builds the ft.com website and the iOS and Android apps — was made up of around 11 teams. Teams were formed around projects, usually with a product focus. For example, we had a Conversion team, whose focus was on converting casual readers into subscribers. When we had new initiatives, for example launching FT podcasts, we formed a new team.
当我第一次开始在《金融时报》工作时,我的小组-建立ft.com网站以及iOS和Android应用程序-由大约11个团队组成。 围绕项目组建团队,通常以产品为重点。 例如,我们有一个转换小组,其重点是将普通读者转换为订阅者。 当我们有新的举措,例如启动FT播客时,我们组成了一个新团队。
Over the past year, we’ve changed to a new team structure: durable teams. This means our group is made up of nine teams, that each own a product area and the associated tech estate, plus our ops cops team, who handle in-hours support.
在过去的一年中,我们已更改为新的团队结构:持久团队。 这意味着我们的团队由9个团队组成,每个团队都拥有一个产品区域和相关的技术资产,以及我们的运维警察团队 ,他们负责提供及时的支持。
基于主动的团队有一些优势 (Initiative-based teams have some advantages)
The main advantage of our previous structure is that each team is focused on one product goal, which is good from the perspective of working together to deliver value.
我们以前的结构的主要优点是每个团队都专注于一个产品目标,从共同努力以创造价值的角度来看,这是很好的。
It also allows the group to quickly swarm on problems, and by not having to care about legacy code or bugs, the team are free to work as fast as they can on new features. It was a good approach for the early stages of building the new FT.com, where there was no legacy code to worry about.
它还使小组可以快速解决问题,而不必担心遗留的代码或错误,团队可以自由地尽可能快地处理新功能。 在构建新的FT.com的早期阶段,这是个好方法,因为这里不需要担心任何遗留代码。
It also makes budgeting easy — if we get investment to do an initiative, then we put a team together to do that initiative.
这也使预算工作变得容易-如果我们获得投资来执行一项计划,那么我们就会组成一个团队来执行该计划。
However, there are downsides to this approach, and over time they get worse.
但是,这种方法有一些缺点,随着时间的推移,它们会变得更糟。
形成,强攻,规范,完美 (Forming, storming, norming, perf-)
One big disadvantage of changing teams quite frequently, is that it often does not give the team a chance to form into a really high performing unit.
频繁更换团队的一个主要缺点是,它通常不会给团队提供组建真正高绩效团队的机会。
All teams go through a process of team building. One way to represent the stages a team goes through is forming, storming, norming, performing, as they figure out how to work together in order to achieve the best outcomes.
所有团队都要经历团队建设的过程。 代表团队所经过的阶段的一种方法是形成,猛攻,规范,执行 ,因为他们想出如何共同努力以实现最佳结果。
If you build teams around projects, this means that there is a ramp-up period while the team go through the early stages, and if the team is not together for long enough, it’s possible they won’t spend very long (if any time at all) in the performing stage. This happens if new initiatives come in and the team is disbanded to form other, new teams.
如果您围绕项目组建团队,这意味着在团队进入早期阶段时会有一个准备期,如果团队在一起的时间不够长,则他们可能不会花费很长时间(如果有的话)完全)在表演阶段。 如果出现了新的计划并且团队被解散成立了其他新团队,则会发生这种情况。
This is frustrating for the people on the team, and also means the business does not get the best value out of the highly skilled people working for it.
这使团队中的员工感到沮丧,也意味着企业无法从为之工作的高技能人才中获得最大价值。
孤立技术是您尚不了解的操作风险 (Orphaned technology is an operational risk that you don’t know about yet)
If the team is disbanded to move onto other projects, the technology they have built often does not move with members of the team to the new project. For example when the podcasts team disbands to work on other initiatives, none of the work they’ve done may fit into the new teams.
如果团队被解散去进行其他项目,那么他们建立的技术通常不会随团队成员一起转移到新项目中。 例如,当播客团队解散以开展其他计划时,他们所做的任何工作都不适合新团队。
This is a problem waiting to happen; it is a security and operational risk. Without ownership of tech, if any future development or maintenance is needed, it may be hard to find someone who has time to do it. In some cases, everyone who worked on a project may have left the company.
这是一个等待发生的问题。 这是安全和操作风险。 没有技术的所有权,如果需要任何未来的开发或维护,可能很难找到有时间的人。 在某些情况下,从事项目工作的每个人都可能离开了公司。
Even if no security risks arise, it slows things down. If an unowned piece of tech has outlived its usefulness, there won’t be anyone to take care of decommissioning it, meaning that over time your tech stack gets clogged up with code that is not adding value but is adding complexity and slowing everything down.
即使没有安全隐患,它也会减慢速度。 如果某项无人拥有的技术的效用超过了它的效用,那么将没有人照顾它的报废,这意味着随着时间的流逝,您的技术堆栈将被无法增加价值,却增加了复杂性并减慢一切运行速度的代码所阻塞。
基于项目的团队从团队中删除代理(并增加管理成本) (Project-based teams remove agency from the team (and add administrative cost))
It takes a lot of effort to form a team; you need to find the right balance of skills, someone to tech lead, delivery manage and be the product owner; you need to find engineers, customer researchers, product designers and possibly business analysts and you need to make sure that the work they are currently doing can be finished or stopped.
组建团队需要大量的精力。 您需要找到适当的技能平衡,由技术负责人,交付管理人员兼任产品负责人; 您需要找到工程师,客户研究人员,产品设计师以及可能的业务分析师,并且需要确保可以完成或停止他们当前正在进行的工作。
It also means the initiative ideas are coming from outside the team. The idea for the project comes about before the team is formed, so by the time the team has formed, it’s already been decided what they are working on, even though that might not represent the biggest opportunity for the business or even be a feasible idea.
这也意味着主动性想法来自团队外部。 该项目的想法是在团队成立之前提出的,因此,在团队形成之前,已经确定了他们正在从事的工作,即使这可能并不代表业务的最大机会, 甚至也不是一个可行的想法 。
When you bring a team together to deliver a project that has already been decided, this can lead to the team feeling like a feature factory, which is demotivating, and also doesn’t allow people to use their best skills to help solve business or customer problems.
当您将团队聚集在一起交付已经确定的项目时,这可能导致团队感觉像功能工厂 ,这很消极,并且也不允许人们使用他们的最佳技能来帮助解决业务或客户问题问题。
我们决定搬到耐用的团队 (We decided to move to durable teams)
While we were some way from being a feature factory (for example, we have a really strong culture around measuring the outcomes of our work, and A/B testing features to see if they are useful) some of the issues highlighted in the feature factory blog post were a little close to the bone, for example, “Team Tetris”.
虽然我们离成为要素工厂还有一段距离(例如,我们在衡量工作成果和A / B测试 要素以了解其有用性方面拥有非常强大的文化), 但是要素工厂中突出显示了一些问题博客文章离骨头有点近,例如“ Tetris团队”。
We realised that one way to address a lot of the issues we had was to move to a durable team structure. This would allow us not just to solve some of the problems we currently had, but also it would allow us to really grow and unlock the potential of our teams.
我们意识到解决许多问题的一种方法是采用持久的团队结构。 这不仅使我们能够解决当前遇到的一些问题,而且还将使我们真正成长并释放团队的潜力。
- We can create teams that between them own our entire estate. Each team can take responsibility for the strategic direction of that area and kill things that no longer add value. We will no longer have unowned tech, which leads to security and operational risk. 我们可以创建团队,让他们之间拥有我们的全部资产。 每个团队都可以为该领域的战略方向负责,并杀死不再增加价值的事物。 我们将不再拥有未拥有的技术,这会导致安全性和运营风险。
- Durable teams mean we do not waste effort stopping and starting teams every quarter. 持久的团队意味着我们不会浪费每个季度停止和启动团队的精力。
- Durable teams help people build domain knowledge, mastery and vision, help build organisational memory and fine tune effective ways of working. 耐用的团队可以帮助人们建立领域知识,精通和远见,帮助建立组织记忆并调整有效的工作方式。
- When a team reaches peak productivity, ideas and execution are consistently better. From meaningful work we get motivated people and a better quality product. 当团队的生产力达到顶峰时,想法和执行力就会不断提高。 通过有意义的工作,我们会得到积极进取的人才和质量更高的产品。
- Durable teams help us be clear about what our strategy is, what is in scope and what our capacity is. 持久的团队可以帮助我们明确我们的战略是什么,范围是什么以及我们的能力是什么。
- Durable teams make it easier for those outside our group to know who to talk to about a particular part of the product. 耐用的团队使我们小组以外的人更容易知道与谁讨论产品的特定部分。
长寿的团队可以把握更大的机会 (A long-lived team can work on bigger opportunities)
A durable team is in a good position to think strategically about the part of the domain they own. When the team knows they are going to be around to experiment, iterate and see the outcomes from changes they make, then they can take bigger bets.
一支持久的团队处于良好的位置,可以战略性地考虑他们所拥有的领域的一部分。 当团队知道他们将要进行实验,进行迭代并查看所做更改的结果时,他们可以下更大的赌注。
This works from both a product and a technical perspective. A long lived team can take a big bet on changing how we show you relevant news because they will be around to make the changes and keep iterating until they get it right. They can also take a big bet on moving database platform to unlock potential, because they will still be around to reap the benefits of the move.
从产品和技术角度来看这都是可行的。 长期存在的团队可以大胆地改变我们向您显示相关新闻的方式,因为他们将一直在进行更改并不断进行迭代,直到正确为止。 他们还可以在移动数据库平台上大举赌注,以释放潜力,因为他们仍然会从中获益。
When a team is just there for a short, or uncertain, length of time, then in order to make any impact, they have to stick to small, incremental improvements. Working on the big bets which might reap huge rewards is too risky — the team may be disbanded before they’ve had a chance to show the benefit. If they have a longer lifespan they are free to try some things that are higher risk. Some will fail, but some will lead to the big changes that lead to exponential growth.
当团队只在很短的时间或不确定的时间里出现时,为了产生影响,他们必须坚持较小的增量改进。 进行可能会获得丰厚报酬的大赌注实在是太冒险了—团队可能在有机会展示其收益之前就被解散了。 如果他们的寿命更长,他们可以自由尝试一些风险更高的事情。 有些会失败,但有些会导致导致指数级增长的重大变化。
稳定的团队可以赋予团队力量 (Stable teams can be empowered teams)
What we really want is empowered teams, coming up with and trying out the ideas that can really deliver value to our customers and help the business grow.
我们真正想要的是能力强大的团队 ,提出并尝试可以真正为我们的客户带来价值并帮助企业发展的想法。
Each of our durable teams has a tech lead, a product manager and a delivery manager. Together, they are responsible for setting the direction for the team, working out what opportunities to focus on, and weighing up priorities within the team. This includes when to focus on adding product features and when it’s more crucial to focus on improving the tech.
我们每个耐久的团队都有技术负责人,产品经理和交付经理。 他们共同负责为团队设定方向,确定需要关注的机会并权衡团队内的优先事项。 这包括何时专注于添加产品功能,以及何时更着重于改进技术。
As a leadership team, we can step back from making sure we know the detail of exactly what each team will do and concentrate on setting the higher level strategy and objectives. Then we can trust the team to use their huge skills and experience in the domain to identify for themselves what is the most valuable work they could be doing.
作为领导团队,我们可以从确保确切了解每个团队将要做什么的细节上退一步,而专注于设定更高级别的策略和目标。 然后,我们可以信任团队,利用他们在领域中的丰富技能和经验为自己确定他们可以做的最有价值的工作。
我们房地产的技术所有权已经开始节省企业资金 (Technical ownership of our estate has already started to save the business money)
Our tech strategy on Customer Products is No next Next. We don’t want our tech to drift so far off track we have to spend £10m and another two years rebuilding it. Making sure all our tech is owned is part of that strategy. When all tech is owned by a currently active team, the team that owns that part of the estate can make longer-term decisions about it.
我们关于“客户产品”的技术策略不再是下一个 。 我们不希望我们的技术偏离正常轨道,我们必须花费1000万英镑和另外两年的时间来重建它。 确保我们所有技术的拥有是该策略的一部分。 当所有技术都由一个当前活跃的团队拥有时,拥有那部分资产的团队可以对此做出更长期的决定。
When we started the move to durable teams, we had 332 systems or repositories, of which 272 were not assigned to a specific team. This didn’t mean that no-one knew about any of them, but we didn’t know which ones people knew about and which were orphaned — we didn’t know the scale of the problem.
当我们开始向持久团队迁移时,我们有332个系统或存储库,其中272个未分配给特定团队。 这并不意味着没有人知道他们中的任何一个,但是我们不知道人们知道哪些人,哪些人是孤儿–我们不知道问题的严重性。
Now, all of our systems or packages are owned by a currently active team. As teams started taking ownership, they quickly identified systems that were no longer needed or no longer used. By the time we finished tech ownership, we had removed 47 systems and packages, and more consolidation is planned.
现在,我们所有的系统或软件包均由当前活跃的团队拥有。 随着团队开始拥有所有权,他们Swift确定了不再需要或不再使用的系统。 当我们完成技术所有权时,我们已经删除了47个系统和软件包,并计划进行更多合并。
This saves the business money directly in ongoing infrastructure costs, and indirectly, both through engineers no longer needing to maintain these systems, and through making operational support easier.
这样可以直接通过持续的基础架构成本节省业务成本,也可以通过不再需要维护这些系统的工程师以及通过简化运营支持来间接节省业务成本。
处理跨团队的工作 (Handling work that falls across teams)
There are two main risks in having a durable team set up like this. One is that some work naturally falls across two or more teams. Previously we would have formed a team to work on that thing, but now we need to coordinate between the existing teams to get that done.
建立这样一个持久的团队有两个主要风险。 一个是某些工作自然会落在两个或多个团队之间。 以前,我们将组建一个团队来完成该任务,但是现在,我们需要在现有团队之间进行协调以完成此任务。
The way we address that is as well as Delivery Managers co-ordinating as they usually do, the Principal Engineers — who work across the whole of Customer Products — make sure they have technical oversight and input into those projects. In addition, as far as possible, we try to architect the work so it can be done asynchronously, perhaps released behind a feature flag, and linked together when work in all teams is complete.
我们处理问题的方式以及交付经理通常的协调方式,负责整个客户产品的首席工程师要确保他们对这些项目有技术监督和意见。 另外,我们尽可能地对工作进行架构设计,使其可以异步完成,也许在功能标记后面发布,并在所有团队的工作完成后链接在一起。
确保划分域不会限制机会 (Making sure splitting the domain doesn’t limit opportunities)
The other risk is that splitting the domain up into set teams has the potential for limiting thinking. Where you might have previously looked for the biggest opportunity across the whole estate, you might now only look for the biggest opportunity in your domain.
另一个风险是将领域划分为固定团队可能会限制思维。 您以前可能在整个产业中寻找最大机会的地方,现在可能只寻找您所在领域中最大的机会。
The current situation is still better than it was, in that there is much more potential for teams to make those strategic decisions even within their own domain, as they own everything around that domain. But it is an important part of my leadership role, as Tech Director, alongside the Product Director and Delivery Director, to make sure that this opportunity for bigger picture thinking is not lost.
当前的情况仍然比以前好,因为团队拥有在该领域内的所有内容,即使在自己的领域内,也有更大的潜力做出战略决策。 但是,这是我领导角色的重要组成部分,作为技术总监,产品总监和交付总监,以确保不会失去更大的思路。
It’s also worth noting that the current durable teams are not set in stone. It may be that as the product strategy develops over the coming years the actual teams change. However, we will approach any future changes with the same principles: empowerment, total tech ownership and allowing teams to stay together for the long term.
还要指出的是,当前的耐久团队并不是一成不变的。 随着未来几年产品策略的发展,实际的团队可能会发生变化。 但是,我们将以相同的原则应对未来的任何变化:授权,总体技术所有权以及允许团队长期合作。
我们及时完成了 (We got it done just in time)
We had the last handover durable team meeting on the 24th February and the FT started working from home on Monday 16th March.
我们在2月24日举行了最后一次移交耐用团队会议,《金融时报》于3月16日星期一开始在家办公。
We are so lucky that we got the durable teams work finished in time. Having a durable team is really valuable at a time like this. It would be extremely difficult to manage if we were still trying to put teams together to work on initiatives, while all working from home in difficult and stressful circumstances, and those teams had to bond, figure out how to work together and perform in these circumstances.
我们很幸运能及时完成耐久团队的工作。 在这样的时刻,拥有一支持久的团队真的很有价值。 如果我们仍在努力在困难和压力大的情况下在家工作,而我们仍在试图将团队聚集在一起以开展倡议,那将极难管理,而这些团队必须团结起来,弄清楚如何在这种情况下一起工作并表现。
它已经在增加价值 (It’s already adding value)
We’ve already seen how durable teams helps us go faster. We’ve eliminated some waste in our technical estate and teams are looking for ways to reduce it further. We recently had to take on a piece of work that we hadn’t planned for, and we were able to distribute it among the relevant teams and get started on it, without waiting to hire people for the extra work, and we know when it’s finished it will continue to be owned by those teams. And we’ve seen great ideas emerging from teams, including some excellent discovery work that’s leading to teams taking much bigger bets.
我们已经看到了耐久的团队如何帮助我们更快地前进。 我们已经消除了技术资产中的一些浪费,并且团队正在寻找进一步减少浪费的方法。 最近,我们不得不进行一些计划外的工作,而且我们能够将其分配给相关团队并开始工作,而不必等待雇用其他人进行额外工作,而且我们知道何时开始完成后,它将继续归这些团队所有。 而且我们已经看到了来自团队的好主意,包括一些出色的发现工作,这些工作导致团队下更多的赌注。
Like many others the FT has been hit by the coronavirus crisis. Having durable teams and a strategy of a sustainable, flexible codebase gives us the foundation to accelerate fast and have greater flexibility to support whatever the business needs, through this crisis and beyond.
像许多其他国家一样,英国《金融时报》也受到了冠状病毒危机的打击 。 拥有持久的团队和可持续,灵活的代码库策略为我们提供了快速加速的基础,并拥有更大的灵活性来支持在此次危机中及以后的一切业务需求。
翻译自: https://medium.com/ft-product-technology/unlocking-value-with-durable-teams-a70efb435a19
测试团队的价值