使用地理上分散的开发团队是运行软件初创公司的更好方法吗?
人们普遍认为,成功的软件开发不仅取决于个人编程专业知识,还取决于团队合作和沟通。鉴于此,人们可能会认为,通过运营一个地理上分散的团队,与全部在本地工作的紧密团结的团队相比,您会立即处于劣势。
当我的初创公司成立时,我们买不起共享办公空间,而且我实际上与团队其他成员位于不同的城市,所以我们都必须远程工作并使用 Basecamp、Skype 和 Trac 等工具进行沟通。总体而言,这确实非常成功 - 我们在短时间内完成了大量高质量的工作,并推出了成功的产品。远程工作为我们的开发人员提供了所需的时间和空间,让他们能够专注于工作并保持高效,而不会受到干扰或忍受办公室政治。对我来说,这是一个巨大的优势。
根据我的经验,以及拥有分布式团队的软件公司的成功,例如 37signals 和 StackOverflow(我是当然还有更多),我越来越认为运行分布式团队的优势超过运行集中式团队的优势,尤其是对于初创公司而言。
你同意吗?
It's commonly agreed that successful software development is as much about teamwork and communication as it is about individual programming expertise. Given this, one might assume that by operating a geographically distributed team you are at an immediate disadvantage to a tight-knit team all working locally.
When my startup company was founded, we couldn't afford shared office space and I was actually located in a different city to the rest of the team, so we all had to work remotely and use tools such as Basecamp, Skype and Trac to communicate. One the whole, this was really successful - we got a huge amount of quality work done in a short space of time and launched a successful product. Working remotely gave our developers the time and space they needed to focus on the job and be productive without having interruptions or enduring office politics. To me, this is a huge advantage.
Given my experience, as well as the success of software companies with distributed teams such as 37signals and StackOverflow (and I'm sure many more), I'm increasingly of the opinion that the advantages of running a distributed team outweighs those of running a centralised team, especially for start-up companies.
Would you agree?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
我认为,如果核心团队在太空中距离很近,那么初创企业的效果最好。根据我的经验,随着团队的成长以及产品和流程的成熟,远程工作越来越受欢迎。在关键的第一年,开发者和创始人之间不能有太多的沟通。
一旦初创公司有了真正的方向和良好的流程,远程工作就会变得非常有效。
当然,让一些开发人员远程工作可以节省真正的管理费用,并且如果可能的话,可以让每个人都感到高兴。
在我的初创公司中,我们的很多工作都需要与昂贵的设备进行直接的物理交互,所以我们不能都是虚拟的。我们中的一些人可以,而且我们的远程开发人员是很好的贡献者。
I think a start up works best if the core team are physically close in space. As the team grows and the product and processes matures remote work gains traction in my experience. During that critical first year there can't be too much communication between developers and founders.
Once the startup has real direction and good processes in place remote working becomes very effective.
Certainly having some developers working remotely saves real money in overhead costs and makes everyone happy if its possible.
In my startup a lot of our work requires direct physical interaction with expensive equipment, so we can't all be virtual. Some of us can, and our remote developers are good contributors.
我已经在我国的美国公司工作了大约 4 年(截至 2014 年 2 月)。这次经历非常有益,我现在感觉远程工作绝对舒适,但需要忍受一个不容忽视的学习曲线。当通过 Skype 聊天或发送电子邮件时,沟通的许多微妙之处会突然消失。肢体语言带来了全面的信息,以及对与你打交道的人的个人了解所带来的纯粹同理心。随着时间的推移,你会学到相关的策略,但不可否认的是,这是一个学习的过程。
此外,尽管有时让团队在同一个办公室工作被认为容易分心,但在我看来,它也营造了一个更有活力的环境,让想法更自由、更快地流动。它还鼓励解决问题时的“团队态度”,这对于一致性非常有用。
我认为,只要有可能,最好的方法是两者兼顾——在家工作几天,这样人们就可以集中精力并自我安排时间,然后在同一个办公室工作几天,这样他们仍然是工作的一部分。一个团队,而不是孤立的孤岛。
I've been working for US based companies from my country for about 4 years (as of Feb 2014). The experience has been very rewarding, and I feel now absolutely comfortable doing my job remotely, but there is a learning curve that needs to be endured, which cannot be overlooked. There are so many subtleties to communication that suddenly get lost when chatting over skype or sending emails. A whole level of information brought by body language and the sheer empathy that comes from knowing personally the person you're dealing with. Over time, you learn strategies around that, but there's no denial that it is a learning process.
Also, even though sometimes having the team working on the same office is perceived as distraction-prone, in my view, it also fosters a more dynamic environment, where ideas flow more freely and faster. It also encourages a "team-attitude" towards problem solving, which is great for consistency.
I think the best approach, whenever possible, is having a bit of both - work a few days from home, so people can focus and self organize their time, and then work a few days on the same office so that they are still part of a team, instead of islands in isolation.
我一半同意。
运行分布式团队肯定有其缺点。正如您在自己的帖子中指出的那样,沟通是一个大问题。有时,作为一名开发人员,我喜欢与其他开发人员交流想法并交换我自己可能没有想到的想法。此外,获得反馈或执行代码审查(我发现这些做法在我的开发经验中很有用)可能很困难。
话虽如此,我也认为分布式团队有一个优势。其中最大的一点是,当开发人员能够专注于开发而不必担心被打扰或必须参加频繁的会议等时,他们往往会做得更好。这对于我在一家小公司的工作来说是一个巨大的优势。
在您的具体情况下,您是否认为您如此成功的原因之一不是因为您地理位置分散,而是因为您是一家小公司?小公司的优势在于产品数量有限,往往更集中,因此,您可以更好地控制您的产品/时间表/等。
这是我的2分钱。
I half agree.
Running a distributed team definitely has its disadvantages. As you pointed out in your own post, communication is a big problem. There are times, as a developer, I enjoy just bouncing ideas off other developers and swapping ideas that I may not have thought up on my own. In addition, it can be tough to get feedback or to perform code reviews (practices that I have found useful in my development experience).
With that said, I also think there is an advantage to a distributed team. The biggest of these being that developers tend to do better when they can focus and just develop and not have to worry about being interrupted or having to attend frequent meetings, etc. This was a huge advantage at one job I had at a smaller company.
In your specific situation, have you considered that one reason you were so successful was not because you were geographically dispersed, but you were successful because you're a small company? Small companies have an advantage in that you have a limited number of products, there tends to be more focus, and, as a result, you can maintain a better control over your products/schedules/etc.
That's my 2 cents.
我同意办公室由于噪音和干扰而非常分散注意力。但阻碍你向周围的人提问的能力的另一面是干扰。尽管我一次尝试远程工作的时间没有超过几天,但我认为,无法在 30 秒内得到快速问题的答案是我认为的主要缺点。
I agree that offices are quite distracting due to noise and interruptions. But the distractions that hinder you are the other side of the coin to the ability to ask people around you questions. Although I've not tried remote working for more than a few days at a time, the inability to get an answer to a quick question in 30s is the main disadvantage that I see.
可能为我们提供经验数据的同类比较很难做到,可以说实际上是不可能的。所以这给了我们推测的许可,对吧?
我最喜欢的理论是,任何足够有才华和积极性的团队都可以使大多数系统、方法、地理分散的情况发挥作用。
Like-for-like comparisons that might give us empirical data are very hard to do, arguably practically impossible. So that gives us the licence to speculate, right?
My pet theory is that any sufficiently talented and motivated team can make most any system, method, geographical dispersion work.
我完全同意。办公环境主要提供干扰和浪费时间以及看起来忙碌的机会。分布式团队不需要支付租金,他们可以从税收中扣除部分自己的租金或抵押贷款,并且他们可以从世界上几乎任何地方招募人才(而不是试图在俄克拉荷马州 East Bumwipe 寻找有能力的 RoR 开发人员) )。
I totally agree. An office environment provides mainly distractions and opportunities to waste time and look busy. A distributed team doesn't have to pay rent, they can deduct part of their own rent or mortgage from their taxes, and they can recruit talent from virtually anywhere in the world (instead of trying to find capable RoR developers in East Bumwipe, Oklahoma).
您是 Joel Spolsky 博客的常客吗?
乔尔描述了他们为了提高生产力而设立的集中办公室。
正如您所看到的,FogCreek 成功地结合了远程工作的大部分优势,同时仍然保留实时通信作为一种选择。
然而,由于缺乏传送能力,这种定制化、专业化的办公室还没有解决全球不同地点的问题。
Are you a regular reader of Joel Spolsky's blog?
Joel described the centralized offices they have set up in order to increase productivity.
As you can see, FogCreek has managed to combine most advantages of remote work, while still keeping live communication as an option.
However, due to lack of teleportation, this customized and professional office is yet to solve the problem of different world-wide locations.
从个人经验来看,远程工作时我的工作效率要高得多。当我真正花点时间整理思绪时,我感觉不到有人在盯着我的肩膀,批评我懒惰。
我也很庆幸不用通勤,即使单程只节省 20 分钟,但这对我的背部来说是一个巨大的负担,而且我不需要穿好衣服去办公室,所以我节省了早上准备的时间。
我发现通过在一天中的特定时间上网来缓解沟通问题相当容易,我们在东海岸和西海岸都有人,所以我们让人们在美国东部时间下午 1 点到 4 点之间保持在线。另外,确保每个人都有彼此的电话号码是一件好事,有很多问题可以通过快速打电话来解决。
我希望更多的企业支持远程开发人员,我现在在办公室,我觉得呆在这里太浪费了。我可以在更短的时间内完成更多的事情,而不会受到干扰,并且能够更好地管理我的时间。
From personal experience I am much more productive when working remotely. I lose the sense that someone is staring over my shoulder, criticizing me for being lazy when I'm really just taking a moment to collect my thoughts.
I also appreciate not having a commute, even if I'm only saving 20 minutes each way it's a huge load off of my back, plus I don't have to dress to be in the office so I save time getting ready in the morning.
I've found that it's fairly easy to mitigate the communication issues by implementing a certain time during the day to be online, we had people on the east and west coast so we had people stay online between 1-4p EST. Also, just making sure that everyone has each other's phone numbers was a good thing, there were many problems that could be resolved with a quick phone call.
I wish that more businesses would support remote developers, I'm in an office right now and I feel that being here is so wasteful. I could get more done in less time without the distractions involved, and would have a better ability to manage my time.
优点:你可以雇用你喜欢的人,而不是坚持使用附近的人。
缺点:如果您的团队成员居住在不同的时区,沟通可能会很困难。
Pros: You can hire the person you like instead of sticking with those available in the neighborhood.
Cons: It can be difficult to communicate if your team members live in various time zones.