您的位置:首页 > 其它

软件研发中的冲突及解决之道

2012-03-02 10:46 344 查看
1、软件项目在研发过程中牵涉到很多利益相关方,这些相关方因为关注角度的不同,会产生很多矛盾冲突。这些冲突,轻则打击士气,拖延项目的进度,重则使 项目无法正常进行。在我这些年的软件项目管理工作中,遇到过各种各样的冲突,其中最常见的有:项目开发周期的冲突和团队内部人际关系的冲突。
软件项目的研发周期,本来是应该根据项目工作量和开发人员情况来估算的。但现实中,往往会受到市场部门以及公司高层的干涉。他们从产品销售的角度考 虑,希望软件产品越早发布越好,在他们眼里软件开发弹性极大,只要给的压力足够大,就可以成功地将开发周期缩短。作为开发人员,我很清楚如果按照他们的要 求随意确定开发周期,就意味着无休止的加班、低沉的士气以及进度的一再拖延。这就有了冲突,因为双方都觉得自己有道理而不愿让步。出现这种情况时,互相妥 协是唯一的办法。项目主管可以通过安排适量的加班,削减或者推迟部分功能的办法来做出一定的让步,但这种妥协一定要有底线,过度的妥协会导致一个无法达成
的开发进度计划,对项目造成极大的伤害。
如果说上述冲突是“外患”的话,那项目团队内部的人际冲突就是“内忧”。软件开发人员往往表面看似低调,其实内心骄傲,他们对自己的智力充满了自 信,最无法容忍的就是自己的工作成果被否定。进行Code Review及Bug责任人确定时,最容易引起内部冲突。处理这种冲突有赖于项目主管的管理技巧以及公平的处事原则,同时把“对事不对人”的工作态度灌输 给项目中的每个成员。冲突发生时,既要坚持原则,有理有据地作出分析,也要注意照顾双方的情绪,多做安抚工作。
总之,软件研发过程中的冲突无法避免,但也不是洪水猛兽,只要积极应对,就可以将负面影响降到最低。

2、
时区/地域冲突
这是一种客观冲突。全球性的研发团队包含了来自不同时区和地域的工程师,在这种情况下,应该采用哪些“协作”方法来降低冲突带来的负面影响?处理这 种冲突的关键在于提高沟通的质量,一方面要尽量不影响各地工程师的正常作息,另一方面要通过合适的安排来最大限度地利用时间差。我有以下建议。
1. 团队例会时间由各个地区的工程师共同商议确定,选择一个大家都“醒着”的时间段,如果困难,则采用定期轮换的方式让大家公平地“享受”熬夜。开会采用视频 或者电话形式,不鼓励使用文字交流,书面会议纪要由团队成员轮流记录。会议之前确定议题方案、备选方案、决策规则等,提前发给团队成员,开会时直奔主题, 不延时。会议纪要必须包含下一步的行动计划,具体到每个人,得到大家认可后立即散会。
2. 工作安排上,尽量利用时间差。换句话说,在某时区白天工作的成员要把当天的结果通过邮件等书面形式及时反馈给另一时区(稍后上班)的同事,形成良性循环, 以便大家都能够在自己上班时看到前一时区同事的反馈并据此开展工作,然后在自己下班时将进展和问题反映给后面时区的同事。
新旧“势力”冲突
这是一种主观冲突。随着技术的不断发展,研发团队经常尝试引入一些技术或者方法,在这个过程中,新旧势力会发生冲突。当事一方是项目经理或者架构 师,他们对新技术充满信心,并想尽快实践;另一方是团队普通成员,他们已经习惯了手头的老技术,应用自如,对新技术的实际作用存在疑问,不愿尝试。如果不 能很好地解决,必然导致双方互相埋怨,新技术推广艰难。分析其中原因,除了必要的沟通,还需务实的计划和实践。我有以下建议。
1. 引入新技术和方法前,通过学习会议等形式让所有成员对新技术有充分的了解,但不要强制他们认可并马上实践。
2. 制订循序渐进的增量引入计划,不要立即整个抛弃老技术,请团队成员一点一滴地试用新技术,逐步习惯甚至喜欢上它。
3. 在技术过渡阶段,团队负责人和架构师等要实践其中,不能置身事外指指点点,及时听取团队各个成员的反馈,并作出相应调整。
4. 定期召开团队会议,让成员根据自己的实践结果对新旧技术做评价对比,培养认可新技术的氛围。时机成熟后,大规模采用新技术。
5. 新技术引入后期阶段,团队管理层对成员表现进行肯定和奖励。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: