软件开发团队主管易犯的十个错误

http://36kr.com/p/37795.html

 

软件开发团队主管易犯的十个错误

本文是 Roy Osherove 在 Skills Matter 的一次发言,他介绍了团队领导经常会犯的十个错误,并提出了一些解决方案。

Roy 首先提出几个团队领袖可能遇到的一些问题:

*我如何说服的我团队做某件事情

*我该拿团队里的那个专门搞事的家伙怎么办?

*我该如何做一个团队领袖呢?

*我们为什么无法远离无谓的争吵呢?

*我会不会失去朋友呢?

*…
他说这些问题其实缠绕他多年,接下来他也逐一做出解答。他正在写一 本叫《开发团队领袖手记》的书,里面也涵盖这些方面的内容。

下面就来说说这十个错误:

#1 没有认识到团队的成熟度


这点是首要注意的地方,因为后面谈到的问题都是提及团队的成熟度。Roy 说,可以从 3 个层面来评价一个灵活团队的成熟度。

*混乱

*学习

*自我引导混乱

一个混乱的团队就是哪都觉得很忙。  可能他们总是在争吵,或一直都被要求在非常有限的时间做太多的事情。但其实结果都一样:混乱。没有人有任何时间变得有条理,没有人有任何时间学习新的知识因为他们一直都在忙这忙那。  如果你问我的话,这个团队明显成熟度不高。因为所有人,要么耗尽精力,要么感到沮丧因为缺乏机会学习,而最终好的人都会离开。但是,Roy 说这种混乱其实非常常见,而我也很赞同。如果你是在这么一个混乱的团队里当领袖,秘诀就是要正确的行动起来,你必须自信和强势。

      当船快要沉的时候,你需要的是一个发号施令的领袖,而不是开会。

一个混乱的团队里的领袖,必须坚定立场,而且可能必须要和领导层说清楚,整个团队并不能把他们要求的所有的事情都完成的了。这是一个艰难的角色。他必须坚定的做出一些艰难的决定。

       管理要做得对,做得好是一件很艰难的工作。

但为什么作为一个团队领袖,你必须自己做出这些艰难的决定,而不是和团队商讨呢? 答案很简单,因为没有足够的时间。 通过你自己做出这些执行上的决定,你让你的团队得到一些喘息的余地,可能也就是这些余地让他们把手上的事做完。当然,可能有些你做的决定是错的。这没关系,人生就是这样。但这是为了更重要的正确的事情,也就是让你的团队有成长到另一个层次的空间,一个不断学习的团队。



这个层面的成熟度是团队自我管理的升华,但是团队成员还是有需要得到指导的。 一个团队领袖必须持续不断的为他的团队成员带来一些挑战,和质疑,甚至可能是功课。 目标就是让团队里的成员每周都有进步,开始学会解决自己遇到的问题。

       所以,你要怎么做?

作为一个学习成长的团队里的领袖,你要让团队里的成员学会以解决自己遇到的问题,然而成长为自我引导的团队。 如果某一个人带善一个问题来找你,你应该鼓励他们自己想办法解决,并问 “你会怎么来处理这个问题?” 来强迫他们思考。

自我引


成熟的第三个层次就是自我引导型的团队。  这是我们所有人都想去到的地方。 在这样的团队里面,领袖更像是一个导师。他不需要像在一个混乱的团队里那样为团队做各种执行方面的决定或告诉人们该做什么。但即使是在一个自我引导的团队里,团队领袖还是需要最少 50%的时间在团队上面。

所以,第一个错误就是不能正确认识到你的团队是在什么成熟度,也因此不能够正确的领导你的团队。如果你当他们是自我引导型的团队在运作,但其实他们事实上还是在混乱的状态,那么不久你就会在一条河上像没有浆似的乱窜。

#2 害怕授权


如果你常常习惯自己一手包办,可能要你下放责任给其它人是比较不容易接受,尤其是你觉得其它人并不能把事情做好的时候。

如果每个人都对目前手上做的事情都感到很舒服,没什么挑战的时候,就是你做的不对的时候了。

