论文部分内容阅读
在软件开发的过程中,需求项如果没有经过深入协商,并且没有在各涉众之间达成一致,会对后期的开发带来不必要的重复工作,导致开发成本上升,甚至项目失败。WinWin协商模型是一套指导多涉众共同协商,最终形成相互满意结论的的螺旋迭代协商理论,其代表工具是基于Wiki框架开发的WikiWinWin。Shaper是WinWin协商中的核心角色之一,负责维护、管理协商流程,总结归纳协商条目等工作。通过WinWin协商实践者的反馈了解到,Shaper主导的WinWin协商过程具有很大的不确定性,具体表现在:由于Shaper占据了较大工作比重且对后续协商起着衔接的作用,如果Shaper因为其它事务耽搁了协商工作,则整个协商过程都会因此而受影响;由于Shaper在协商时具有较大话语权,在总结归纳协商条目时容易将自身错误的认识注入到协商项目中。为此本文提出了以用户为主导的协商过程。以用户为主导的协商过程可以在所有用户的共同努力下,平衡工作负荷,从而在一定程度上避免了工作过于集中于Shaper所带来的不利影响。
本文的工作中,除了根据以用户主导的WinWin协商过程将Shaper的任务合理分配到各个用户,还对WikiWinWin需求协商工具进行了相应优化和改进,提高协商效率,缩短协商流程。本文第三章部分描述了主要的改进过程,将Shaper的协商工作分配到每个用户身上。将用户主导的协商过程和wiki的特性结合起来,用户可以利用版本记录和版本回滚中的信息进行修改并达成一致。
在工具改进完毕之后,本文描述了对两种不同主导的协商过程进行了对比实验。文中选取一个学生项目作为实验背景,然后要求背景相似的两组学生分别使用改进前后两种WinWin协商工具进行需求协商。实验前,首先就项目背景以及协商工具的操作对学生做相同程度的培训。实验过程中,针对协商过程中的Shaper工作时间、页面操作次数和等待时间等进行统计,分析对比结果。从实验结果可以发现,应用用户主导的协商过程能够均衡协商负荷,简化协商操作和缩短协商时间。
除了支持需求协商以外,以用户为主导的协商过程也能支持缺陷协商,得出各方涉众都满意的解决方案。通过分析NFS公司的缺陷反馈跟踪数据,其中部分记录因为缺少必要的协商,导致得出不完善的缺陷解决方案。这些不完善的方案对后续开发工作带来一系列的循环错误,增加重复劳动,浪费人力财力。根据对缺陷解决流程的分析和WinWin协商过程的理解,文中第五章部分选取40条缺陷跟踪数据,并将用户主导的协商工具对这些数据进行协商。通过结合所有涉众对缺陷解决的意见,得到相互满意的解决方案。最终邀请NFS资深员工对协商得出的方案进行评估,结果表明WikiWinWin能在一定程度上减少解决方案的误差,达成正确可行的解决方案。