识别开发路上的“拦路虎”
开发团队人际关系恶化是软件开发求生路上最大的拦路虎。邓士元认为耗资巨大的开发项目如果最终陷入困境,大部份原因不是技术问题,造成这种尴尬的局面的根本原因之一可能会是人际关系纷争的问题。因此,人际关系的成败往往能决定整个开发项目的成败。万幸的是,在软件开发团队中人际关系的纷争也并非完全不可预测。对其征兆进行识别将有助于避免团队人际关系的恶化,就是迈向解决纷争的第一步。
(1)意见不合,这是纷争出现时最明显的征兆。两个表面上声称相互合作的小组实际上却敌我相向。通常他们都会公开宣战,直接表露各自的不同意见,也会公开批评对方和相互指责,甚至在会议记录或电子邮件中直言不讳。
(2)“这不是我份内的事。”在这种情况下,各小组的技术人员对项目开发计划阳奉阴违,特别是需要相互配合的计划,他们往往表现为没有积极和主动承担开发项目应该做的事情。
(3)“到底谁是专家,你们干嘛不听我们的呢?”说这话的技术人员拥有资深“专家级”的知识,在与其他合作小组接触时,态度恶劣而且傲慢,用的是上级对下级发号施令的口吻,这往往对解决问题不但无事无补,反而会让需要合作的小组反感。
(4)保持缄默态度,让开发进度陷入僵局。这种矛盾的纷争最常见在于矛盾还没有完全激化和表面化。在需要不同技术组别发表意见和建议来制定和确认开发进度时,这种现象便经常出现;或者说在相互合作的技术小组之间,如果一方对维持合作关系置之不理时也会出现这种问题。
如果在软件开发中各技术小组不能有效合作,以上四种情况都有可能出现。他们可能会对谁该负责哪些领域、做些什么工作而争论不休,且各自都抱着“自扫门前雪”的态度,事不关己高高挂起。他们也许觉得有必要给别人提供建议和意见,却没必要理会别人给他们提出的建议和意见。例如,当本来是正常开发技术讨论之争升级为个人人身攻击的时候,就有可能敌我相向。然而,当事件最终恶化时,他们又极有可能在缄默中陷入僵局。这些都会成为极富韧性的软绳索,让软件开发陷入困境,动弹不得。