当你要授权的时候,你必须做到责权对等。 这些外加的责任,会把他们拉出那个安全区,这是一件很好的事情。 适时挑战一下你的团队和拉他们出安全区才可以让他们成长。

#3 害怕参与


这一般来说是沟通不够有效,但 Roy 谈得更深入。

#4 安抚


公共要素 (Bus Factor) - 这是什么?公共要素指的是开发过程中的一些共同因素。这其实说的就是某些个体掌握太多信息。我看到太多地方有这种情况,无论是好的还是坏的项目。 所以我觉得这很正常。但 Roy 提到的是你不应该因为他们掌握了大量重要的项目信息就只安抚这些个体。 你对待一个公共要素为 1 (也就是说他一个人如果被公车撞了的话,项目就倒了) 的人应该和别的任何一个人一样。 我非常喜欢在人身上定义一个公共要素的主意,因为它让我想起了六度分离理论值。

#5 疏远


这个应该是说由于太多的会议或邮件等烦杂事情要处理,导致基本上和整个团队实际的工作脱节了,最终疏远了。这个和六度分离理论没有关系。

#6 太理想化


不确定我是否同意这个术语但 Roy 的意思是认为所有人都能清楚明白你说的意思但实际上你并没有把自己的观点阐明是太合理了。我想这点的关键是说当你和一群人相处,尤其是对一个灵活的团队来说,假定他们拥有和你同样的知识水平和理解力是不正确的。你应该用最合适的方式去沟通,而不能做太多的假设。

#7责备


如果你认为某个人是垃圾,那你就会有意无意的以这个为借口,不让他参与到团队的事务上来。这世界上总有这样的垃圾人物,但你所要做的是了解他们的短处,并把他们提升到整个团队的水平,而不是疏远他们,因为这样就意味着一直背负这些沉重的包袱。

 

#8 忽略影响行为因素的力量


你必须认识到那些会作用到个人身上的行为因素的力量和知道它们是如何影响个人的。主要有这么三种行为因素:

*个人

*群体

*外界环境
所有这些因素都会影响到一个团队是否能够成功。所以你必须找到有没有什么因素正在影响团队的敏捷度。其中一个外界环境的因素可能是硬件设备不足够支撑你所需。比如说你没有预算添置一台持续集成的服务器,那你几乎永远无法变得敏捷起来。

 

#9 害怕太独断

很明显这在英国和挪威是很普遍的,但在丹麦不适用。我敢打赌你不知道。但这据称是真的。独断,就是坚定自己的立场并拒绝任何你感觉不能接受的事情。如果你是在一个处于混乱状态下的一个团队里面,那你必须非常独断。在一个处于混乱状态下的一个团队里面,惧怕独断是致命的。

#10 不重视承诺

这里说的是模糊其词。Roy 说你应该任何时候都对项目期限负责。当你对团队谈论的时候,确保他们也告诉你每个任务的具体完成时间。很明显,让他们作出承诺,他们会更有激情的完成任务。Roy 的建议是当你开会结束的时候,并问每一个人他们下一步要做的事情是什么,确保他们的回复是什么时候前做完什么事情。但是,任何人都只应该承诺他控制范围内可以完成的事情。承诺一些要别人替你完成的事情是没有意义的。还有,一但你发现你无法按时交货时,让整个团队的人都知道,他们可能有办法帮忙并让你及时完成任务。

问题和解答

下面这些问题和解答其实持续很长时间才得出。我用 bullet 表单总结了一下,因为 bullet 的样式非常好。

*你需要认识到你什么时候需要转换领导形式 ―― 你必须停止用一个在混乱模式的团队下的领袖角色来领导一个成长型的团队。

*没有一个所谓的既混乱又成长型的团队。这两者是不可共存的,但是一个团队会从一种形式,转换为另一种形式。

*跨不同地域的团队不能像在同一地方的团队表现好。如果你是这样的事实情况下,你要做的是改变现实。

*敏捷团队应该是两个 Pizza 的团队。也就是说,只够两个 Pizza 可以喂饱的团队。

*好的团队是成长起来的,不是雇佣来的。

*Scrum 有时并不适用于一些混乱模式下的团队。

*团队领袖和经理其实并没有不同如果他们是同一个人。其实他们也可以是同一个人。

*如果你的团队处在混乱模式,你从项目经理应该保护他们。
作者:
Roy Osherove

原创文章,作者:chengusky,如若转载,请注明出处:http://36kr.com/p/37795.html

“看完这篇还不够?如果你也在创业,并且希望自己的项目被报道,请戳这里告诉我们!”

 
AD:【36Kr】 不会写BP?New BP:给你的商业计划书一个新生。
 
标签:公共要素授权digest
分享到
创业者们,如果你或你的朋友想被36氪报道,请狠戳这里     寻求报道

文章评论(6)

 
后参与讨论

 

Bitcoin P2P 虚拟货币原理详解

pestwave  • 2011/05/18 20:24
Bitcoin P2P 虚拟货币原理详解

 

前天 36 氪 报道了《
Bitcoin P2P 货币:有史以来最危险的项目》一文,引发了人们的热烈讨论。

Bitcoin(比特币) 是一种开源的 P2P 虚拟货币,无法跟踪,牢不可破。有人用它贩卖毒品,有人用它支持自己喜欢的内容,还有人用它来玩儿扑克。这种货币可以影响政府,搅动经济,提供无法控制的全球走私交易。

该文的目的是抛砖引玉,结果砖没有白抛,引来了玉:
云风在看到这篇文章之后进行了深入调查,并详细解释了 Bitcoin 的工作原理。下面就把这篇文章拿出和大家共享。并欢迎大家抛出自己的砖或玉。以下为正文:

昨天读到了 
Bitcoin 的中文介绍,觉得非常有意思。不过上面这篇文章解释的非常不靠谱,我花了一晚上去 
Bitcoin 的官方网站 仔细研究了一下,总算理解了其原理。感觉非常有启发,尤其是对虚拟货币的流通和发行有许多借鉴意义。今天写这篇 Blog 理一下。

什么是货币呢?货币就是商品 (包括服务) 交换的媒介。现在我们通行的货币是由有信誉的银行发行的,基本上是由其信誉来担保的。只要用的人都认可,那么我们就可以用它来交易。货币有一定的保值特性,我把我的劳动 / 服务 / 所有的商品换成货币后,银行担保我在日后的某一天,我还可以用它交换会差不多等值的东西。这个保证的前提是,银行不会滥发新的货币以及大家都信任这一点。

以前,我们用贵金属做货币。因为贵金属产量不高,货币新增加的速度有限,而经济体在不断增大,市场需要更多的货币来让商品尽量的流通。有需求就有价值,从这个意义上来说,贵金属本身制造别的东西具备的价值是次要的,经济体需要货币来流通商品这个需求才是主要的。而贵金属产量有限,且曾经流通着的贵金属货币由于各种原因会退出市场,那么即使是新造的贵金属货币也有同样甚至更高的价值。

Bitcoin 为什么保值,BTC (Bitcoin 的货币简称)存在于一个庞大的 p2p 网络中。使用 Bitcoin 的群体公认了一种算法,这种算法在现今的条件下,每小时只会新产生大约 6 组新的 BTC ,目前一组是 50 个。也就是说,这个世界上,每个小时大约只会产生 300 个 BTC 。这个产量还会由网络自动调整难度来限制产量。你没办法通过修改所有人的 Client 的算法及参数(client 是开源的)来加快货币产量。伪造的货币会被网络丢弃(除非你可以控制大部分网络节点)。

BTC 本身有什么价值?

BTC 的价值就是交易渠道本身。一组新制造出来的 BTC 提供了把旧的 BTC 从一个帐户转移到另一个帐户的数学保证。这个安全保证背后的代价是大量的计算力。生产这么一个安全通道是需要消耗大量能源的,所以整个 BTC 用户群体,奖励那个造币者(目前是 50 BTC)。

简单说,我的理解就是,现在世界上所有的 BTC 背后都是用运行计算机的能量产生出来的,它们的总价值,(到现在一共有大约 12w 组 BTC 被生产出来,每组 50 个,市场价格大约 7.3 美金一个),应该是少于消耗掉的能源的总市场价值的。不过我想,用于生产 BTC 的能源大都原本就是不用也被浪费掉的资源。


一个没有中心节点的 “银行” 是怎么让大家信任并工作起来的呢?

答案是,这个 p2p 网络上每个节点都记录了 BTC 诞生以来的每笔交易的详单,并从中可以推测出每个 BTC 唯一的属于谁。这样你接受一笔交易时,就能知道别人给你的钱是不是合法的。

从最基本的说起:

每个帐户其实就是一对公私匙,有私匙的人就是帐户的主人。如果 A 要给 B 转一笔钱,A 就把钱的数量加上 B 的公匙,用自己的钥匙签名。而 B 看到这个签名,就可以了解,的确是 A 转给了他如数的 BTC 。

那么这笔交易需要一个见证人,担保交易发生过。这样,以后 B 想用这笔钱的时候才是合法的。担保人就是整个使用 BTC 的网络。

A 在发起这笔交易的时候,必须把签过名的交易单尽量的广播到 p2p 网络上,最终会让每个节点都知道这件事。B 从 p2p 网络上不断的收到别人的确认信息。当它收到足够多的确认信息后,就认为 A 的确发出了这条交易单。这以后,B 就可以自由使用这笔钱了。

当 B 使用 A 转给它的钱给 C 时,也会广播给足够多(最终所有人都收到)的人让他们担保。每个担保人只有确信 B 有足够多的钱可以支付的时候才做确认。本质上,BTC 网络并没有记录每一块钱属于谁,它记录的是从诞生起到当前的每一笔交易,并推算出每个帐户里有多少钱。任何人试图确认一个交易单时,它需要确认的是转出帐号上有没有那么多钱。

Bitcoin 需要解决的核心问题是,如何避免一笔钱被花两次。

整个帐单序列是一环套一环的。每个人在完整的全局帐单上签上新的一笔的时候,都需要利用前面信息生成后面的。这个帐单序列被称为 chain of blocks 。每个 block 里面包含有若干条经过确认并 hash 签名 (难以伪造) 的交易记录。每个 block 都和全局表上的上一个 block 有关联。每条帐单都会通过 p2p 网络最终被转发给制造新 block 的节点上。

这个制造新 block 的过程被叫做 mining ,制造新 block 就是把最近收到的帐单打包在刚制造的 block 里。这个打包的过程即制作的过程,只有极其稀少的几率被制造成功。(你可以理解成把新收到的帐单合在一起,一次成型不可修改,如果制造失败就要再来一次)一旦制造成功,你就把新的 block (被认为是对老的全局 block 链的延续)广播出去。

因为是 p2p 网络,可能有许多人都在同时制造新的 block ,但有一个排序机制保证只有最优(最难,花费最大计算时间的)的那个新 block 被网络群体接受,挂在全局的 block 链上。重复一次,整个 BTC 网络只有一个全局帐单表,每个节点都完整的保存有一份。

这个全局帐单表会越来越大,block 链越来越长,在最新的部分,必然有许多分茬。这是因为 p2p 网络的 mining 过程是分开并行进行的,每条新帐单也不能立刻广播给所有的节点。每个 mining 的节点都有责任把他新收到的,在他认可的老的全局帐单上不存在的帐单,合在他准备制造的新 block 中。一旦新 block 被制造出来,就立刻广播出去,争取得到更多人的认可。主要是得到那些想 mining 的人的认可,这些人会在这个 block 的基础上制造新的 block 。

如果 p2p 网络过大,交易帐单不能尽量的迅速的广播到全网络。就会出来 p2p 的网络的局部保持有小群体共同认可的一份全局帐单。多个全局帐单的分支同时发展是有可能的。因为每个小群体都可能认为他们看见的那部分更长更有效。但是,只有有人发现另一条分支更长,它就会转换阵营。所以,有一定的可能性,你的帐单被一个小群体接受,但在一段时间后,被更大的阵营抛弃。

不过,算法参数决定了,新的 block 产生速度很慢,如果你的帐单被多达 6 个人确认,基本上就保证了它合并到的那份全局帐单,就是 p2p 网络全体认可的。


既然生成新 block 费时费力,制造出新 block 的几率好象买彩票中大奖,还有那么多人去执行程序计算出新 block 呢?答案是,每个制造出新 block 的人,都有权利构造一条帐单声明老天给了我 50 BTC 。这个规则是被所有 BTC 用户共同承认的。把制造 block 等同于成挖金矿 (mining) 只是一个形象上的比喻。实际上,没有人可以把金子挖出来囤积。每个新 block 必须包含全局表上的上一个 block 的 hash 值,BTC 网络自我调节难度,让每 10 分钟大约产生一个新 block 。如果你 10 分钟内没制造出新的 block ,差不多就是说你前面 10 分钟干的活白干了。从最新版的 block 继续演算。

所以更恰当的比喻是买彩票。一个每 10 分钟开一次的彩票。你不停的花钱买,10 分钟内开中了就是你的,开不中先买的都作废,然后下一轮。


数学上怎样保证 mining 的过程需要消耗大量的 CPU 时间?并只有很小的几率成功?

这里用到一个叫做 
Hashcash 的系统。它最早是为了改善 email spam 的问题被发明出来的。

就是给一段特定信息(比如这封 email 是从谁发给谁)加一个特定的 hash 头。这个 hash 头需要大量的 CPU 时间计算出来。发 spam 的人没有那么多 CPU 时间为群发的每一封 email 计算一个符合要求的 hash 头,所以认为有这个合法 hash 头的 email 不太可能是 spam (花了 CPU 时间在上面)

这个算法就是,为你想保护的信息,找到一串数字,附加上去后,使用某种公认的 hash 算法,比如 SHA-2 ,算出一个 hash 值。如果 hash 值由一长串 0 打头(具体多少个决定了难度),那么就成功了。

为一段信息,找到这串数字,在目前来说,除了暴力尝试没有什么好的方法。也就是随机更换数字,换一次就 hash 一次比对。在一个可以预期的尝试次数后,一般都能找到想找的数字。

每个想 mining 赚 BTC 的人,不停的从 BTC 网络上监听信息。如果有人发布了新的合法的 block ,他就合并到本地的全局表里。并重置自己的计算过程,从新得到的 block 开始。如果有新发布的交易单,也记录下来。不断的把最新的 block 的 hash 值、新收到的交易单,自己获得 50 BTC 的那条奖励单合并在一起,计算 SHA-256 ,看看结果是否满足条件。一旦满足,就把这个新的 block 广播出去。

当足够的人认可它,(以它为基础计算后面的 block ),他也就获得了那 50 BTC 。


为了匹配 BTC 的经济规模。所有的 Bitcoin client 都被设置成,每 210000 个 block ,生产新 block 的人被认可凭空获得的 BTC 数量比之前的少一半(如果这个时候他还在包内写上自己获得 50 BTC ,其他人不会确认他的这个 block )。这会让 BTC 的总量增速变缓。新的 block 产生的速度是由难度来调节的。这个难度会由 p2p 网络根据最近生产 block 的速度自动调节。所以即使日后计算能力增加,也能保证大约 10 分钟一个的速度。

而且,随着生产新 block 的收益减少,愿意贡献自己的 CPU 来 mining 的节点也会变少。(如果减少太多,只需要减少难度即可)

最终,p2p 网络不再凭空制造出新的 BTC ,这个时候制造新的 block 的动力是什么呢?那就是交易税。因为没有什么人愿意生产新的 block ,发起交易就变的困难。(没有 block 可以容纳交易单)希望交易被确认的人可以声明,如果有人制造出新的 block 接纳他的交易单,他会支付一小笔交易税给他。当许多人都这么做的时候,制造 block 又变的有利可图了。只不过,直接上不再有新的 BTC 诞生,只是在这些 BTC 用户之间流通。

总有一些 BTC 会消失,主要是那些帐号的私匙丢失了,没有任何人可以转移走帐户上的钱。不能流通的货币就不是货币了。但最终 BTC 总体会达到一个比较大的规模,准确说是两千一百万个。但 BTC 本身是可以切割的,比如你可以支付给别人 0.01 个 BTC 。所以 BTC 本身会升值,总数也一直够用

转载于:https://www.cnblogs.com/carl2380/p/4949332.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值